Ich habe einen dbus-send-Aufruf: dbus-send --system --print-reply --dest = org.freedesktop.ModemManager1 "/ org/freedesktop/ModemManager1/Modem/0 "org.freedesktop.DBus.Properties.Get string: org.freedesktop.ModemManager1.Modem string:" SignalQuality "dbus call in C von shell dbus-send
Und ich würde gerne einen einfachen C-Code schreiben, der genau das Gleiche tut, na ja, C Weg.
Ich kann nicht genug Informationen, oder irgendetwas finden, das mich macht Sinn für mich zu helfen, herauszufinden, was ich das C konvertieren müssen
ich g_dbus_proxy Anrufe mit begrenztem Erfolg versucht haben.
Ich habe versucht:
#define MM_DBUS_SERVICE "org.freedesktop.ModemManager1"
#define MM_DBUS_PATH "/org/freedesktop/ModemManager1/Modem/0"
#define MM_DBUS_GET_PROPERTIES "org.freedesktop.DBus.Properties.Get"
proxy = g_dbus_proxy_new_for_bus_sync (G_BUS_TYPE_SYSTEM,
G_DBUS_PROXY_FLAGS_NONE,
NULL,
MM_DBUS_SERVICE,
MM_DBUS_PATH,
MM_DBUS_GET_PROPERTIES,
NULL, NULL);
ret = g_dbus_proxy_call_sync (proxy,
"SignalQuality",
NULL,
G_DBUS_CALL_FLAGS_NONE, -1,
NULL, &error);
if (!ret) {
g_dbus_error_strip_remote_error (error);
g_print ("failed: %s\n", error->message);
g_error_free (error);
return;
}
aber es funktioniert nicht ständig mit Fehlern fehlgeschlagen: Keine solche Schnittstelle `org.freedesktop.DBus.Properties.Get‘ auf Objekt auf Pfad/org/Freedesktop/ModemManager1/Modem/0
Irgendwelche Ideen, wie man das in Gang bringt?