exif-mnote-data-priv.h
00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 #ifndef __EXIF_MNOTE_DATA_PRIV_H__
00022 #define __EXIF_MNOTE_DATA_PRIV_H__
00023 
00024 #ifdef __cplusplus
00025 extern "C" {
00026 #endif 
00027 
00028 #include <libexif/exif-mnote-data.h>
00029 #include <libexif/exif-byte-order.h>
00030 #include <libexif/exif-log.h>
00031 
00033 typedef struct _ExifMnoteDataMethods ExifMnoteDataMethods;
00034 
00036 struct _ExifMnoteDataMethods {
00037 
00038         
00039         void (* free) (ExifMnoteData *);
00040 
00041         
00042         void (* save) (ExifMnoteData *, unsigned char **, unsigned int *);
00043         void (* load) (ExifMnoteData *, const unsigned char *, unsigned int);
00044         void (* set_offset)     (ExifMnoteData *, unsigned int);
00045         void (* set_byte_order) (ExifMnoteData *, ExifByteOrder);
00046 
00047         
00048         unsigned int (* count)           (ExifMnoteData *);
00049         unsigned int (* get_id)          (ExifMnoteData *, unsigned int);
00050         const char * (* get_name)        (ExifMnoteData *, unsigned int);
00051         const char * (* get_title)       (ExifMnoteData *, unsigned int);
00052         const char * (* get_description) (ExifMnoteData *, unsigned int);
00053         char * (* get_value)             (ExifMnoteData *, unsigned int, char *val, unsigned int maxlen);
00054 };
00055 
00057 typedef struct _ExifMnoteDataPriv ExifMnoteDataPriv;
00058 
00060 struct _ExifMnoteData 
00061 {
00062         ExifMnoteDataPriv *priv;
00063 
00064         ExifMnoteDataMethods methods;
00065 
00066         
00067         ExifLog *log;
00068 
00069         
00070         ExifMem *mem;
00071 };
00072 
00074 void exif_mnote_data_construct      (ExifMnoteData *, ExifMem *mem);
00075 
00077 void exif_mnote_data_set_byte_order (ExifMnoteData *, ExifByteOrder);
00078 
00080 void exif_mnote_data_set_offset     (ExifMnoteData *, unsigned int);
00081 
00082 #ifdef __cplusplus
00083 }
00084 #endif 
00085 
00086 #endif