aboutsummaryrefslogtreecommitdiff
path: root/libindicate/server.h
diff options
context:
space:
mode:
Diffstat (limited to 'libindicate/server.h')
-rw-r--r--libindicate/server.h28
1 files changed, 17 insertions, 11 deletions
diff --git a/libindicate/server.h b/libindicate/server.h
index 8aa0cf1..cfb4334 100644
--- a/libindicate/server.h
+++ b/libindicate/server.h
@@ -34,6 +34,7 @@ License version 3 and version 2.1 along with this program. If not, see
#include <glib-object.h>
#include "indicator.h"
+#include "interests.h"
G_BEGIN_DECLS
@@ -53,7 +54,8 @@ G_BEGIN_DECLS
#define INDICATE_SERVER_SIGNAL_SERVER_SHOW "server-show"
#define INDICATE_SERVER_SIGNAL_SERVER_HIDE "server-hide"
#define INDICATE_SERVER_SIGNAL_SERVER_DISPLAY "server-display"
-
+#define INDICATE_SERVER_SIGNAL_INTEREST_ADDED "interest-added"
+#define INDICATE_SERVER_SIGNAL_INTEREST_REMOVED "interest-removed"
typedef struct _IndicateServer IndicateServer;
struct _IndicateServer {
@@ -71,17 +73,28 @@ struct _IndicateServerClass {
void (* server_show) (IndicateServer * server, gchar * type);
void (* server_hide) (IndicateServer * server, gchar * type);
void (* server_display) (IndicateServer * server);
+ void (* interest_added) (IndicateServer * server, IndicateInterests interest);
+ void (* interest_removed) (IndicateServer * server, IndicateInterests interest);
/* Virtual Functions */
gboolean (*get_indicator_count) (IndicateServer * server, guint * count, GError **error);
gboolean (*get_indicator_count_by_type) (IndicateServer * server, gchar * type, guint * count, GError **error);
gboolean (*get_indicator_list) (IndicateServer * server, GArray ** indicators, GError ** error);
- gboolean (*get_indicator_list_by_type) (IndicateServer * server, gchar * type, guint ** indicators, GError ** error);
+ gboolean (*get_indicator_list_by_type) (IndicateServer * server, gchar * type, GArray ** indicators, GError ** error);
gboolean (*get_indicator_property) (IndicateServer * server, guint id, gchar * property, gchar ** value, GError **error);
gboolean (*get_indicator_property_group) (IndicateServer * server, guint id, GPtrArray * properties, gchar *** value, GError **error);
gboolean (*get_indicator_properties) (IndicateServer * server, guint id, gchar *** properties, GError **error);
gboolean (*show_indicator_to_user) (IndicateServer * server, guint id, GError ** error);
guint (*get_next_id) (IndicateServer * server);
+ gboolean (*show_interest) (IndicateServer * server, gchar * sender, IndicateInterests interest);
+ gboolean (*remove_interest) (IndicateServer * server, gchar * sender, IndicateInterests interest);
+ gboolean (*check_interest) (IndicateServer * server, IndicateInterests interest);
+
+ /* Reserver for future use */
+ void (*indicate_server_reserved1)(void);
+ void (*indicate_server_reserved2)(void);
+ void (*indicate_server_reserved3)(void);
+ void (*indicate_server_reserved4)(void);
};
GType indicate_server_get_type (void) G_GNUC_CONST;
@@ -111,16 +124,9 @@ void indicate_server_remove_indicator (IndicateServer * server, IndicateIndicato
IndicateServer * indicate_server_ref_default (void);
void indicate_server_set_default (IndicateServer * server);
+/* Check to see if there is someone, out there, who likes this */
+gboolean indicate_server_check_interest (IndicateServer * server, IndicateInterests interest);
-/* DBus API */
-gboolean indicate_server_get_indicator_count (IndicateServer * server, guint * count, GError **error);
-gboolean indicate_server_get_indicator_count_by_type (IndicateServer * server, gchar * type, guint * count, GError **error);
-gboolean indicate_server_get_indicator_list (IndicateServer * server, GArray ** indicators, GError ** error);
-gboolean indicate_server_get_indicator_list_by_type (IndicateServer * server, gchar * type, guint ** indicators, GError ** error);
-gboolean indicate_server_get_indicator_property (IndicateServer * server, guint id, gchar * property, gchar ** value, GError **error);
-gboolean indicate_server_get_indicator_property_group (IndicateServer * server, guint id, GPtrArray * properties, gchar *** value, GError **error);
-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);