From 56970b2638b76dafbd4109962c54cb716815ab15 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Thu, 21 May 2009 12:07:09 -0700 Subject: [PATCH] Add helpers for setting network name and signal strength values --- include/network.h | 5 +++++ src/network.c | 46 +++++++++++++++++++++++++++++++++++++++++----- 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/include/network.h b/include/network.h index 0e827c5..3764e08 100644 --- a/include/network.h +++ b/include/network.h @@ -80,6 +80,11 @@ extern int connman_network_set_connected(struct connman_network *network, connman_bool_t connected); extern connman_bool_t connman_network_get_connected(struct connman_network *network); +extern int connman_network_set_name(struct connman_network *network, + const char *name); +extern int connman_network_set_strength(struct connman_network *network, + connman_uint8_t strength); + extern int connman_network_set_string(struct connman_network *network, const char *key, const char *value); extern const char *connman_network_get_string(struct connman_network *network, diff --git a/src/network.c b/src/network.c index 14330d8..70f4289 100644 --- a/src/network.c +++ b/src/network.c @@ -861,6 +861,42 @@ int __connman_network_disconnect(struct connman_network *network) } /** + * connman_network_set_name: + * @network: network structure + * @name: name value + * + * Set display name value for network + */ +int connman_network_set_name(struct connman_network *network, + const char *name) +{ + DBG("network %p name %s", network, name); + + g_free(network->name); + network->name = g_strdup(name); + + return connman_element_set_string(&network->element, "Name", name); +} + +/** + * connman_network_set_strength: + * @network: network structure + * @strength: strength value + * + * Set signal strength value for network + */ +int connman_network_set_strength(struct connman_network *network, + connman_uint8_t strength) +{ + DBG("network %p strengh %d", network, strength); + + network->strength = strength; + + return connman_element_set_uint8(&network->element, + "Strength", strength); +} + +/** * connman_network_set_string: * @network: network structure * @key: unique identifier @@ -873,12 +909,12 @@ int connman_network_set_string(struct connman_network *network, { DBG("network %p key %s value %s", network, key, value); + if (g_strcmp0(key, "Name") == 0) + return connman_network_set_name(network, value); + if (g_str_equal(key, "Address") == TRUE) { g_free(network->address); network->address = g_strdup(value); - } else if (g_str_equal(key, "Name") == TRUE) { - g_free(network->name); - network->name = g_strdup(value); } else if (g_str_equal(key, "Node") == TRUE) { g_free(network->node); network->node = g_strdup(value); @@ -937,8 +973,8 @@ int connman_network_set_uint8(struct connman_network *network, { DBG("network %p key %s value %d", network, key, value); - if (g_str_equal(key, "Strength") == TRUE) - network->strength = value; + if (g_strcmp0(key, "Strength") == 0) + return connman_network_set_strength(network, value); return connman_element_set_uint8(&network->element, key, value); } -- 2.7.4