galago-person.h
Go to the documentation of this file.00001
00021 #ifndef _GALAGO_PERSON_H_
00022 #define _GALAGO_PERSON_H_
00023
00024 typedef struct _GalagoPerson GalagoPerson;
00025 typedef struct _GalagoPersonClass GalagoPersonClass;
00026 typedef struct _GalagoPersonPrivate GalagoPersonPrivate;
00027
00028 #include <libgalago/galago-account.h>
00029 #include <libgalago/galago-list.h>
00030 #include <libgalago/galago-object.h>
00031 #include <libgalago/galago-photo.h>
00032 #include <libgalago/galago-service.h>
00033 #include <libgalago/galago-signals.h>
00034 #include <libgalago/galago-value.h>
00035
00039 struct _GalagoPerson
00040 {
00041 GalagoObject parent_object;
00042
00043 GalagoPersonPrivate *priv;
00044
00045 void (*reserved_1)(void);
00046 void (*reserved_2)(void);
00047 void (*reserved_3)(void);
00048 void (*reserved_4)(void);
00049 };
00050
00054 struct _GalagoPersonClass
00055 {
00056 GalagoObjectClass parent_class;
00057
00058 void (*reserved_1)(void);
00059 void (*reserved_2)(void);
00060 void (*reserved_3)(void);
00061 void (*reserved_4)(void);
00062 };
00063
00064 typedef enum
00065 {
00066 GALAGO_PROPERTY_TYPE_UNKNOWN = -1,
00067 GALAGO_PROPERTY_TYPE_STRING = 0,
00068 GALAGO_PROPERTY_TYPE_BOOL,
00069 GALAGO_PROPERTY_TYPE_UINT32
00071 } GalagoPropertyType;
00072
00073 #define GALAGO_CLASS_PERSON (galago_person_get_class())
00074 #define GALAGO_DBUS_PERSON_INTERFACE "org.freedesktop.Galago.Person"
00075 #define GALAGO_IS_PERSON(obj) (GALAGO_IS_OBJECT(obj) && galago_object_check_cast((obj), GALAGO_CLASS_PERSON))
00076
00077 #ifdef __cplusplus
00078 extern "C" {
00079 #endif
00080
00081
00083
00084
00085
00086 #define GALAGO_PERSON_PROP_FIRST_NAME "first-name"
00087 #define GALAGO_PERSON_PROP_MIDDLE_NAME "middle-name"
00088 #define GALAGO_PERSON_PROP_LAST_NAME "last-name"
00089 #define GALAGO_PERSON_PROP_ADDRESS "address"
00090 #define GALAGO_PERSON_PROP_CITY "city"
00091 #define GALAGO_PERSON_PROP_STATE "state"
00092 #define GALAGO_PERSON_PROP_COUNTRY "country"
00093 #define GALAGO_PERSON_PROP_ZIPCODE "zipcode"
00094
00097
00099
00107 GalagoObjectClass *galago_person_get_class(void);
00108
00119 GalagoPerson *galago_person_new(const char *id, galago_bool native);
00120
00128 GalagoPerson *galago_person_me_new(galago_bool native);
00129
00141 void galago_person_set_me(GalagoPerson *person);
00142
00150 galago_bool galago_person_is_me(const GalagoPerson *person);
00151
00159 const char *galago_person_get_id(const GalagoPerson *person);
00160
00169 galago_bool galago_person_is_native(const GalagoPerson *person);
00170
00181 const char *galago_person_get_display_name(const GalagoPerson *person);
00182
00191 void galago_person_set_photo(GalagoPerson *person, GalagoPhoto *photo);
00192
00202 GalagoPhoto *galago_person_get_photo(const GalagoPerson *person,
00203 galago_bool query);
00204
00214 galago_bool galago_person_has_accounts(const GalagoPerson *person,
00215 galago_bool query);
00216
00226 const GalagoList *galago_person_get_accounts(const GalagoPerson *person,
00227 galago_bool query);
00228
00236 GalagoAccount *galago_person_get_priority_account(const GalagoPerson *person);
00237
00246 void galago_person_add_account(GalagoPerson *person, GalagoAccount *account);
00247
00256 void galago_person_remove_account(GalagoPerson *person,
00257 GalagoAccount *account);
00258
00270 GalagoAccount *galago_person_get_account(const GalagoPerson *person,
00271 const GalagoService *service,
00272 const char *username,
00273 galago_bool query);
00274
00282 void galago_person_set_property_string(GalagoPerson *person, const char *name,
00283 const char *value);
00284
00292 void galago_person_set_property_bool(GalagoPerson *person, const char *name,
00293 galago_bool value);
00294
00302 void galago_person_set_property_uint32(GalagoPerson *person, const char *name,
00303 dbus_uint32_t value);
00304
00314 void galago_person_set_property(GalagoPerson *person, const char *name,
00315 GalagoValue *value);
00316
00325 galago_bool galago_person_remove_property(GalagoPerson *person,
00326 const char *name);
00327
00336 const char *galago_person_get_property_string(const GalagoPerson *person,
00337 const char *name);
00338
00347 galago_bool galago_person_get_property_bool(const GalagoPerson *person,
00348 const char *name);
00349
00358 dbus_uint32_t galago_person_get_property_uint32(const GalagoPerson *person,
00359 const char *name);
00360
00369 const GalagoValue *galago_person_get_property(const GalagoPerson *person,
00370 const char *name);
00371
00374 #ifdef __cplusplus
00375 }
00376 #endif
00377
00378 #endif