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