From c7799147ac67fe1670bf05e7ccb6beae80c0e300 Mon Sep 17 00:00:00 2001 From: Marcel Holtmann Date: Sun, 4 Jan 2009 16:33:56 +0100 Subject: [PATCH] Add support for element based debugging --- include/dbus.h | 1 + src/element.c | 27 +++++++++++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/include/dbus.h b/include/dbus.h index 895a96d..77766c7 100644 --- a/include/dbus.h +++ b/include/dbus.h @@ -30,6 +30,7 @@ extern "C" { #define CONNMAN_SERVICE "org.moblin.connman" +#define CONNMAN_DEBUG_INTERFACE CONNMAN_SERVICE ".Debug" #define CONNMAN_ERROR_INTERFACE CONNMAN_SERVICE ".Error" #define CONNMAN_AGENT_INTERFACE CONNMAN_SERVICE ".Agent" diff --git a/src/element.c b/src/element.c index 2599e66..2f860c0 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; } -- 2.7.4