module_conf_ConfigFile.h

00001 
00002 /*
00003 
00004         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00005         ~ m o d u l e _ c o n f _ C o n f i g F i l e . h ~
00006         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
00007 
00008 Eine Modulklasse zur Verwaltung von Programmoptionsdateien. Basiert auf 
00009 ConfigFile (Lizenz: MIT) von Richard J. Wagner, dem für sein Werk hiermit 
00010 herzlich gedankt sei. Siehe: 
00011 
00012    http://www-personal.umich.edu/~wagnerr/ConfigFile.html
00013 
00014 Alle Konstrukte tragen lateinische Bezeichnungen. Latein ist neben Englisch
00015 womöglich die einzige Weltsprache, die sich korrekt mit den ersten 128 ASCII-
00016 Zeichen schreiben läßt.
00017 
00018 Dieser Quelltext ist ursprünglich Teil des Programmes Eukalyptos, welches zur
00019 Netzwerkfernsteuerung von Lego-RCX-2-Robotern dient und von Lutz Büch, Bastian
00020 Rieck und Carlos Franke im Rahmen eines Praktikums am Interdisziplinären 
00021 Zentrum für Wissenschaftliches Rechnen (IWR) der Universität Heidelberg 
00022 geschaffen wurde.
00023 
00024 */
00025 
00026 
00027 #ifndef MODULE_CONF_CONFIGFILE
00028 #define MODULE_CONF_CONFIGFILE
00029 
00030 
00031 #include <string>
00032 #include "module_conf.h"
00033 #include "ConfigFile.h"
00034 
00035 
00036 using namespace std;
00037 
00038 
00039 
00042 //classis definita
00043 struct module_conf_ConfigFile :
00044   public module_conf
00045 {
00046   private:
00047    //functiones datorum interpretandum (qua transformata in horreo sunt):
00053    static string nulla(string);  
00054    static string prima(string);  
00055    //secunda, tertia, quarta . . .
00056 
00057    //numerus functionum:
00058    const static unsigned short num_func = 1; 
00059 
00060 
00061   protected:
00062    //via datorum:
00063    string via_dat; 
00064 
00065    //procurator datorum:
00066    ConfigFile* data; 
00067 
00068    int status;
00069 
00070    //heredium:
00071    virtual int mod_load();
00072    virtual int mod_unload();
00073    virtual int handle_msg(const char*);
00074 
00075    //horreum functionum datorum interpretandum:
00076    typedef string (*functio)(string);
00080    functio interpretare[num_func+1];
00081 
00082   public:
00083    //constructio usitata, in qua ,,Gingganz.conf" data nominantur:
00084    module_conf_ConfigFile(); 
00085 
00086 
00087    //constructio via datorum addita:
00088    module_conf_ConfigFile(string); 
00089 
00090    module_conf_ConfigFile(char*); 
00091 
00092 
00093    virtual int get_status();
00094    virtual char* get_name();
00095 
00100    //leget et dat datum nominis additi ex datorum:
00101    virtual char* da_datum(const char*);
00102    char* da_datum(const string);
00103    
00107    //probat, si datum est nominis additi:
00108    virtual bool estne_datum(const char*);
00109    bool estne_datum(const string);
00110 };
00111 
00112 
00113 
00114 #endif

Generated on Sun Sep 3 23:47:22 2006 by  doxygen 1.4.7