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
00032 typedef struct _ExifMnoteDataMethods ExifMnoteDataMethods;
00033 struct _ExifMnoteDataMethods {
00034
00035
00036 void (* free) (ExifMnoteData *);
00037
00038
00039 void (* save) (ExifMnoteData *, unsigned char **, unsigned int *);
00040 void (* load) (ExifMnoteData *, const unsigned char *, unsigned int);
00041 void (* set_offset) (ExifMnoteData *, unsigned int);
00042 void (* set_byte_order) (ExifMnoteData *, ExifByteOrder);
00043
00044
00045 unsigned int (* count) (ExifMnoteData *);
00046 unsigned int (* get_id) (ExifMnoteData *, unsigned int);
00047 const char * (* get_name) (ExifMnoteData *, unsigned int);
00048 const char * (* get_title) (ExifMnoteData *, unsigned int);
00049 const char * (* get_description) (ExifMnoteData *, unsigned int);
00050 char * (* get_value) (ExifMnoteData *, unsigned int, char *val, unsigned int maxlen);
00051 };
00052
00053 typedef struct _ExifMnoteDataPriv ExifMnoteDataPriv;
00054
00055 struct _ExifMnoteData
00056 {
00057 ExifMnoteDataPriv *priv;
00058
00059 ExifMnoteDataMethods methods;
00060
00061
00062 ExifLog *log;
00063
00064
00065 ExifMem *mem;
00066 };
00067
00068 void exif_mnote_data_construct (ExifMnoteData *, ExifMem *mem);
00069 void exif_mnote_data_set_byte_order (ExifMnoteData *, ExifByteOrder);
00070 void exif_mnote_data_set_offset (ExifMnoteData *, unsigned int);
00071
00072 #ifdef __cplusplus
00073 }
00074 #endif
00075
00076 #endif