IM: im_attrib_flat.h Source File

IM - An Imaging Tool

im_attrib_flat.h

Go to the documentation of this file.
00001 /** \file
00002  * \brief Attributes Table Flat API.
00003  * This will simplify the DLL export, and can be used for C aplications.
00004  *
00005  * See Copyright Notice in im_lib.h
00006  */
00007 
00008 #ifndef __IM_ATTRIB_FLAT_H_
00009 #define __IM_ATTRIB_FLAT_H_
00010 
00011 #if defined(__cplusplus)
00012 extern "C" {
00013 #endif
00014 
00015 struct imAttribTablePrivate;
00016 
00017 /** Definition of the callback used in ForEach function. */
00018 typedef int (*imAttribTableCallback)(void* user_data, int index, const char* name, int data_type, int count, const void* data);
00019 
00020 imAttribTablePrivate* imAttribTableCreate(int hash_size);
00021 void imAttribTableDestroy(imAttribTablePrivate* ptable);
00022 int imAttribTableCount(imAttribTablePrivate* ptable);
00023 void imAttribTableRemoveAll(imAttribTablePrivate* ptable);
00024 const void* imAttribTableGet(const imAttribTablePrivate* ptable, const char *name, int *data_type, int *count);
00025 void imAttribTableSet(imAttribTablePrivate* ptable, const char* name, int data_type, int count, const void* data);
00026 void imAttribTableUnSet(imAttribTablePrivate* ptable, const char *name);
00027 void imAttribTableCopyFrom(imAttribTablePrivate* ptable_dst, const imAttribTablePrivate* ptable_src);
00028 void imAttribTableForEach(const imAttribTablePrivate* ptable, void* user_data, imAttribTableCallback attrib_func);
00029 
00030 imAttribTablePrivate* imAttribArrayCreate(int hash_size);
00031 const void* imAttribArrayGet(const imAttribTablePrivate* ptable, int index, char *name, int *data_type, int *count);
00032 void imAttribArraySet(imAttribTablePrivate* ptable, int index, const char* name, int data_type, int count, const void* data);
00033 void imAttribArrayCopyFrom(imAttribTablePrivate* ptable_dst, const imAttribTablePrivate* ptable_src);
00034 
00035 #if defined(__cplusplus)
00036 }
00037 #endif
00038 
00039 #endif