EXIF library (libexif) API: libexif/exif-mnote-data-priv.h Source File

- Main Page
- Files
- Directories
- Related Pages

- File List
- Globals

# exif-mnote-data-priv.h

    00001 /* exif-mnote-data-priv.h
    00002  *
    00003  * Copyright © 2003 Lutz Müller <lutz@users.sourceforge.net>
    00004  *
    00005  * This library is free software; you can redistribute it and/or
    00006  * modify it under the terms of the GNU Lesser General Public
    00007  * License as published by the Free Software Foundation; either
    00008  * version 2 of the License, or (at your option) any later version.
    00009  *
    00010  * This library is distributed in the hope that it will be useful,
    00011  * but WITHOUT ANY WARRANTY; without even the implied warranty of
    00012  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    00013  * Lesser General Public License for more details.
    00014  *
    00015  * You should have received a copy of the GNU Lesser General Public
    00016  * License along with this library; if not, write to the
    00017  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
    00018  * Boston, MA 02111-1307, USA.
    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 /* __cplusplus */
    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         /* Live cycle */
    00036         void (* free) (ExifMnoteData *);
    00037
    00038         /* Modification */
    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         /* Query */
    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         /* Logging */
    00062         ExifLog *log;
    00063
    00064         /* Memory management */
    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 /* __cplusplus */
    00075
    00076 #endif /* __EXIF_MNOTE_PRIV_H__ */