From: Daniel Wagner <[email protected]>

---
 include/network.h |    7 +----
 plugins/wifi.c    |    8 ++----
 src/config.c      |    2 +-
 src/network.c     |   67 ++++++++++++++++------------------------------------
 src/service.c     |   17 +++++++------
 5 files changed, 36 insertions(+), 65 deletions(-)

diff --git a/include/network.h b/include/network.h
index 7a026c2..d6cc27b 100644
--- a/include/network.h
+++ b/include/network.h
@@ -126,6 +126,7 @@ int connman_network_set_roaming(struct connman_network 
*network, connman_bool_t
 int connman_network_set_strength(struct connman_network *network, 
connman_uint8_t strength);
 int connman_network_set_frequency(struct connman_network *network, 
connman_uint16_t frequency);
 int connman_network_set_wifi_channel(struct connman_network *network, 
connman_uint16_t channel);
+int connman_network_set_wifi_ssid(struct connman_network *network, const 
unsigned char *ssid, unsigned int size);
 
 const char *connman_network_get_path(struct connman_network *network);
 const char *connman_network_get_name(struct connman_network *network);
@@ -147,11 +148,7 @@ connman_bool_t connman_network_get_wifi_use_wps(struct 
connman_network *network)
 connman_uint8_t connman_network_get_strength(struct connman_network *network);
 connman_uint16_t connman_network_get_frequency(struct connman_network 
*network);
 connman_uint16_t connman_network_get_wifi_channel(struct connman_network 
*network);
-
-int connman_network_set_blob(struct connman_network *network,
-                       const char *key, const void *data, unsigned int size);
-const void *connman_network_get_blob(struct connman_network *network,
-                                       const char *key, unsigned int *size);
+const unsigned char *connman_network_get_wifi_ssid(struct connman_network 
*network, unsigned int *size);
 
 struct connman_device *connman_network_get_device(struct connman_network 
*network);
 
diff --git a/plugins/wifi.c b/plugins/wifi.c
index bc145e5..19f006b 100644
--- a/plugins/wifi.c
+++ b/plugins/wifi.c
@@ -352,7 +352,7 @@ static void ssid_init(GSupplicantSSID *ssid, struct 
connman_network *network)
 
        memset(ssid, 0, sizeof(*ssid));
        ssid->mode = G_SUPPLICANT_MODE_INFRA;
-       ssid->ssid = connman_network_get_blob(network, "WiFi.SSID",
+       ssid->ssid = connman_network_get_wifi_ssid(network,
                                                &ssid->ssid_len);
        ssid->scan_ssid = 1;
        security = connman_network_get_wifi_security(network);
@@ -589,8 +589,7 @@ static connman_bool_t 
handle_wps_completion(GSupplicantInterface *interface,
 
                /* Checking if we got associated with requested
                 * network */
-               ssid = connman_network_get_blob(network, "WiFi.SSID",
-                                               &ssid_len);
+               ssid = connman_network_get_wifi_ssid(network, &ssid_len);
 
                wps_ssid = g_supplicant_interface_get_wps_ssid(
                        interface, &wps_ssid_len);
@@ -786,8 +785,7 @@ static void network_added(GSupplicantNetwork 
*supplicant_network)
        if (name != NULL && name[0] != '\0')
                connman_network_set_name(network, name);
 
-       connman_network_set_blob(network, "WiFi.SSID",
-                                               ssid, ssid_len);
+       connman_network_set_wifi_ssid(network, ssid, ssid_len);
        connman_network_set_wifi_security(network, security);
        connman_network_set_strength(network,
                                calculate_strength(supplicant_network));
diff --git a/src/config.c b/src/config.c
index b2b7904..7700db2 100644
--- a/src/config.c
+++ b/src/config.c
@@ -779,7 +779,7 @@ static void provision_service(gpointer key, gpointer value, 
gpointer user_data)
                return;
        }
 
-       ssid = connman_network_get_blob(network, "WiFi.SSID", &ssid_len);
+       ssid = connman_network_get_wifi_ssid(network, &ssid_len);
        if (ssid == NULL) {
                connman_error("Network SSID not set");
                return;
diff --git a/src/network.c b/src/network.c
index 80a0383..84256ee 100644
--- a/src/network.c
+++ b/src/network.c
@@ -1484,6 +1484,23 @@ int connman_network_set_wifi_channel(struct 
connman_network *network,
        return 0;
 }
 
+int connman_network_set_wifi_ssid(struct connman_network *network,
+                                       const unsigned char *ssid, unsigned int 
size)
+{
+       DBG("network %p", network);
+
+       g_free(network->wifi.ssid);
+       network->wifi.ssid = g_try_malloc(size);
+       if (network->wifi.ssid != NULL) {
+               memcpy(network->wifi.ssid, ssid, size);
+               network->wifi.ssid_len = size;
+       } else {
+               network->wifi.ssid_len = 0;
+       }
+
+       return 0;
+}
+
 const char *connman_network_get_name(struct connman_network *network)
 {
        return network->name;
@@ -1584,53 +1601,11 @@ connman_uint16_t 
connman_network_get_wifi_channel(struct connman_network *networ
        return network->wifi.channel;
 }
 
-/**
- * connman_network_set_blob:
- * @network: network structure
- * @key: unique identifier
- * @data: blob data
- * @size: blob size
- *
- * Set binary blob value for specific key
- */
-int connman_network_set_blob(struct connman_network *network,
-                       const char *key, const void *data, unsigned int size)
-{
-       DBG("network %p key %s size %d", network, key, size);
-
-       if (g_str_equal(key, "WiFi.SSID") == TRUE) {
-               g_free(network->wifi.ssid);
-               network->wifi.ssid = g_try_malloc(size);
-               if (network->wifi.ssid != NULL) {
-                       memcpy(network->wifi.ssid, data, size);
-                       network->wifi.ssid_len = size;
-               } else
-                       network->wifi.ssid_len = 0;
-       }
-
-       return connman_element_set_blob(&network->element, key, data, size);
-}
-
-/**
- * connman_network_get_blob:
- * @network: network structure
- * @key: unique identifier
- * @size: pointer to blob size
- *
- * Get binary blob value for specific key
- */
-const void *connman_network_get_blob(struct connman_network *network,
-                                       const char *key, unsigned int *size)
+const unsigned char *connman_network_get_wifi_ssid(struct connman_network 
*network, unsigned int *size)
 {
-       DBG("network %p key %s", network, key);
-
-       if (g_str_equal(key, "WiFi.SSID") == TRUE) {
-               if (size != NULL)
-                       *size = network->wifi.ssid_len;
-               return network->wifi.ssid;
-       }
-
-       return connman_element_get_blob(&network->element, key, size);
+       if (size != NULL)
+               *size = network->wifi.ssid_len;
+       return network->wifi.ssid;
 }
 
 void __connman_network_set_device(struct connman_network *network,
diff --git a/src/service.c b/src/service.c
index 9a983fd..567b3c6 100644
--- a/src/service.c
+++ b/src/service.c
@@ -3708,7 +3708,7 @@ static connman_bool_t prepare_network(struct 
connman_service *service)
        case CONNMAN_NETWORK_TYPE_VENDOR:
                return FALSE;
        case CONNMAN_NETWORK_TYPE_WIFI:
-               if (connman_network_get_blob(service->network, "WiFi.SSID",
+               if (connman_network_get_wifi_ssid(service->network,
                                                        &ssid_len) == NULL)
                        return FALSE;
 
@@ -4042,7 +4042,7 @@ static struct connman_network *create_hidden_wifi(struct 
connman_device *device,
        if (network == NULL)
                return NULL;
 
-       connman_network_set_blob(network, "WiFi.SSID",
+       connman_network_set_wifi_ssid(network,
                                        (unsigned char *) ssid, ssid_len);
 
        connman_network_set_wifi_mode(network, mode);
@@ -5031,8 +5031,8 @@ static int service_load(struct connman_service *service)
                }
 
                if (service->network &&
-                               connman_network_get_blob(service->network,
-                                       "WiFi.SSID", &ssid_len) == NULL) {
+                               connman_network_get_wifi_ssid(service->network,
+                                       &ssid_len) == NULL) {
                        gchar *hex_ssid;
 
                        hex_ssid = g_key_file_get_string(keyfile,
@@ -5056,8 +5056,9 @@ static int service_load(struct connman_service *service)
                                        ssid[j++] = hex;
                                }
 
-                               connman_network_set_blob(service->network,
-                                       "WiFi.SSID", ssid, hex_ssid_len / 2);
+                               connman_network_set_wifi_ssid(service->network,
+                                                       (unsigned char *)ssid,
+                                                       hex_ssid_len / 2);
                        }
 
                        g_free(hex_ssid);
@@ -5207,8 +5208,8 @@ update:
                        const unsigned char *ssid;
                        unsigned int ssid_len = 0;
 
-                       ssid = connman_network_get_blob(service->network,
-                                                       "WiFi.SSID", &ssid_len);
+                       ssid = connman_network_get_wifi_ssid(service->network,
+                                                               &ssid_len);
 
                        if (ssid != NULL && ssid_len > 0 && ssid[0] != '\0') {
                                char *identifier = service->identifier;
-- 
1.7.5.2

_______________________________________________
connman mailing list
[email protected]
http://lists.connman.net/listinfo/connman

Reply via email to