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  * $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