Main Page   Class Hierarchy   Compound List   File List   Compound Members  

configfile.h

00001 // $Id: configfile.h,v 1.1 2000/11/10 15:45:07 root Exp $
00002 #ifndef CONFIGFILE_H
00003 #define CONFIGFILE_H
00004 
00005 #include <qstring.h>
00006 #include <qstringlist.h>
00007 #include <qmap.h>
00008 
00009 class QTextCodec;
00010 
00011 typedef QMap<QString, QString> GroupMap;
00012 
00013 class ConfigGroup
00014 {
00015    friend class ConfigFile;
00016 public:
00017    ConfigGroup(const QString& groupname);
00018    ConfigGroup();
00019    void setName(const QString& name);
00020    const QString& name() const { return groupname; }
00021    const QString& readEntry(const QString& key, const QString& vdefault = QString::null);
00022    void writeEntry(const QString& key, const QString& value);
00023    bool isEmpty() const { return map.isEmpty(); }
00024    GroupMap& getMap() { return map; };
00025 
00026 private:
00027    QString groupname;
00028    GroupMap map;
00029 };
00030 
00031 typedef QMap<QString, ConfigGroup*> ConfigMap;
00032 
00033 class ConfigFile
00034 {
00035 public:
00036    ConfigFile();
00037    ConfigFile(const QString& filename);
00038    ~ConfigFile();
00039    void clear();
00040    void setName(const QString& filename);
00041    const QString& name() const { return fname; }
00042    bool write();
00043    bool read();
00044    void setGroup(const QString& group);
00045    bool changeGroup(const QString& group);
00046    const QString& group() const;
00047    int numGroups() const { return map.count(); }
00048    QStringList groupList();
00049    void writeEntry(const QString& key, const QString& value);
00050    void writeEntry(const QString& key, int value);
00051    void writeEntry(const QString& key, double value);
00052    const QString& readEntry(const QString& key, const QString& default_value);
00053    int readEntry(const QString& key, int default_value);
00054    double readEntry(const QString& key, double default_value);
00055    void setCodec(const char* name);
00056    ConfigMap& getMap() { return map; };
00057    static const char* version();
00058 
00059 private:
00060    QString fname;
00061    ConfigMap map;
00062    ConfigGroup* currentgroup;
00063    QTextCodec* codec;
00064 };
00065 
00066 #endif

Generated at Tue Mar 18 13:49:45 2003 for MIDO by doxygen1.2.1 written by Dimitri van Heesch, © 1997-2000