我正在尝试使用 systemd dbus 修改一些代码。
方法调用如下所示:
res = sd_bus_call_method(bus,
SERVICE_NAME,
OBJECT_PATH,
INTERFACE,
"AddData",
&error, &m,
"ss",
data->key,
data->valyue);
Run Code Online (Sandbox Code Playgroud)
现在我正在尝试将其更改为:
res = sd_bus_call_method(bus,
SERVICE_NAME,
OBJECT_PATH,
INTERFACE,
"AddData",
&error, &m,
"(a(ss))",
/* WHAT DO I PASS HERE? */);
Run Code Online (Sandbox Code Playgroud)
我找不到示例或文档,并且代码对我来说不是很清楚。
sd_bus_call_method() 是一个方便的函数,用于初始化总线消息对象并调用相应的 D-Bus 方法。它将 sd_bus_message_new_method_call(3)、sd_bus_message_append(3) 和 sd_bus_call(3) 函数组合为单个函数调用。
有关参数的详细信息可以在sd_bus_message_append()上找到。
res = sd_bus_call_method(bus,
SERVICE_NAME,
OBJECT_PATH,
INTERFACE,
"AddData",
&error, &m,
"(a(ss))",
1, /* size of array */
"hello",
"world");
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3723 次 |
| 最近记录: |