<div dir="ltr"><div>Hello,</div><div><br></div><div>I am trying to communicate with connman using sdbus from my application. Basically I want to replicate the following cmd line procedure to get values for "object path" and string "Host" (underlined below)<br></div><div>I do<br></div><div><i>dbus-send --system              --dest=net.connman.vpn   --type=method_call            --print-reply                 /        net.connman.vpn.Manager.GetConnections</i></div><div><br></div><div>and I get</div><div><i>   array [<br>      struct {<br>         <u>object path "/net/connman/vpn/connection</u>/uk_london_privateinternetaccess_com_privateinternetaccess_com"<br>         array [<br>            dict entry(<br>               string "State"<br>               variant                   string "idle"<br>            )<br>            dict entry(<br>               string "Type"<br>               variant                   string "openvpn"<br>            )<br>            dict entry(<br>               string "Name"<br>               variant                   string "PIA VPN"<br>            )<br>            dict entry(<br>               string "Host"<br>               <u>variant                   string "<a href="http://uk-london.privateinternetaccess.com">uk-london.privateinternetaccess.com</a>"</u><br>            )<br>            dict entry(<br>               string "Index"<br>               variant                   int32 0<br>            )<br>            dict entry(<br>               string "Domain"<br>               variant                   string "<a href="http://privateinternetaccess.com">privateinternetaccess.com</a>"<br>            )<br>            dict entry(<br>               string "Immutable"<br>               variant                   boolean true<br>            )<br>            dict entry(<br>               string "Nameservers"<br>               variant                   array [<br>                  ]<br>            )<br>            dict entry(<br>               string "UserRoutes"<br>               variant                   array [<br>                  ]<br>            )<br>            dict entry(<br>               string "ServerRoutes"<br>               variant                   array [<br>                  ]<br>            )<br>         ]<br>      }<br>   ]</i></div><div><i><br></i></div><div><br></div><div>In my application I am doing</div><div>       r = sd_bus_call_method( bus,<br>                                           "net.connman.vpn",<br>                                           "/",<br>                                           "net.connman.vpn.Manager",<br>                                           "GetConnections",<br>                                           &error,<br>                                           &m,  NULL, NULL);<i><br></i></div><div><i><br></i></div><div>Which succeeds. <br></div><div>Afterwards I want to do  sd_bus_message_read(m, "a(oa{sv})") but I have no idea what kind of arguments should I pass in what order to get object path and host string. I think I got the a(oa{sv}) part right?<br></div><div><br></div><div>Any help would be much appreciated</div><div><br></div><div>Salman<br></div></div>