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

Go to the documentation of this file.
00001 #ifndef __EH_KEY_FILE_H__
00002 #define __EH_KEY_FILE_H__
00003 
00004 #include <glib.h>
00005 //#include "utils.h"
00006 #include <utils/eh_types.h>
00007 #include <utils/eh_symbol_table.h>
00008 
00009 new_handle( Eh_key_file );
00010 
00011 typedef enum
00012 {
00013    EH_ARG_DBL      ,
00014    EH_ARG_INT      ,
00015    EH_ARG_DARRAY   ,
00016    EH_ARG_FILENAME ,
00017 }
00018 Eh_arg_type;
00019 
00020 typedef struct {
00021    const gchar*  label;
00022    Eh_arg_type   arg;
00023    gpointer      arg_data;
00024    gint*         arg_data_len;
00025 }
00026 Eh_key_file_entry;
00027 
00028 typedef enum
00029 {
00030    EH_KEY_FILE_ERROR_ARRAY_LEN_MISMATCH ,
00031    EH_KEY_FILE_ERROR_MISSING_ENTRY
00032 }
00033 Eh_key_file_error;
00034 
00035 #define EH_KEY_FILE_ERROR eh_key_file_error_quark()
00036 
00037 Eh_key_file   eh_key_file_new              ( void );
00038 Eh_key_file   eh_key_file_destroy          ( Eh_key_file f );
00039 gboolean      eh_key_file_has_group        ( Eh_key_file f           ,
00040                                              const gchar* group_name );
00041 gboolean      eh_key_file_has_key          ( Eh_key_file f           ,
00042                                              const gchar* group_name ,
00043                                              const gchar* key );
00044 gchar**       eh_key_file_get_groups       ( Eh_key_file f );
00045 gint          eh_key_file_group_size       ( Eh_key_file f           ,
00046                                              const gchar* group_name );
00047 gint          eh_key_file_size             ( Eh_key_file f );
00048 gchar**       eh_key_file_get_keys         ( Eh_key_file f           ,
00049                                              const gchar* group_name );
00050 gchar**       eh_key_file_get_all_values   ( Eh_key_file f           ,
00051                                              const gchar* group_name ,
00052                                              const gchar* key );
00053 gchar*        eh_key_file_get_value        ( Eh_key_file f           ,
00054                                              const gchar* group_name ,
00055                                              const gchar* key );
00056 gchar*        eh_key_file_get_str_value    ( Eh_key_file f           ,
00057                                              const gchar* group_name ,
00058                                              const gchar* key );
00059 gchar**       eh_key_file_get_str_values   ( Eh_key_file f           ,
00060                                              const gchar* group_name ,
00061                                              const gchar* key );
00062 gboolean      eh_key_file_get_bool_value   ( Eh_key_file f           ,
00063                                              const gchar* group_name ,
00064                                              const gchar* key );
00065 gboolean*     eh_key_file_get_bool_values  ( Eh_key_file f           ,
00066                                              const gchar* group_name ,
00067                                              const gchar* key );
00068 double        eh_key_file_get_dbl_value    ( Eh_key_file f ,
00069                                              const gchar* group_name ,
00070                                              const gchar* key );
00071 double*       eh_key_file_get_dbl_array( Eh_key_file      f          ,
00072                                              const gchar* group_name ,
00073                                              const gchar* key        ,
00074                                              gint*        len );
00075 gint          eh_key_file_get_int_value    ( Eh_key_file f ,
00076                                              const gchar* group_name ,
00077                                              const gchar* key );
00078 double*       eh_key_file_get_dbl_values   ( Eh_key_file f           ,
00079                                              const gchar* group_name ,
00080                                              const gchar* key );
00081 void          eh_key_file_set_value        ( Eh_key_file f           ,
00082                                              const gchar* group_name ,
00083                                              const gchar* key        ,
00084                                              const gchar* value );
00085 void          eh_key_file_reset_value      ( Eh_key_file f           ,
00086                                              const gchar* group_name ,
00087                                              const gchar* key        ,
00088                                              const gchar* value );
00089 Eh_symbol_table eh_key_file_get_symbol_table ( Eh_key_file f           ,
00090                                              const gchar* group_name );
00091 Eh_symbol_table* eh_key_file_get_symbol_tables( Eh_key_file f          ,
00092                                               const gchar* group_name );
00093 Eh_key_file   eh_key_file_scan              ( const char* file , GError** error );
00094 gint          eh_key_file_scan_from_template( const gchar* file       ,
00095                                               const gchar* group_name ,
00096                                               Eh_key_file_entry* t    ,
00097                                               GError** error );
00098 gssize        eh_key_file_fprint_template   ( FILE* fp                ,
00099                                               const gchar* group_name ,
00100                                               Eh_key_file_entry entry[] );
00101 Eh_symbol_table eh_key_file_scan_for        ( const gchar* file      ,
00102                                               const gchar* name      ,
00103                                               Eh_symbol_table tab    ,
00104                                               GError** error );
00105 Eh_symbol_table eh_key_file_pop_group       ( Eh_key_file f );
00106 
00107 #endif

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