IM: im_attrib_flat.h Source File
From IM - Imaging Libray
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 * $Id: Exp $ 00007 */ 00008 00009 #ifndef __IM_ATTRIB_FLAT_H_ 00010 #define __IM_ATTRIB_FLAT_H_ 00011 00012 #if defined(__cplusplus) 00013 extern "C" { 00014 #endif 00015 00016 struct imAttribTablePrivate; 00017 00018 /** Definition of the callback used in ForEach function. */ 00019 typedef int (*imAttribTableCallback)(void* user_data, int index, const char* name, int data_type, int count, const void* data); 00020 00021 imAttribTablePrivate* imAttribTableCreate(int hash_size); 00022 void imAttribTableDestroy(imAttribTablePrivate* ptable); 00023 int imAttribTableCount(imAttribTablePrivate* ptable); 00024 void imAttribTableRemoveAll(imAttribTablePrivate* ptable); 00025 const void* imAttribTableGet(const imAttribTablePrivate* ptable, const char *name, int *data_type, int *count); 00026 void imAttribTableSet(imAttribTablePrivate* ptable, const char* name, int data_type, int count, const void* data); 00027 void imAttribTableUnSet(imAttribTablePrivate* ptable, const char *name); 00028 void imAttribTableCopyFrom(imAttribTablePrivate* ptable_dst, const imAttribTablePrivate* ptable_src); 00029 void imAttribTableForEach(const imAttribTablePrivate* ptable, void* user_data, imAttribTableCallback attrib_func); 00030 00031 imAttribTablePrivate* imAttribArrayCreate(int hash_size); 00032 const void* imAttribArrayGet(const imAttribTablePrivate* ptable, int index, char *name, int *data_type, int *count); 00033 void imAttribArraySet(imAttribTablePrivate* ptable, int index, const char* name, int data_type, int count, const void* data); 00034 void imAttribArrayCopyFrom(imAttribTablePrivate* ptable_dst, const imAttribTablePrivate* ptable_src); 00035 00036 #if defined(__cplusplus) 00037 } 00038 #endif 00039 00040 #endif