summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-01-04 16:33:56 +0100
committerMarcel Holtmann <marcel@holtmann.org>2009-01-04 16:33:56 +0100
commitc7799147ac67fe1670bf05e7ccb6beae80c0e300 (patch)
tree55477e14a95a4d8135abcb50caa22d3dfe3d2022 /src
parent9911ffd65ccd2d2cacfa1bf55ac70e3c1ec00a67 (diff)
downloadconnman-c7799147ac67fe1670bf05e7ccb6beae80c0e300.tar.gz
connman-c7799147ac67fe1670bf05e7ccb6beae80c0e300.tar.bz2
connman-c7799147ac67fe1670bf05e7ccb6beae80c0e300.zip
Add support for element based debugging
Diffstat (limited to 'src')
-rw-r--r--src/element.c27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/element.c b/src/element.c
index 2599e66c..2f860c0a 100644
--- a/src/element.c
+++ b/src/element.c
@@ -311,6 +311,27 @@ static void set_common_property(struct connman_element *element,
__connman_element_unlock(element);
}
+static void emit_element_signal(DBusConnection *conn, const char *member,
+ struct connman_element *element)
+{
+ DBusMessage *signal;
+
+ if (__connman_debug_enabled() == FALSE)
+ return;
+
+ DBG("conn %p member %s", conn, member);
+
+ if (element == NULL)
+ return;
+
+ signal = dbus_message_new_signal(element->path,
+ CONNMAN_DEBUG_INTERFACE, member);
+ if (signal == NULL)
+ return;
+
+ g_dbus_send_message(conn, signal);
+}
+
static void emit_enabled_signal(DBusConnection *conn,
struct connman_element *element)
{
@@ -1760,6 +1781,8 @@ static void register_element(gpointer data, gpointer user_data)
}
}
+ emit_element_signal(connection, "ElementAdded", element);
+
__connman_element_store(element);
if (started == FALSE)
@@ -1861,6 +1884,8 @@ static gboolean remove_element(GNode *node, gpointer user_data)
CONNMAN_NETWORK_INTERFACE);
}
+ emit_element_signal(connection, "ElementRemoved", element);
+
connman_element_unref(element);
return FALSE;
@@ -1911,6 +1936,8 @@ static gboolean update_element(GNode *node, gpointer user_data)
}
}
+ emit_element_signal(connection, "ElementUpdated", element);
+
return FALSE;
}