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