aboutsummaryrefslogtreecommitdiff
path: root/src/status-provider.h
diff options
context:
space:
mode:
authorTed Gould <ted@canonical.com>2009-07-26 23:50:22 -0500
committerTed Gould <ted@canonical.com>2009-07-26 23:50:22 -0500
commitc8cb2fa603bca212869727db019611c70d46825e (patch)
treea33223dce1f3d35d00f94caddc7355edfbc58565 /src/status-provider.h
parentfdf84c9cad59ae4dff01b95bafdfcfd8139f0af9 (diff)
parenta4ab46afa0aa5f8ae4e66b8ae7ef3592499c5c81 (diff)
downloadayatana-indicator-session-c8cb2fa603bca212869727db019611c70d46825e.tar.gz
ayatana-indicator-session-c8cb2fa603bca212869727db019611c70d46825e.tar.bz2
ayatana-indicator-session-c8cb2fa603bca212869727db019611c70d46825e.zip
Fleshing out significantly. Inital rerelease.
Diffstat (limited to 'src/status-provider.h')
-rw-r--r--src/status-provider.h56
1 files changed, 56 insertions, 0 deletions
diff --git a/src/status-provider.h b/src/status-provider.h
new file mode 100644
index 0000000..87a2ea3
--- /dev/null
+++ b/src/status-provider.h
@@ -0,0 +1,56 @@
+#ifndef __STATUS_PROVIDER_H__
+#define __STATUS_PROVIDER_H__
+
+#include <glib.h>
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define STATUS_PROVIDER_TYPE (status_provider_get_type ())
+#define STATUS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), STATUS_PROVIDER_TYPE, StatusProvider))
+#define STATUS_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), STATUS_PROVIDER_TYPE, StatusProviderClass))
+#define IS_STATUS_PROVIDER(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), STATUS_PROVIDER_TYPE))
+#define IS_STATUS_PROVIDER_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), STATUS_PROVIDER_TYPE))
+#define STATUS_PROVIDER_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), STATUS_PROVIDER_TYPE, StatusProviderClass))
+
+typedef enum
+{
+ STATUS_PROVIDER_STATUS_ONLINE,
+ STATUS_PROVIDER_STATUS_AWAY,
+ STATUS_PROVIDER_STATUS_DND,
+ STATUS_PROVIDER_STATUS_INVISIBLE,
+ STATUS_PROVIDER_STATUS_OFFLINE,
+ /* Leave as last */
+ STATUS_PROVIDER_STATUS_LAST
+}
+StatusProviderStatus;
+
+#define STATUS_PROVIDER_SIGNAL_STATUS_CHANGED "status-changed"
+
+typedef struct _StatusProvider StatusProvider;
+struct _StatusProvider {
+ GObject parent;
+};
+
+typedef struct _StatusProviderClass StatusProviderClass;
+struct _StatusProviderClass {
+ GObjectClass parent_class;
+
+ /* Signals */
+ void (*status_changed) (StatusProviderStatus newstatus);
+
+ /* Virtual Functions */
+ void (*set_status) (StatusProvider * sp, StatusProviderStatus newstatus);
+ StatusProviderStatus (*get_status) (StatusProvider * sp);
+};
+
+GType status_provider_get_type (void);
+
+void status_provider_set_status (StatusProvider * sp, StatusProviderStatus status);
+StatusProviderStatus status_provider_get_status (StatusProvider * sp);
+
+void status_provider_emit_status_changed (StatusProvider * sp, StatusProviderStatus newstatus);
+
+G_END_DECLS
+
+#endif