aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2008-12-18 09:35:05 +0100
committerMarcel Holtmann <marcel@holtmann.org>2008-12-18 09:35:05 +0100
commitf545b6f84f7800b0619fbae6311d10f51be84d9c (patch)
tree9d42b005521f36adde4c48e0bbeef0f3d219a51f
parentbf26162084c361fa5716c92505365855bcc4dafe (diff)
downloadconnman-gnome-f545b6f84f7800b0619fbae6311d10f51be84d9c.tar.gz
Track signal strength of connections
-rw-r--r--common/connman-dbus.c15
1 files changed, 12 insertions, 3 deletions
diff --git a/common/connman-dbus.c b/common/connman-dbus.c
index d977c1b..c368e50 100644
--- a/common/connman-dbus.c
+++ b/common/connman-dbus.c
@@ -438,6 +438,10 @@ static void connection_changed(DBusGProxy *proxy, const char *property,
gboolean enabled = g_value_get_boolean(value);
gtk_tree_store_set(store, &iter,
CONNMAN_COLUMN_ENABLED, enabled, -1);
+ } else if (g_str_equal(property, "Strength") == TRUE) {
+ guint strength = g_value_get_uchar(value);
+ gtk_tree_store_set(store, &iter,
+ CONNMAN_COLUMN_STRENGTH, strength, -1);
}
}
@@ -447,7 +451,7 @@ static void connection_properties(DBusGProxy *proxy, GHashTable *hash,
GtkTreeStore *store = user_data;
GValue *value;
const gchar *name;
- guint type;
+ guint type, strength;
gboolean enabled;
GtkTreeIter iter;
@@ -457,6 +461,9 @@ static void connection_properties(DBusGProxy *proxy, GHashTable *hash,
value = g_hash_table_lookup(hash, "Type");
type = get_type(value);
+ value = g_hash_table_lookup(hash, "Strength");
+ strength = value ? g_value_get_uchar(value) : 0;
+
value = g_hash_table_lookup(hash, "Default");
enabled = value ? g_value_get_boolean(value) : FALSE;
@@ -466,7 +473,8 @@ static void connection_properties(DBusGProxy *proxy, GHashTable *hash,
gtk_tree_store_insert_with_values(store, &iter, NULL, -1,
CONNMAN_COLUMN_PROXY, proxy,
CONNMAN_COLUMN_TYPE, type,
- CONNMAN_COLUMN_ENABLED, enabled, -1);
+ CONNMAN_COLUMN_ENABLED, enabled,
+ CONNMAN_COLUMN_STRENGTH, strength, -1);
dbus_g_proxy_add_signal(proxy, "PropertyChanged",
G_TYPE_STRING, G_TYPE_VALUE, G_TYPE_INVALID);
@@ -476,7 +484,8 @@ static void connection_properties(DBusGProxy *proxy, GHashTable *hash,
gtk_tree_store_set(store, &iter,
CONNMAN_COLUMN_NAME, name,
CONNMAN_COLUMN_TYPE, type,
- CONNMAN_COLUMN_ENABLED, enabled, -1);
+ CONNMAN_COLUMN_ENABLED, enabled,
+ CONNMAN_COLUMN_STRENGTH, strength, -1);
done:
g_object_unref(proxy);