projects
/
connman
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
305e8ed
)
Indicate when signal strength of connection changes
author
Marcel Holtmann
<marcel@holtmann.org>
Mon, 15 Dec 2008 02:18:38 +0000
(
03:18
+0100)
committer
Marcel Holtmann
<marcel@holtmann.org>
Mon, 15 Dec 2008 02:18:38 +0000
(
03:18
+0100)
src/element.c
patch
|
blob
|
history
diff --git
a/src/element.c
b/src/element.c
index
a78a2be
..
72f4026
100644
(file)
--- a/
src/element.c
+++ b/
src/element.c
@@
-1139,6
+1139,9
@@
static void emit_property_changed(DBusConnection *conn,
case CONNMAN_ELEMENT_TYPE_NETWORK:
iface = CONNMAN_NETWORK_INTERFACE;
break;
case CONNMAN_ELEMENT_TYPE_NETWORK:
iface = CONNMAN_NETWORK_INTERFACE;
break;
+ case CONNMAN_ELEMENT_TYPE_CONNECTION:
+ iface = CONNMAN_CONNECTION_INTERFACE;
+ break;
default:
return;
}
default:
return;
}
@@
-1984,12
+1987,22
@@
void connman_element_unregister_children(struct connman_element *element)
static gboolean update_element(GNode *node, gpointer user_data)
{
struct connman_element *element = node->data;
static gboolean update_element(GNode *node, gpointer user_data)
{
struct connman_element *element = node->data;
+ struct connman_element *root = user_data;
DBG("element %p name %s", element, element->name);
if (element->driver && element->driver->update)
element->driver->update(element);
DBG("element %p name %s", element, element->name);
if (element->driver && element->driver->update)
element->driver->update(element);
+ if (element->type == CONNMAN_ELEMENT_TYPE_CONNECTION &&
+ root->type == CONNMAN_ELEMENT_TYPE_NETWORK) {
+ if (element->strength != root->strength) {
+ element->strength = root->strength;
+ emit_property_changed(connection, element, "Strength",
+ DBUS_TYPE_BYTE, &element->strength);
+ }
+ }
+
return FALSE;
}
return FALSE;
}
@@
-2003,7
+2016,7
@@
void connman_element_update(struct connman_element *element)
if (node != NULL)
g_node_traverse(node, G_PRE_ORDER,
if (node != NULL)
g_node_traverse(node, G_PRE_ORDER,
- G_TRAVERSE_ALL, -1, update_element, NULL);
+ G_TRAVERSE_ALL, -1, update_element, element);
}
int connman_element_set_enabled(struct connman_element *element,
}
int connman_element_set_enabled(struct connman_element *element,