const gchar *ifname, const gchar *config_id, GVariant *configuration);
gboolean handle_remove_configuration(Wifi *wifi, GDBusMethodInvocation *context,
const gchar *ifname, const gchar *config_id);
+gboolean handle_reset_wifi_config(Wifi *wifi, GDBusMethodInvocation *context);
gboolean handle_set_config_field(Wifi *wifi, GDBusMethodInvocation *context,
const gchar *ifname, const gchar *config_id, const gchar *key, const gchar *value);
gboolean handle_get_config_passphrase(Wifi *wifi, GDBusMethodInvocation *context,
<method name="DeleteEapConfig">
<arg type="s" name="Profile" direction="in"/>
</method>
+ <method name="ResetWifiConfig">
+ </method>
<method name="IpConflictSetEnable">
<arg type="s" name="ifname" direction="in"/>
<arg type="b" name="detect" direction="in"/>
<allow send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="LoadEapConfiguration" />
<allow send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="SaveEapConfiguration" />
<allow send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="RemoveConfiguration" />
+ <allow send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="ResetWifiConfig" />
<allow send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="SetConfigField" />
<allow send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="PowerOnCompleted" />
<allow send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="PowerOffCompleted" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="LoadEapConfiguration" privilege="http://tizen.org/privilege/network.profile" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="SaveEapConfiguration" privilege="http://tizen.org/privilege/network.profile" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="RemoveConfiguration" privilege="http://tizen.org/privilege/network.profile" />
+ <check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="ResetWifiConfig" privilege="http://tizen.org/privilege/network.profile" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="SetConfigField" privilege="http://tizen.org/privilege/network.profile" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="PowerOnCompleted" privilege="http://tizen.org/privilege/network.get" />
<check send_destination="net.netconfig" send_interface="net.netconfig.wifi" send_member="PowerOffCompleted" privilege="http://tizen.org/privilege/network.get" />
return TRUE;
}
+gboolean handle_reset_wifi_config(Wifi *wifi, GDBusMethodInvocation *context)
+{
+ DIR *dir_ptr = NULL;
+ struct dirent *file = NULL;
+ struct stat buf;
+ char dir_name[512] = { 0, };
+ char file_name[1024] = { 0, };
+
+ g_return_val_if_fail(wifi != NULL, TRUE);
+
+ DBG("Try to remove connman Wi-Fi config files...");
+
+ if ((dir_ptr = opendir(CONNMAN_STORAGE)) != NULL) {
+ while ((file = readdir(dir_ptr)) != NULL) {
+ if (strncmp(file->d_name, ".", 1) == 0 || strncmp(file->d_name, "..", 2) == 0 ||
+ strncmp(file->d_name, WIFI_CONFIG_PREFIX, strlen(WIFI_CONFIG_PREFIX)) != 0) {
+ continue;
+ }
+
+ snprintf(dir_name, 512, CONNMAN_STORAGE"/%s", file->d_name);
+
+ if (lstat(dir_name, &buf) == -1)
+ continue;
+
+ DBG("Remove wifi config: %s", file->d_name);
+
+ if (S_ISDIR(buf.st_mode)) {
+ memset(file_name, 0, 1024);
+ snprintf(file_name, 1024, "%s/data", dir_name);
+ unlink(file_name);
+ memset(file_name, 0, 1024);
+ snprintf(file_name, 1024, "%s/settings", dir_name);
+ unlink(file_name);
+ }
+ rmdir(dir_name);
+ }
+
+ closedir(dir_ptr);
+ sync();
+ }
+
+ wifi_complete_reset_wifi_config(wifi, context);
+
+ return TRUE;
+}
+
/* config field key / value */
/*
* [wifi_macaddress_config_id]
G_CALLBACK(handle_save_configuration), NULL);
g_signal_connect(wifi_object, "handle-remove-configuration",
G_CALLBACK(handle_remove_configuration), NULL);
+ g_signal_connect(wifi_object, "handle-reset-wifi-config",
+ G_CALLBACK(handle_reset_wifi_config), NULL);
g_signal_connect(wifi_object, "handle-get-config-ids",
G_CALLBACK(handle_get_config_ids), NULL);
g_signal_connect(wifi_object, "handle-load-configuration",