diff options
author | Marcel Holtmann <marcel@holtmann.org> | 2009-09-19 04:14:16 -0700 |
---|---|---|
committer | Marcel Holtmann <marcel@holtmann.org> | 2009-09-19 04:14:16 -0700 |
commit | 3890dce1fbfaeb6e0e339f120dcc2bac5ed5dfcb (patch) | |
tree | 1a6ca58ee8e5632471f8c3958b789316a309015b | |
parent | d37b8361defe3144800c2aa275f8b0e49b4b2cb5 (diff) | |
download | connman-3890dce1fbfaeb6e0e339f120dcc2bac5ed5dfcb.tar.gz connman-3890dce1fbfaeb6e0e339f120dcc2bac5ed5dfcb.tar.bz2 connman-3890dce1fbfaeb6e0e339f120dcc2bac5ed5dfcb.zip |
Add support for network roaming property
-rw-r--r-- | include/network.h | 6 | ||||
-rw-r--r-- | src/network.c | 56 |
2 files changed, 62 insertions, 0 deletions
diff --git a/include/network.h b/include/network.h index b892d2b8..3558d5a3 100644 --- a/include/network.h +++ b/include/network.h @@ -89,11 +89,17 @@ int connman_network_set_name(struct connman_network *network, const char *name); int connman_network_set_strength(struct connman_network *network, connman_uint8_t strength); +int connman_network_set_roaming(struct connman_network *network, + connman_bool_t roaming); int connman_network_set_string(struct connman_network *network, const char *key, const char *value); const char *connman_network_get_string(struct connman_network *network, const char *key); +int connman_network_set_bool(struct connman_network *network, + const char *key, connman_bool_t value); +connman_bool_t connman_network_get_bool(struct connman_network *network, + const char *key); int connman_network_set_uint8(struct connman_network *network, const char *key, connman_uint8_t value); connman_uint8_t connman_network_get_uint8(struct connman_network *network, diff --git a/src/network.c b/src/network.c index b7cc82f7..7e842f8f 100644 --- a/src/network.c +++ b/src/network.c @@ -39,6 +39,7 @@ struct connman_network { connman_bool_t secondary; connman_bool_t available; connman_bool_t connected; + connman_bool_t roaming; connman_bool_t hidden; connman_uint8_t strength; connman_uint16_t frequency; @@ -964,6 +965,24 @@ int connman_network_set_strength(struct connman_network *network, } /** + * connman_network_set_roaming: + * @network: network structure + * @roaming: roaming state + * + * Set roaming state for network + */ +int connman_network_set_roaming(struct connman_network *network, + connman_bool_t roaming) +{ + DBG("network %p roaming %d", network, roaming); + + network->roaming = roaming; + + return connman_element_set_bool(&network->element, + "Roaming", roaming); +} + +/** * connman_network_set_string: * @network: network structure * @key: unique identifier @@ -1028,6 +1047,43 @@ const char *connman_network_get_string(struct connman_network *network, } /** + * connman_network_set_bool: + * @network: network structure + * @key: unique identifier + * @value: boolean value + * + * Set boolean value for specific key + */ +int connman_network_set_bool(struct connman_network *network, + const char *key, connman_bool_t value) +{ + DBG("network %p key %s value %d", network, key, value); + + if (g_strcmp0(key, "Roaming") == 0) + return connman_network_set_roaming(network, value); + + return connman_element_set_bool(&network->element, key, value); +} + +/** + * connman_network_get_bool: + * @network: network structure + * @key: unique identifier + * + * Get boolean value for specific key + */ +connman_bool_t connman_network_get_bool(struct connman_network *network, + const char *key) +{ + DBG("network %p key %s", network, key); + + if (g_str_equal(key, "Roaming") == TRUE) + return network->roaming; + + return connman_element_get_bool(&network->element, key); +} + +/** * connman_network_set_uint8: * @network: network structure * @key: unique identifier |