aboutsummaryrefslogtreecommitdiff
path: root/libindicate
diff options
context:
space:
mode:
Diffstat (limited to 'libindicate')
-rw-r--r--libindicate/Makefile.am6
-rw-r--r--libindicate/interests-priv.h46
-rw-r--r--libindicate/interests.h51
-rw-r--r--libindicate/listener.h1
-rw-r--r--libindicate/server.c1
-rw-r--r--libindicate/server.h10
6 files changed, 112 insertions, 3 deletions
diff --git a/libindicate/Makefile.am b/libindicate/Makefile.am
index 5a6f466..c31fe5b 100644
--- a/libindicate/Makefile.am
+++ b/libindicate/Makefile.am
@@ -25,7 +25,8 @@ indicate_headers = \
indicator.h \
indicator-message.h \
listener.h \
- server.h
+ server.h \
+ interests.h
libindicateinclude_HEADERS = \
$(indicate_headers)
@@ -41,7 +42,8 @@ libindicate_la_SOURCES = \
listener-marshal.c \
listener-marshal.h \
indicator.c \
- indicator-message.c
+ indicator-message.c \
+ interestes-priv.h
libindicate_la_LDFLAGS = \
-version-info $(LIBINDICATE_CURRENT):$(LIBINDICATE_REVISION):$(LIBINDICATE_AGE) \
diff --git a/libindicate/interests-priv.h b/libindicate/interests-priv.h
new file mode 100644
index 0000000..eb4e791
--- /dev/null
+++ b/libindicate/interests-priv.h
@@ -0,0 +1,46 @@
+/*
+A library to allow applictions to provide simple indications of
+information to be displayed to users of the application through the
+interface shell.
+
+Copyright 2009 Canonical Ltd.
+
+Authors:
+ Ted Gould <ted@canonical.com>
+
+This program is free software: you can redistribute it and/or modify it
+under the terms of either or both of the following licenses:
+
+1) the GNU Lesser General Public License version 3, as published by the
+Free Software Foundation; and/or
+2) the GNU Lesser General Public License version 2.1, as published by
+the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranties of
+MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
+PURPOSE. See the applicable version of the GNU Lesser General Public
+License for more details.
+
+You should have received a copy of both the GNU Lesser General Public
+License version 3 and version 2.1 along with this program. If not, see
+<http://www.gnu.org/licenses/>
+*/
+
+#ifndef INDICATE_INTERESTS_PRIV_H_INCLUDED__
+#define INDICATE_INTERESTS_PRIV_H_INCLUDED__ 1
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+#define INDICATE_INTEREST_STRING_SERVER_DISPLAY "server-display"
+#define INDICATE_INTEREST_STRING_SERVER_SIGNAL "server-signal"
+#define INDICATE_INTEREST_STRING_INDICATOR_DISPLAY "indicator-display"
+#define INDICATE_INTEREST_STRING_INDICATOR_SIGNAL "indicator-signal"
+#define INDICATE_INTEREST_STRING_INDICATOR_COUNT "indicator-count"
+
+G_END_DECLS
+
+#endif /* INDICATE_INTERESTS_PRIV_H_INCLUDED__ */
+
diff --git a/libindicate/interests.h b/libindicate/interests.h
new file mode 100644
index 0000000..1543075
--- /dev/null
+++ b/libindicate/interests.h
@@ -0,0 +1,51 @@
+/*
+A library to allow applictions to provide simple indications of
+information to be displayed to users of the application through the
+interface shell.
+
+Copyright 2009 Canonical Ltd.
+
+Authors:
+ Ted Gould <ted@canonical.com>
+
+This program is free software: you can redistribute it and/or modify it
+under the terms of either or both of the following licenses:
+
+1) the GNU Lesser General Public License version 3, as published by the
+Free Software Foundation; and/or
+2) the GNU Lesser General Public License version 2.1, as published by
+the Free Software Foundation.
+
+This program is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranties of
+MERCHANTABILITY, SATISFACTORY QUALITY or FITNESS FOR A PARTICULAR
+PURPOSE. See the applicable version of the GNU Lesser General Public
+License for more details.
+
+You should have received a copy of both the GNU Lesser General Public
+License version 3 and version 2.1 along with this program. If not, see
+<http://www.gnu.org/licenses/>
+*/
+
+#ifndef INDICATE_INTERESTS_H_INCLUDED__
+#define INDICATE_INTERESTS_H_INCLUDED__ 1
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+typedef enum _IndicateServerInterests IndicateServerInterests;
+enum _IndicateServerInterests {
+ INDICATE_INTEREST_END, /**< Finishes a list of interests */
+ INDICATE_INTEREST_SERVER_DISPLAY, /**< Displays the server's existance to the user */
+ INDICATE_INTEREST_SERVER_SIGNAL, /**< Will send signals to the server to be displayed */
+ INDICATE_INTEREST_INDICATOR_DISPLAY, /**< Displays indicators to the user */
+ INDICATE_INTEREST_INDICATOR_SIGNAL, /**< Will return signals based on individual indicators being responded to */
+ INDICATE_INTEREST_INDICATOR_COUNT, /**< Only displays a count of the indicators */
+ INDICATE_INTEREST_INDICATOR_LAST /**< Makes merges and counting easier */
+};
+
+G_END_DECLS
+
+#endif /* INDICATE_INTERESTS_H_INCLUDED__ */
+
diff --git a/libindicate/listener.h b/libindicate/listener.h
index c4e724d..9bd04d6 100644
--- a/libindicate/listener.h
+++ b/libindicate/listener.h
@@ -36,6 +36,7 @@ License version 3 and version 2.1 along with this program. If not, see
#include <gdk-pixbuf/gdk-pixbuf.h>
#include "indicator.h"
+#include "interests-priv.h"
#include "server.h"
G_BEGIN_DECLS
diff --git a/libindicate/server.c b/libindicate/server.c
index 39753d2..ec5d957 100644
--- a/libindicate/server.c
+++ b/libindicate/server.c
@@ -28,6 +28,7 @@ License version 3 and version 2.1 along with this program. If not, see
*/
#include "server.h"
+#include "interests-priv.h"
#include "dbus-indicate-server.h"
/* Errors */
diff --git a/libindicate/server.h b/libindicate/server.h
index 8aa0cf1..d5ba9a6 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,7 @@ 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_LISTENER_INTERESTED "listener-interested"
typedef struct _IndicateServer IndicateServer;
struct _IndicateServer {
@@ -71,6 +72,7 @@ struct _IndicateServerClass {
void (* server_show) (IndicateServer * server, gchar * type);
void (* server_hide) (IndicateServer * server, gchar * type);
void (* server_display) (IndicateServer * server);
+ void (* listener_interested) (IndicateServer * server, IndicateServerInterests * interests);
/* Virtual Functions */
gboolean (*get_indicator_count) (IndicateServer * server, guint * count, GError **error);
@@ -82,6 +84,12 @@ struct _IndicateServerClass {
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);
+
+ /* 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;