00001
00002
00003
00004
00005
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
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