From da2657ed395994ec4018633f4f88a32adeed808c Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 15 Jan 2009 15:48:38 -0600 Subject: Adding in a basic listening test --- libindicate/tests/Makefile.am | 14 +++++++++++++- libindicate/tests/listen-and-print.c | 16 ++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 libindicate/tests/listen-and-print.c (limited to 'libindicate/tests') diff --git a/libindicate/tests/Makefile.am b/libindicate/tests/Makefile.am index 814a50b..208da5b 100644 --- a/libindicate/tests/Makefile.am +++ b/libindicate/tests/Makefile.am @@ -1,7 +1,8 @@ noinst_PROGRAMS = \ indicate-and-crash \ - indicate-alot + indicate-alot \ + listen-and-print indicate_and_crash_SOURCES = \ indicate-and-crash.c @@ -24,3 +25,14 @@ indicate_alot_CFLAGS = \ indicate_alot_LDADD = \ ../libindicate.la \ $(LIBINDICATE_LIBS) + +listen_and_print_SOURCES = \ + listen-and-print.c + +listen_and_print_CFLAGS = \ + -I $(srcdir)/../.. \ + $(LIBINDICATE_CFLAGS) + +listen_and_print_LDADD = \ + ../libindicate.la \ + $(LIBINDICATE_LIBS) diff --git a/libindicate/tests/listen-and-print.c b/libindicate/tests/listen-and-print.c new file mode 100644 index 0000000..772e4f1 --- /dev/null +++ b/libindicate/tests/listen-and-print.c @@ -0,0 +1,16 @@ + +#include +#include "libindicate/listener.h" + + +int +main (int argc, char ** argv) +{ + g_type_init(); + + IndicateListener * listener = indicate_listener_new(); + + g_main_loop_run(g_main_loop_new(NULL, FALSE)); + + return 0; +} -- cgit v1.2.3 From fe3addbe95bcd54af249b315ee8d10be71005be8 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 15 Jan 2009 23:11:56 -0600 Subject: Changing the test to do the printing by itself instead of using the debug messages in the class itself --- libindicate/listener.c | 10 +++++----- libindicate/tests/listen-and-print.c | 35 +++++++++++++++++++++++++++++++++++ 2 files changed, 40 insertions(+), 5 deletions(-) (limited to 'libindicate/tests') diff --git a/libindicate/listener.c b/libindicate/listener.c index 75c7649..2c1f3b3 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -53,7 +53,7 @@ static void proxy_indicators_free (gpointer data); static void indicate_listener_class_init (IndicateListenerClass * class) { - g_debug("Listener Class Initialized"); + /* g_debug("Listener Class Initialized"); */ GObjectClass * gobj; gobj = G_OBJECT_CLASS(class); @@ -107,7 +107,7 @@ indicate_listener_class_init (IndicateListenerClass * class) static void indicate_listener_init (IndicateListener * listener) { - g_debug("Listener Object Initialized"); + /* g_debug("Listener Object Initialized"); */ GError *error = NULL; /* Get the buses */ @@ -208,7 +208,7 @@ dbus_owner_change (DBusGProxy * proxy, const gchar * name, const gchar * prev, c bus_name = "session"; } - g_debug("Name change on %s bus: '%s' from '%s' to '%s'", bus_name, name, prev, new); + /* g_debug("Name change on %s bus: '%s' from '%s' to '%s'", bus_name, name, prev, new); */ if (prev != NULL && prev[0] == '\0') { todo_list_add(name, proxy, listener); @@ -261,7 +261,7 @@ todo_list_add (const gchar * name, DBusGProxy * proxy, IndicateListener * listen bus = listener->session_bus; bus_name = "session"; } - g_debug ("Adding on %s bus: %s", bus_name, name); + /* g_debug ("Adding on %s bus: %s", bus_name, name); */ proxy_todo_t todo; todo.name = g_strdup(name); @@ -370,7 +370,7 @@ proxy_get_indicator_type (DBusGProxy * proxy, gchar * type, GError * error, gpoi static void proxy_indicator_added (DBusGProxy * proxy, guint id, const gchar * type, proxy_t * proxyt) { - g_debug("Interface %s has an indicator %d of type %s", proxyt->name, id, type); + /* g_debug("Interface %s has an indicator %d of type %s", proxyt->name, id, type); */ if (proxyt->indicators == NULL) { proxyt->indicators = g_hash_table_new_full(g_str_hash, g_str_equal, diff --git a/libindicate/tests/listen-and-print.c b/libindicate/tests/listen-and-print.c index 772e4f1..381fdf2 100644 --- a/libindicate/tests/listen-and-print.c +++ b/libindicate/tests/listen-and-print.c @@ -2,6 +2,35 @@ #include #include "libindicate/listener.h" +static void +indicator_added (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gpointer data) +{ + g_debug("Indicator Added: %s %d %s", (gchar *)server, (guint)*indicator, type); +} + +static void +indicator_removed (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gpointer data) +{ + g_debug("Indicator Removed: %s %d %s", (gchar *)server, (guint)*indicator, type); +} + +static void +indicator_modified (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gchar * property, gpointer data) +{ + g_debug("Indicator Modified: %s %d %s %s", (gchar *)server, (guint)*indicator, type, property); +} + +static void +server_added (IndicateListener * listener, IndicateListenerServer * server, gpointer data) +{ + g_debug("Indicator Server Added: %s", (gchar *)server); +} + +static void +server_removed (IndicateListener * listener, IndicateListenerServer * server, gpointer data) +{ + g_debug("Indicator Server Removed: %s", (gchar *)server); +} int main (int argc, char ** argv) @@ -10,6 +39,12 @@ main (int argc, char ** argv) IndicateListener * listener = indicate_listener_new(); + g_signal_connect(listener, "indicator-added", G_CALLBACK(indicator_added), NULL); + g_signal_connect(listener, "indicator-removed", G_CALLBACK(indicator_removed), NULL); + g_signal_connect(listener, "indicator-modified", G_CALLBACK(indicator_modified), NULL); + g_signal_connect(listener, "server-added", G_CALLBACK(server_added), NULL); + g_signal_connect(listener, "server-removed", G_CALLBACK(server_removed), NULL); + g_main_loop_run(g_main_loop_new(NULL, FALSE)); return 0; -- cgit v1.2.3 From ad1cc2dcd28d83bd83ac7ad8f5d97f70546ea900 Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Thu, 15 Jan 2009 23:19:21 -0600 Subject: Fixing the printing and the saving of indicators. --- libindicate/listener.c | 2 +- libindicate/tests/listen-and-print.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'libindicate/tests') diff --git a/libindicate/listener.c b/libindicate/listener.c index 2c1f3b3..5baa36f 100644 --- a/libindicate/listener.c +++ b/libindicate/listener.c @@ -398,7 +398,7 @@ proxy_indicator_added (DBusGProxy * proxy, guint id, const gchar * type, proxy_t g_hash_table_insert(proxyt->indicators, g_strdup(type), indicators); } - if (g_hash_table_lookup(indicators, (gpointer)id)) { + if (!g_hash_table_lookup(indicators, (gpointer)id)) { g_hash_table_insert(indicators, (gpointer)id, (gpointer)TRUE); g_signal_emit(proxyt->listener, signals[INDICATOR_ADDED], 0, proxyt->name, id, type, TRUE); } diff --git a/libindicate/tests/listen-and-print.c b/libindicate/tests/listen-and-print.c index 381fdf2..9ad2cc8 100644 --- a/libindicate/tests/listen-and-print.c +++ b/libindicate/tests/listen-and-print.c @@ -5,19 +5,19 @@ static void indicator_added (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gpointer data) { - g_debug("Indicator Added: %s %d %s", (gchar *)server, (guint)*indicator, type); + g_debug("Indicator Added: %s %d %s", (gchar *)server, (guint)indicator, type); } static void indicator_removed (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gpointer data) { - g_debug("Indicator Removed: %s %d %s", (gchar *)server, (guint)*indicator, type); + g_debug("Indicator Removed: %s %d %s", (gchar *)server, (guint)indicator, type); } static void indicator_modified (IndicateListener * listener, IndicateListenerServer * server, IndicateListenerIndicator * indicator, gchar * type, gchar * property, gpointer data) { - g_debug("Indicator Modified: %s %d %s %s", (gchar *)server, (guint)*indicator, type, property); + g_debug("Indicator Modified: %s %d %s %s", (gchar *)server, (guint)indicator, type, property); } static void -- cgit v1.2.3