diff options
Diffstat (limited to 'gsupplicant/supplicant.c')
-rwxr-xr-x | gsupplicant/supplicant.c | 45 |
1 files changed, 44 insertions, 1 deletions
diff --git a/gsupplicant/supplicant.c b/gsupplicant/supplicant.c index 86100ebe..992639d7 100755 --- a/gsupplicant/supplicant.c +++ b/gsupplicant/supplicant.c @@ -7739,7 +7739,7 @@ int g_supplicant_interface_connect(GSupplicantInterface *interface, interface_add_network_result, data, interface); } - } + } if (ret < 0) { g_free(data->path); @@ -7944,6 +7944,49 @@ int g_supplicant_interface_disconnect(GSupplicantInterface *interface, return ret; } +#if defined TIZEN_EXT +void g_supplicant_interface_remove_network(GSupplicantInterface *interface, + GSupplicantSSID *ssid) +{ + struct interface_data *data; + int ret; + + SUPPLICANT_DBG(""); + + if (!interface) + return; + + if (interface->network_path == NULL) + return; + + if (!interface->network_info.ssid) + return; + + if (memcmp(interface->network_info.ssid, ssid->ssid, ssid->ssid_len)) + return; + + if (interface->network_info.security != ssid->security) + return; + + data = dbus_malloc0(sizeof(*data)); + if (!data) + return; + + data->interface = interface; + data->path = g_strdup(interface->path); + + ret = supplicant_dbus_method_call(interface->path, + SUPPLICANT_INTERFACE ".Interface", "RemoveNetwork", + network_remove_params, network_remove_result, data, + interface); + + if (ret < 0) { + g_free(data->path); + dbus_free(data); + } +} +#endif + static void interface_p2p_find_result(const char *error, DBusMessageIter *iter, void *user_data) { |