diff options
author | Ted Gould <ted@canonical.com> | 2009-07-26 23:47:27 -0500 |
---|---|---|
committer | Ted Gould <ted@canonical.com> | 2009-07-26 23:47:27 -0500 |
commit | 9b7303cd469357b2d17cb87313d83d47ffc16470 (patch) | |
tree | 3248af69a8fb6f5791ff48aa1cd30d24146ec556 /src/status-provider.h | |
parent | f5cec7c3e6dc602772642bd390ec632450709145 (diff) | |
parent | 0417e7049a32ceb45e19705992dfccef5d858893 (diff) | |
download | ayatana-indicator-session-9b7303cd469357b2d17cb87313d83d47ffc16470.tar.gz ayatana-indicator-session-9b7303cd469357b2d17cb87313d83d47ffc16470.tar.bz2 ayatana-indicator-session-9b7303cd469357b2d17cb87313d83d47ffc16470.zip |
Merging in the branch to port everything to libindicator and fleshing thigns out.
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 |