Bir dbus-call çağrısı var: dbus-gönder - sistem - print-reply --dest = org.freedesktop.ModemManager1 "/ org/freedesktop/ModemManager1/Modem/0 "org.freedesktop.DBus.Properties.Get dizesi: org.freedesktop.ModemManager1.Modem dizesi:" SignalQuality "Kabuk dbus-gönderen C içinde dbus çağrı
Ve aynı şeyi yapan basit bir C kodu yazmak istiyorum, iyi, C yol.
Beni, ben sınırlı başarı ile g_dbus_proxy aramaları denedi C
bu dönüştürmek gerekir anlamaya yardımcı olmak için bana mantıklı yeterli bilgi, ya da bir şey bulamıyorum.
#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;
}
Ama sürekli başarısız hatası ile başarısız:
denedim Böyle bir arabirim `org.freedesktop.DBus.Properties.Get' yolda nesne üzerinde/org/freedesktop'un/ModemManager1/Modem/0
Bunu nasıl alacağınıza dair herhangi bir fikir var mı?