galago-presence.h
Go to the documentation of this file.00001
00021 #ifndef _GALAGO_PRESENCE_H_
00022 #define _GALAGO_PRESENCE_H_
00023
00024 #include <sys/time.h>
00025 #include <time.h>
00026
00027 typedef struct _GalagoPresence GalagoPresence;
00028 typedef struct _GalagoPresenceClass GalagoPresenceClass;
00029 typedef struct _GalagoPresencePrivate GalagoPresencePrivate;
00030
00031 #include <libgalago/galago-account.h>
00032 #include <libgalago/galago-list.h>
00033 #include <libgalago/galago-object.h>
00034 #include <libgalago/galago-person.h>
00035 #include <libgalago/galago-status.h>
00036 #include <libgalago/galago-signals.h>
00037 #include <libgalago/galago-types.h>
00038
00045 struct _GalagoPresence
00046 {
00047 GalagoObject parent_object;
00048
00049 GalagoPresencePrivate *priv;
00050
00051 void (*reserved_1)(void);
00052 void (*reserved_2)(void);
00053 void (*reserved_3)(void);
00054 void (*reserved_4)(void);
00055 };
00056
00057 struct _GalagoPresenceClass
00058 {
00059 GalagoObjectClass parent_class;
00060
00061 void (*reserved_1)(void);
00062 void (*reserved_2)(void);
00063 void (*reserved_3)(void);
00064 void (*reserved_4)(void);
00065 };
00066
00067 #define GALAGO_CLASS_PRESENCE (galago_presence_get_class())
00068 #define GALAGO_DBUS_PRESENCE_INTERFACE "org.freedesktop.Galago.Presence"
00069 #define GALAGO_IS_PRESENCE(obj) (GALAGO_IS_OBJECT(obj) && galago_object_check_cast((obj), GALAGO_CLASS_PRESENCE))
00070
00071 #ifdef __cplusplus
00072 extern "C" {
00073 #endif
00074
00075
00077
00085 GalagoObjectClass *galago_presence_get_class(void);
00086
00094 GalagoPresence *galago_presence_new(GalagoAccount *account);
00095
00103 void galago_presence_set_idle(GalagoPresence *presence, galago_bool idle,
00104 time_t idle_time);
00105
00115 void galago_presence_set_statuses(GalagoPresence *presence,
00116 GalagoList *statuses);
00117
00124 void galago_presence_add_status(GalagoPresence *presence,
00125 GalagoStatus *status);
00126
00135 void galago_presence_remove_status(GalagoPresence *presence,
00136 const char *status_id);
00137
00143 void galago_presence_clear_statuses(GalagoPresence *presence);
00144
00152 GalagoAccount *galago_presence_get_account(const GalagoPresence *presence);
00153
00161 galago_bool galago_presence_is_idle(const GalagoPresence *presence);
00162
00170 time_t galago_presence_get_idle_time(const GalagoPresence *presence);
00171
00182 galago_bool galago_presence_is_discarded(const GalagoPresence *presence);
00183
00191 galago_bool galago_presence_is_available(const GalagoPresence *presence);
00192
00200 const GalagoList *galago_presence_get_statuses(const GalagoPresence *presence);
00201
00209 GalagoStatus *galago_presence_get_active_status(const GalagoPresence *presence);
00210
00220 galago_bool galago_presence_is_status_exclusive(const GalagoPresence *presence,
00221 const char *status_id);
00222
00231 GalagoStatus *galago_presence_get_status(const GalagoPresence *presence,
00232 const char *status_id);
00233
00242 galago_bool galago_presence_has_status(const GalagoPresence *presence,
00243 const char *status_id);
00244
00254 galago_bool galago_presence_has_status_type(const GalagoPresence *presence,
00255 GalagoStatusType type);
00256
00267 int galago_presence_compare(const GalagoPresence *presence1,
00268 const GalagoPresence *presence2);
00269
00270
00271
00272 #ifdef __cplusplus
00273 }
00274 #endif
00275
00276 #endif