diff options
author | Leena Gunda <leena.gunda@wipro.com> | 2010-10-29 01:12:21 +0200 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2010-10-29 10:40:37 +0200 |
commit | 0663c1943f5cbbcb7e887d9f312b77059ed21ca5 (patch) | |
tree | 4406e43eb9198d93d67c2bc401e7cb5d41f88c38 /gsupplicant | |
parent | f94c4e6632bd41537b48a63ce672f1935adc41fe (diff) | |
download | connman-0663c1943f5cbbcb7e887d9f312b77059ed21ca5.tar.gz connman-0663c1943f5cbbcb7e887d9f312b77059ed21ca5.tar.bz2 connman-0663c1943f5cbbcb7e887d9f312b77059ed21ca5.zip |
gsupplicant: Start wpa_supplicant daemon through introspection request
Fixes BMC#8750
Diffstat (limited to 'gsupplicant')
-rw-r--r-- | gsupplicant/supplicant.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 715bb203..375a3780 100644 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -2393,6 +2393,23 @@ static const char *g_supplicant_rule5 = "type=signal," static const char *g_supplicant_rule6 = "type=signal," "interface=" SUPPLICANT_INTERFACE ".Interface.Blob"; +static void invoke_introspect_method(void) +{ + DBusMessage *message; + + message = dbus_message_new_method_call(SUPPLICANT_SERVICE, + SUPPLICANT_PATH, + DBUS_INTERFACE_INTROSPECTABLE, + "Introspect"); + + if (message == NULL) + return; + + dbus_message_set_no_reply(message, TRUE); + dbus_connection_send(connection, message, NULL); + dbus_message_unref(message); +} + int g_supplicant_register(const GSupplicantCallbacks *callbacks) { connection = dbus_bus_get(DBUS_BUS_SYSTEM, NULL); @@ -2432,7 +2449,8 @@ int g_supplicant_register(const GSupplicantCallbacks *callbacks) supplicant_dbus_property_get_all(SUPPLICANT_PATH, SUPPLICANT_INTERFACE, service_property, NULL); - } + } else + invoke_introspect_method(); return 0; } |