aboutsummaryrefslogtreecommitdiff
path: root/libindicate
diff options
context:
space:
mode:
Diffstat (limited to 'libindicate')
-rw-r--r--libindicate/indicator.h16
-rw-r--r--libindicate/server.h36
2 files changed, 51 insertions, 1 deletions
diff --git a/libindicate/indicator.h b/libindicate/indicator.h
index b2ef02e..d9b8075 100644
--- a/libindicate/indicator.h
+++ b/libindicate/indicator.h
@@ -2,20 +2,34 @@
#ifndef INDICATE_INDICATOR_H_INCLUDED__
#define INDICATE_INDICATOR_H_INCLUDED__ 1
-#define INDICATE_TYPE_INDICATOR (indicator_get_type ())
+/* Boilerplate */
+#define INDICATE_TYPE_INDICATOR (indicate_indicator_get_type ())
#define INDICATE_INDICATOR(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), INDICATE_TYPE_INDICATOR, IndicateIndicator))
#define INDICATE_IS_INDICATOR(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), INDICATE_TYPE_INDICATOR))
+/* This is a signal that signals to the indicator that the user
+ * has done an action where they'd like this indicator to be
+ * displayed. */
#define INDICATE_INDICATOR_SIGNAL_DISPLAY "user-display"
typedef struct _IndicateIndicator IndicateIndicator;
IndicateIndicator * indicate_indicator_new (void);
+
+/* Should these just be GObject properties? */
void indicate_indicator_set_property (IndicateIndicator * indicator, const gchar * property_name, const gchar * property_value);
+
+/* Show and hide this indicator */
void indicate_indicator_show (IndicateIndicator * indicator);
+void indicate_indicator_hide (IndicateIndicator * indicator);
+/* Every entry has an ID, here's how to get it */
guint indicate_indicator_get_id (IndicateIndicator * indicator);
+/* Every entry has a type. This should be created by the
+ * subclass and exported through this pretty function */
+const gchar * indicate_indicator_get_type (IndicateIndicator * indicator);
+
#endif /* INDICATE_INDICATOR_H_INCLUDED__ */
diff --git a/libindicate/server.h b/libindicate/server.h
new file mode 100644
index 0000000..e06ee08
--- /dev/null
+++ b/libindicate/server.h
@@ -0,0 +1,36 @@
+
+#ifndef INDICATE_SERVER_H_INCLUDED__
+#define INDICATE_SERVER_H_INCLUDED__ 1
+
+/* Boilerplate */
+#define INDICATE_TYPE_SERVER (indicate_server_get_type ())
+#define INDICATE_SERVER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), INDICATE_TYPE_SERVER, IndicateIndicator))
+#define INDICATE_IS_SERVER(object) (G_TYPE_CHECK_INSTANCE_TYPE((object), INDICATE_TYPE_SERVER))
+
+typedef struct _IndicateServer IndicateServer;
+
+/* Create a new server */
+IndicateServer * indicate_server_new (void);
+
+/* Sets the object. By default this is /org/freedesktop/indicators */
+void indicate_server_set_dbus_object (const gchar * obj);
+
+/* Sets the desktop file to get data like name and description
+ * out of */
+void indicate_server_set_desktop_file (const gchar * path);
+
+/* Show and hide the server on DBus, this allows for the server to
+ * be created, change the object, and then shown. If for some
+ * reason the app wanted to hide all it's indicators, this is a
+ * sure fire way to do so. No idea why, but I'm sure I'll learn. */
+void indicate_server_show (IndicateServer * server);
+void indicate_server_hide (IndicateServer * server);
+
+/* The functions to count indicators for simpler displays of the
+ * indicators in the application */
+guint indicate_server_indicator_count (IndicateServer * server);
+guint indicate_server_indicator_count_by_type (IndicateServer * server, const gchar * type);
+
+
+#endif /* INDICATE_INDICATOR_H_INCLUDED__ */
+