带有数组的systemd dbus sd_bus_call_method()

时间:2016-11-09 09:46:42

标签: dbus systemd

我正在尝试使用systemd dbus修改一些代码。

方法调用如下所示:

res = sd_bus_call_method(bus,
    SERVICE_NAME,
    OBJECT_PATH,
    INTERFACE,
    "AddData",
    &error, &m,
    "ss",
    data->key,
    data->valyue);

现在我试图将其更改为:

res = sd_bus_call_method(bus,
    SERVICE_NAME,
    OBJECT_PATH,
    INTERFACE,
    "AddData",
    &error, &m,
    "(a(ss))",
    /* WHAT DO I PASS HERE? */);

我无法找到示例或文档,而且代码对我来说并不是很清楚。

1 个答案:

答案 0 :(得分:4)

事实证明这一切都非常简单。

我找不到sd_bus_call_method()的文档,但sd_bus_message_append()有一些很棒docs

res = sd_bus_call_method(bus,
    SERVICE_NAME,
    OBJECT_PATH,
    INTERFACE,
    "AddData",
    &error, &m,
    "(a(ss))",
    1, /* size of array */
    "hello",
    "world");
相关问题