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