summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-09-19 04:14:16 -0700
committerMarcel Holtmann <marcel@holtmann.org>2009-09-19 04:14:16 -0700
commit3890dce1fbfaeb6e0e339f120dcc2bac5ed5dfcb (patch)
tree1a6ca58ee8e5632471f8c3958b789316a309015b
parentd37b8361defe3144800c2aa275f8b0e49b4b2cb5 (diff)
downloadconnman-3890dce1fbfaeb6e0e339f120dcc2bac5ed5dfcb.tar.gz
connman-3890dce1fbfaeb6e0e339f120dcc2bac5ed5dfcb.tar.bz2
connman-3890dce1fbfaeb6e0e339f120dcc2bac5ed5dfcb.zip
Add support for network roaming property
-rw-r--r--include/network.h6
-rw-r--r--src/network.c56
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