Add to load/save frequency of config 01/244401/1
authorhyunuk.tak <hyunuk.tak@samsung.com>
Fri, 18 Sep 2020 06:53:22 +0000 (15:53 +0900)
committerhyunuk.tak <hyunuk.tak@samsung.com>
Fri, 18 Sep 2020 06:53:22 +0000 (15:53 +0900)
Change-Id: Ic904fccd6aaaa324c3bd7ba8a7cc366f09467694

include/wifi-config.h
packaging/net-config.spec
src/wifi-config.c

index bb6a47d..92a8fea 100755 (executable)
@@ -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"
index 803dcd7..65a60db 100755 (executable)
@@ -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
index d1ee392..f889209 100755 (executable)
@@ -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);