00001 #ifndef _WINC_RESRC
00002 #define _WINC_RESRC
00003
00004 #include <WXP/String.h>
00005
00006 namespace WXP {
00007 class Resrc {
00008 struct ResrcItem {
00009 char *name;
00010 char *data;
00011 int type;
00012 ResrcItem *next;
00013 };
00014
00015 ResrcItem *root;
00016 ResrcItem *cur;
00017 ResrcItem *last;
00018
00019 public:
00020 Resrc( );
00021 ~Resrc( );
00022 int clear( );
00023 int init( );
00024 int add( const char *name, const char *data, int type );
00025 int set( const char *name, const char *data );
00026 int set( const char *name, const char *data, int type );
00027 int set( const char *name, String &data );
00028 int put( const char *name, const char *data );
00029 int prepend( const char *name, const char *data, char delim = '\n' );
00030 int append( const char *name, const char *data, char delim = '\n' );
00031 const char *get( const char *name );
00032 const char *get( const char *name, const char *def );
00033 int getType( const char *name );
00034 int getValues( String &name, String &value, int flag );
00035 bool getBool( const char *name );
00036 float get( const char *name, float val );
00037 int get( const char *name, int val );
00038 int scanf( const char *name, const char *form, ... );
00039 int rewind();
00040 const char *getNext();
00041 int print( const char *name );
00042 int printAll( );
00043
00044 enum ResrcType {
00045 NONE,
00046 BASE,
00047 FILE,
00048 ENV,
00049 COMMAND,
00050 USER
00051 };
00052 };
00053 }
00054 #endif