Galago - desktop presence framework

galago-image.h

Go to the documentation of this file.
00001 
00021 #ifndef _GALAGO_IMAGE_H_
00022 #define _GALAGO_IMAGE_H_
00023 
00024 #include <stdlib.h>
00025 
00026 typedef struct _GalagoImage        GalagoImage;
00027 typedef struct _GalagoImageClass   GalagoImageClass;
00028 typedef struct _GalagoImagePrivate GalagoImagePrivate;
00029 
00030 #include <libgalago/galago-object.h>
00031 
00032 /*
00033  * An abstract representation of an image.
00034  */
00035 struct _GalagoImage
00036 {
00037     GalagoObject parent_object;
00038 
00039     GalagoImagePrivate *priv;
00040 
00041     void (*reserved_1)(void);
00042     void (*reserved_2)(void);
00043     void (*reserved_3)(void);
00044     void (*reserved_4)(void);
00045 };
00046 
00050 struct _GalagoImageClass
00051 {
00052     GalagoObjectClass parent_class;
00053 
00054     void (*reserved_1)(void);
00055     void (*reserved_2)(void);
00056     void (*reserved_3)(void);
00057     void (*reserved_4)(void);
00058 };
00059 
00060 #define GALAGO_CLASS_IMAGE (galago_image_get_class())
00061 
00062 #define GALAGO_IMAGE(obj) \
00063     GALAGO_OBJECT_CAST((obj), GALAGO_CLASS_IMAGE, GalagoImage)
00064 #define GALAGO_IS_IMAGE(obj) (GALAGO_IS_OBJECT(obj) && galago_object_check_cast((obj), GALAGO_CLASS_IMAGE))
00065 
00066 #ifdef __cplusplus
00067 extern "C" {
00068 #endif
00069 
00070 /**************************************************************************/
00072 /**************************************************************************/
00080 GalagoObjectClass *galago_image_get_class(void);
00081 
00089 void galago_image_set_image_data(GalagoImage *image,
00090                                  const unsigned char *data, size_t len);
00091 
00099 void galago_image_get_image_data(const GalagoImage *image,
00100                                  unsigned char **ret_data,
00101                                  size_t *ret_len);
00102 
00105 #ifdef __cplusplus
00106 }
00107 #endif
00108 
00109 
00110 #endif /* _GALAGO_IMAGE_H_ */