2016-11-09 8 views
0

systemd dbusを使用していくつかのコードを修正しようとしています。Systemd dbus sd_bus_call_method()(配列あり)

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? */); 

私は例やドキュメントを見つけることができないと、コードはスーパー明確ではありません私に。

答えて

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"); 
関連する問題