Galago - desktop presence framework

galago-avatar.h

Go to the documentation of this file.
00001 
00021 #ifndef _GALAGO_AVATAR_H_
00022 #define _GALAGO_AVATAR_H_
00023 
00024 #include <stdlib.h>
00025 
00026 typedef struct _GalagoAvatar        GalagoAvatar;
00027 typedef struct _GalagoAvatarClass   GalagoAvatarClass;
00028 typedef struct _GalagoAvatarPrivate GalagoAvatarPrivate;
00029 
00030 #include <libgalago/galago-account.h>
00031 #include <libgalago/galago-image.h>
00032 
00039 struct _GalagoAvatar
00040 {
00041     GalagoImage parent_object;
00042 
00043     GalagoAvatarPrivate *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 _GalagoAvatarClass
00055 {
00056     GalagoImageClass 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 #define GALAGO_CLASS_AVATAR (galago_avatar_get_class())
00065 #define GALAGO_DBUS_AVATAR_INTERFACE "org.freedesktop.Galago.Avatar"
00066 #define GALAGO_IS_AVATAR(obj) (GALAGO_IS_OBJECT(obj) && galago_object_check_cast((obj), GALAGO_CLASS_AVATAR))
00067 
00068 #ifdef __cplusplus
00069 extern "C" {
00070 #endif
00071 
00072 /**************************************************************************/
00074 /**************************************************************************/
00082 GalagoObjectClass *galago_avatar_get_class(void);
00083 
00093 GalagoAvatar *galago_avatar_new(GalagoAccount *account,
00094                                 const unsigned char *data, size_t len);
00095 
00103 void galago_avatar_set_image_data(GalagoAvatar *avatar,
00104                                   const unsigned char *data, size_t len);
00105 
00113 GalagoAccount *galago_avatar_get_account(const GalagoAvatar *avatar);
00114 
00122 void galago_avatar_get_image_data(const GalagoAvatar *avatar,
00123                                   unsigned char **ret_data,
00124                                   size_t *ret_len);
00125 
00128 #ifdef __cplusplus
00129 }
00130 #endif
00131 
00132 #endif /* _GALAGO_AVATAR_H_ */