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: im_attrib_flat.h,v 1.1 2005/04/02 22:07:00 scuri 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