diff options
author | Ted Gould <ted@canonical.com> | 2009-07-26 23:50:22 -0500 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-07-26 23:50:22 -0500 |
commit | c8cb2fa603bca212869727db019611c70d46825e (patch) | |
tree | a33223dce1f3d35d00f94caddc7355edfbc58565 /src/status-provider.h | |
parent | fdf84c9cad59ae4dff01b95bafdfcfd8139f0af9 (diff) | |
parent | a4ab46afa0aa5f8ae4e66b8ae7ef3592499c5c81 (diff) | |
download | ayatana-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.h | 56 |
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 |