From 395dd8dd9fb6fb1bf989a5bdb1b9374ab74f321f Mon Sep 17 00:00:00 2001 From: "hyunuk.tak" Date: Fri, 18 Sep 2020 15:53:22 +0900 Subject: [PATCH] Add to load/save frequency of config Change-Id: Ic904fccd6aaaa324c3bd7ba8a7cc366f09467694 --- include/wifi-config.h | 1 + packaging/net-config.spec | 2 +- src/wifi-config.c | 32 +++++++++++++++++++++++++++++++- 3 files changed, 33 insertions(+), 2 deletions(-) diff --git a/include/wifi-config.h b/include/wifi-config.h index bb6a47d..92a8fea 100755 --- a/include/wifi-config.h +++ b/include/wifi-config.h @@ -35,6 +35,7 @@ extern "C" { #define WIFI_CONFIG_AUTOCONNECT "AutoConnect" #define WIFI_CONFIG_MODIFIED "Modified" #define WIFI_CONFIG_HIDDEN "Hidden" +#define WIFI_CONFIG_FREQUENCY "Frequency" #define WIFI_CONFIG_CREATED "Created" #define WIFI_CONFIG_IPV4_METHOD "IPv4.method" #define WIFI_CONFIG_IPV6_METHOD "IPv6.method" diff --git a/packaging/net-config.spec b/packaging/net-config.spec index 803dcd7..65a60db 100755 --- a/packaging/net-config.spec +++ b/packaging/net-config.spec @@ -1,6 +1,6 @@ Name: net-config Summary: TIZEN Network Configuration service -Version: 1.2.3 +Version: 1.2.4 Release: 3 Group: System/Network License: Apache-2.0 diff --git a/src/wifi-config.c b/src/wifi-config.c index d1ee392..f889209 100755 --- a/src/wifi-config.c +++ b/src/wifi-config.c @@ -94,6 +94,7 @@ struct wifi_config { gchar *proxy_address; struct wifi_eap_config *eap_config; wifi_ip_info_s *ip_info; + guint frequency; gchar *last_error; }; @@ -357,8 +358,11 @@ static gboolean _load_configuration(const gchar *interface_name, config->is_hidden = g_strdup("FALSE"); DBG("is_hidden [%s]", config->is_hidden); + config->frequency = g_key_file_get_integer(keyfile, group_name, WIFI_CONFIG_FREQUENCY, NULL); + if (config->frequency) + DBG("Frequency [%d]", config->frequency); + if (config->ip_info) { - GError *error = NULL; config->ip_info->ip_type = g_key_file_get_string(keyfile, group_name, WIFI_CONFIG_IPV4_METHOD, NULL); if (config->ip_info->ip_type) @@ -373,6 +377,7 @@ static gboolean _load_configuration(const gchar *interface_name, in_addr_t addr; struct in_addr netmask; char *mask; + GError *error = NULL; prefix_len = g_key_file_get_integer(keyfile, group_name, WIFI_CONFIG_IPV4_SUBNET_MASK, &error); if (error != NULL) { @@ -1101,6 +1106,7 @@ gboolean handle_load_configuration(Wifi *wifi, GDBusMethodInvocation *context, g_variant_builder_add(b, "{sv}", WIFI_CONFIG_SECURITY_TYPE, g_variant_new_string(conf->security_type)); g_variant_builder_add(b, "{sv}", WIFI_CONFIG_PASSPHRASE, g_variant_new_string(conf->passphrase)); g_variant_builder_add(b, "{sv}", WIFI_CONFIG_HIDDEN, g_variant_new_string(conf->is_hidden)); + g_variant_builder_add(b, "{sv}", WIFI_CONFIG_FREQUENCY, g_variant_new_int32(conf->frequency)); if (conf->proxy_address != NULL) g_variant_builder_add(b, "{sv}", WIFI_CONFIG_PROXYADDRESS, g_variant_new_string(conf->proxy_address)); @@ -1222,6 +1228,13 @@ gboolean handle_save_configuration(Wifi *wifi, GDBusMethodInvocation *context, } else { conf->is_hidden = NULL; } + } else if (g_strcmp0(field, WIFI_CONFIG_FREQUENCY) == 0) { + if (g_variant_is_of_type(value, G_VARIANT_TYPE_INT32)) { + conf->frequency = g_variant_get_int32(value); + DBG("frequency [%d]", conf->frequency); + } else { + conf->frequency = 0; + } } else if (g_strcmp0(field, WIFI_CONFIG_CREATED) == 0) { if (g_variant_is_of_type(value, G_VARIANT_TYPE_BOOLEAN)) { conf->is_created = g_variant_get_boolean(value); @@ -1365,6 +1378,10 @@ gboolean handle_save_configuration(Wifi *wifi, GDBusMethodInvocation *context, g_key_file_set_boolean(keyfile, group_name, WIFI_CONFIG_HIDDEN, hidden); } + if (conf->frequency > 0) + g_key_file_set_integer(keyfile, group_name, + WIFI_CONFIG_FREQUENCY, conf->frequency); + if (conf->ip_info->ip_type != NULL) g_key_file_set_string(keyfile, group_name, WIFI_CONFIG_IPV4_METHOD, conf->ip_info->ip_type); @@ -1463,6 +1480,8 @@ gboolean handle_load_eap_configuration(Wifi *wifi, GDBusMethodInvocation *contex g_variant_builder_add(b, "{sv}", WIFI_CONFIG_NAME, g_variant_new_string(conf->name)); g_variant_builder_add(b, "{sv}", WIFI_CONFIG_SECURITY_TYPE, g_variant_new_string(conf->security_type)); g_variant_builder_add(b, "{sv}", WIFI_CONFIG_HIDDEN, g_variant_new_string(conf->is_hidden)); + g_variant_builder_add(b, "{sv}", WIFI_CONFIG_FREQUENCY, g_variant_new_int32(conf->frequency)); + if (conf->proxy_address != NULL) g_variant_builder_add(b, "{sv}", WIFI_CONFIG_PROXYADDRESS, g_variant_new_string(conf->proxy_address)); else @@ -1577,6 +1596,13 @@ gboolean handle_save_eap_configuration(Wifi *wifi, GDBusMethodInvocation *contex } else { conf->is_hidden = NULL; } + } else if (g_strcmp0(field, WIFI_CONFIG_FREQUENCY) == 0) { + if (g_variant_is_of_type(value, G_VARIANT_TYPE_INT32)) { + conf->frequency = g_variant_get_int32(value); + DBG("frequency [%d]", conf->frequency); + } else { + conf->frequency = 0; + } } else if (g_strcmp0(field, WIFI_CONFIG_CREATED) == 0) { if (g_variant_is_of_type(value, G_VARIANT_TYPE_BOOLEAN)) { conf->is_created = g_variant_get_boolean(value); @@ -1704,6 +1730,10 @@ gboolean handle_save_eap_configuration(Wifi *wifi, GDBusMethodInvocation *contex g_key_file_set_boolean(keyfile, group_name, WIFI_CONFIG_HIDDEN, hidden); } + if (conf->frequency > 0) + g_key_file_set_integer(keyfile, group_name, + WIFI_CONFIG_FREQUENCY, conf->frequency); + if (conf->eap_config->anonymous_identity != NULL) g_key_file_set_string(keyfile, group_name, WIFI_CONFIG_EAP_ANONYMOUS_IDENTITY, conf->eap_config->anonymous_identity); -- 2.34.1