From 524e5b9804537a2a170e5d9a5c2090a3a7f49afb Mon Sep 17 00:00:00 2001 From: Ted Gould Date: Sun, 15 Feb 2009 21:58:08 -0600 Subject: Adding a handler for the new server display signal, and then make the messages more clear between the two. --- docs/reference/libindicate-decl.txt | 34 ++++++++++++++++++++++++++++++++++ tests/im-client.c | 9 ++++++++- 2 files changed, 42 insertions(+), 1 deletion(-) diff --git a/docs/reference/libindicate-decl.txt b/docs/reference/libindicate-decl.txt index e3280bd..e7890c0 100644 --- a/docs/reference/libindicate-decl.txt +++ b/docs/reference/libindicate-decl.txt @@ -315,6 +315,34 @@ IndicateListener * listener,IndicateListenerServer * server,indicate_listener_ge INDICATE_SERVER_GET_CLASS #define INDICATE_SERVER_GET_CLASS(object) (G_TYPE_INSTANCE_GET_CLASS((object), INDICATE_TYPE_SERVER, IndicateServerClass)) + +INDICATE_SERVER_INDICATOR_NULL +#define INDICATE_SERVER_INDICATOR_NULL (0) + + +INDICATE_SERVER_SIGNAL_INDICATOR_ADDED +#define INDICATE_SERVER_SIGNAL_INDICATOR_ADDED "indicator-added" + + +INDICATE_SERVER_SIGNAL_INDICATOR_REMOVED +#define INDICATE_SERVER_SIGNAL_INDICATOR_REMOVED "indicator-removed" + + +INDICATE_SERVER_SIGNAL_INDICATOR_MODIFIED +#define INDICATE_SERVER_SIGNAL_INDICATOR_MODIFIED "indicator-modified" + + +INDICATE_SERVER_SIGNAL_SERVER_SHOW +#define INDICATE_SERVER_SIGNAL_SERVER_SHOW "server-show" + + +INDICATE_SERVER_SIGNAL_SERVER_HIDE +#define INDICATE_SERVER_SIGNAL_SERVER_HIDE "server-hide" + + +INDICATE_SERVER_SIGNAL_SERVER_DISPLAY +#define INDICATE_SERVER_SIGNAL_SERVER_DISPLAY "server-display" + IndicateServer @@ -339,6 +367,7 @@ struct _IndicateServerClass { void (* indicator_modified) (IndicateServer * server, guint id, gchar * property); void (* server_show) (IndicateServer * server, gchar * type); void (* server_hide) (IndicateServer * server, gchar * type); + void (* server_display) (IndicateServer * server); /* Virtual Functions */ gboolean (*get_indicator_count) (IndicateServer * server, guint * count, GError **error); @@ -468,6 +497,11 @@ IndicateServer *server, guint id, const gchar *type void IndicateServer *server, guint id, const gchar *property + +indicate_server_emit_server_display +void +IndicateServer *server + INDICATE_TYPE_INDICATOR_MESSAGE #define INDICATE_TYPE_INDICATOR_MESSAGE (indicate_indicator_message_get_type ()) diff --git a/tests/im-client.c b/tests/im-client.c index 3419a9d..1b5a86b 100644 --- a/tests/im-client.c +++ b/tests/im-client.c @@ -56,7 +56,13 @@ timeout_cb (gpointer data) static void display (IndicateIndicator * indicator, gpointer data) { - g_debug("Ah, I've been displayed"); + g_debug("Ah, my indicator has been displayed"); +} + +static void +server_display (IndicateServer * server, gpointer data) +{ + g_debug("Ah, my server has been displayed"); } int @@ -67,6 +73,7 @@ main (int argc, char ** argv) IndicateServer * server = indicate_server_ref_default(); indicate_server_set_type(server, "message.im"); indicate_server_set_desktop_file(server, "/usr/share/applications/empathy.desktop"); + g_signal_connect(G_OBJECT(server), INDICATE_SERVER_SIGNAL_SERVER_DISPLAY, G_CALLBACK(server_display), NULL); IndicateIndicatorMessage * indicator; -- cgit v1.2.3