/Users/huttone/Devel/sedflux-new/sedflux/trunk/ew/utils/eh_symbol_table.h

Go to the documentation of this file.
00001 #ifndef __EH_SYMBOL_TABLE_H__
00002 #define __EH_SYMBOL_TABLE_H__
00003 
00004 #include <stdio.h>
00005 #include <glib.h>
00006 #include <utils/eh_types.h>
00007 #include <utils/eh_input_val.h>
00008 
00009 new_handle( Eh_symbol_table );
00010 
00011 typedef enum
00012 {
00013    EH_SYM_TABLE_ERROR_MISSING_LABEL
00014 }
00015 Eh_symbol_table_error;
00016 
00017 #define EH_SYM_TABLE_ERROR eh_symbol_table_error_quark()
00018 
00019 Eh_symbol_table  eh_symbol_table_new            ( void                   );
00020 Eh_symbol_table  eh_symbol_table_dup            ( Eh_symbol_table t      );
00021 Eh_symbol_table  eh_symbol_table_copy           ( Eh_symbol_table dest   ,
00022                                                   Eh_symbol_table src    );
00023 void             eh_symbol_table_foreach        ( Eh_symbol_table s      ,
00024                                                   GHFunc f               ,
00025                                                   gpointer user_data );
00026 Eh_symbol_table  eh_symbol_table_merge          ( Eh_symbol_table table1 ,
00027                                                   ...                    );
00028 void             eh_symbol_table_insert         ( Eh_symbol_table s      ,
00029                                                   char *key              ,
00030                                                   char *value            );
00031 void             eh_symbol_table_replace        ( Eh_symbol_table s      ,
00032                                                   char* key              ,
00033                                                   char* value            );
00034 char*            eh_symbol_table_lookup         ( Eh_symbol_table s      ,
00035                                                   const char *key        );
00036 void             eh_symbol_table_print          ( Eh_symbol_table s      ,
00037                                                   FILE *fp               );
00038 void             eh_symbol_table_print_aligned  ( Eh_symbol_table s      ,
00039                                                   FILE *fp               );
00040 gssize           eh_symbol_table_size           ( Eh_symbol_table s      );
00041 Eh_symbol_table  eh_symbol_table_destroy        ( Eh_symbol_table s      );
00042 
00043 
00044 gboolean         eh_symbol_table_has_label      ( Eh_symbol_table s      ,
00045                                                   gchar* label           );
00046 gboolean         eh_symbol_table_has_labels     ( Eh_symbol_table s      ,
00047                                                   gchar** labels );
00048 gboolean         eh_symbol_table_require_labels ( Eh_symbol_table s      ,
00049                                                   gchar**         labels ,
00050                                                   GError**        error );
00051 gchar*           eh_symbol_table_value          ( Eh_symbol_table s      ,
00052                                                   const gchar* label     );
00053 gchar**          eh_symbol_table_values         ( Eh_symbol_table s      ,
00054                                                   const gchar* label     ,
00055                                                   const gchar* delimiters );
00056 
00057 double           eh_symbol_table_dbl_value      ( Eh_symbol_table s      ,
00058                                                   gchar* label           );
00059 double*          eh_symbol_table_dbl_array_value( Eh_symbol_table s      ,
00060                                                   gchar* label           ,
00061                                                   gint* len              ,
00062                                                   const gchar* delims    );
00063 double           eh_symbol_table_time_value     ( Eh_symbol_table s      ,
00064                                                   gchar* label );
00065 gboolean         eh_symbol_table_bool_value     ( Eh_symbol_table s      ,
00066                                                   gchar* label );
00067 gint             eh_symbol_table_int_value      ( Eh_symbol_table s      ,
00068                                                   gchar* label           );
00069 Eh_input_val     eh_symbol_table_input_value    ( Eh_symbol_table s      ,
00070                                                   gchar* label           ,
00071                                                   GError** err );
00072 
00073 guint            eh_str_case_hash               ( gconstpointer key );
00074 gboolean         eh_str_case_equal              ( gconstpointer a, gconstpointer b);
00075 
00076 #endif

Generated on Fri Jan 4 18:04:16 2008 for sedflux by  doxygen 1.5.2