From 67d296734248fdb9a2c322e726ff7652bdbf6095 Mon Sep 17 00:00:00 2001 From: Neil Jagdish Patel Date: Tue, 3 Feb 2009 10:36:09 +0100 Subject: Allow sub-classes of server to emit signals using three new public functions --- libindicate/server.c | 27 +++++++++++++++++++++++++++ libindicate/server.h | 5 +++++ 2 files changed, 32 insertions(+) (limited to 'libindicate') diff --git a/libindicate/server.c b/libindicate/server.c index cd35871..ab64304 100644 --- a/libindicate/server.c +++ b/libindicate/server.c @@ -705,3 +705,30 @@ indicate_server_get_next_id (IndicateServer * server) return 0; } +/* Signal emission functions for sub-classes of the server */ +void +indicate_server_emit_indicator_added (IndicateServer *server, guint id, const gchar *type) +{ + g_return_if_fail (INDICATE_IS_SERVER (server)); + g_return_if_fail (type); + + g_signal_emit(server, signals[INDICATOR_ADDED], 0, id, type); +} + +void +indicate_server_emit_indicator_removed (IndicateServer *server, guint id, const gchar *type) +{ + g_return_if_fail (INDICATE_IS_SERVER (server)); + g_return_if_fail (type); + + g_signal_emit(server, signals[INDICATOR_REMOVED], 0, id, type); +} + +void +indicate_server_emit_indicator_modified (IndicateServer *server, guint id, const gchar *property) +{ + g_return_if_fail (INDICATE_IS_SERVER (server)); + g_return_if_fail (property); + + g_signal_emit(server, signals[INDICATOR_MODIFIED], 0, id, property); +} diff --git a/libindicate/server.h b/libindicate/server.h index 482fb9a..eccf3c6 100644 --- a/libindicate/server.h +++ b/libindicate/server.h @@ -81,6 +81,11 @@ gboolean indicate_server_get_indicator_property_group (IndicateServer * server, gboolean indicate_server_get_indicator_properties (IndicateServer * server, guint id, gchar *** properties, GError **error); gboolean indicate_server_show_indicator_to_user (IndicateServer * server, guint id, GError ** error); +/* Signal emission functions for sub-classes of the server */ +void indicate_server_emit_indicator_added (IndicateServer *server, guint id, const gchar *type); +void indicate_server_emit_indicator_removed (IndicateServer *server, guint id, const gchar *type); +void indicate_server_emit_indicator_modified (IndicateServer *server, guint id, const gchar *property); + G_END_DECLS #endif /* INDICATE_SERVER_H_INCLUDED__ */ -- cgit v1.2.3