00001
00002
00003
00004
00005
00006
00007
00008
00010
00011 #ifndef __CONFIGURATION_H__
00012 #define __CONFIGURATION_H__
00013
00014 #include <qdom.h>
00015 #include <qstringlist.h>
00016
00017 class Configuration
00018 {
00019 public:
00020
00021 virtual ~Configuration() {}
00022
00023 virtual bool Load ( void ) = 0;
00024 virtual bool Save ( void ) = 0;
00025
00026 virtual int GetValue( const QString &sSetting, int Default ) = 0;
00027 virtual QString GetValue( const QString &sSetting, QString Default ) = 0;
00028
00029 virtual void SetValue( const QString &sSetting, int value ) = 0;
00030 virtual void SetValue( const QString &sSetting, QString value ) = 0;
00031
00032 };
00033
00034
00036
00037
00038
00039
00040
00041
00042
00044
00045 class XmlConfiguration : public Configuration
00046 {
00047 protected:
00048
00049 QString m_sPath;
00050 QString m_sFileName;
00051
00052 QDomDocument m_config;
00053 QDomNode m_rootNode;
00054
00055 QDomNode FindNode( const QString &sName, bool bCreate = FALSE );
00056 QDomNode FindNode( QStringList &sParts, QDomNode &curNode, bool bCreate = FALSE );
00057
00058 public:
00059
00060 XmlConfiguration( const QString &sFileName );
00061
00062 virtual ~XmlConfiguration() {}
00063
00064 virtual bool Load ( void );
00065 virtual bool Save ( void );
00066
00067 virtual int GetValue( const QString &sSetting, int Default );
00068 virtual QString GetValue( const QString &sSetting, QString Default );
00069
00070 virtual void SetValue( const QString &sSetting, int value );
00071 virtual void SetValue( const QString &sSetting, QString value );
00072
00073 };
00074
00076
00078
00079 class DBConfiguration : public Configuration
00080 {
00081 public:
00082
00083 DBConfiguration();
00084
00085 virtual ~DBConfiguration() {}
00086
00087 virtual bool Load ( void );
00088 virtual bool Save ( void );
00089
00090 virtual int GetValue( const QString &sSetting, int Default );
00091 virtual QString GetValue( const QString &sSetting, QString Default );
00092
00093 virtual void SetValue( const QString &sSetting, int value );
00094 virtual void SetValue( const QString &sSetting, QString value );
00095
00096 };
00097
00098 #endif
00099