-rw-r--r-- | library/config.h | 33 |
1 files changed, 16 insertions, 17 deletions
diff --git a/library/config.h b/library/config.h index a2f9b2d..29ba0d6 100644 --- a/library/config.h +++ b/library/config.h | |||
@@ -1,8 +1,8 @@ | |||
1 | /********************************************************************** | 1 | /********************************************************************** |
2 | ** Copyright (C) 2000 Trolltech AS. All rights reserved. | 2 | ** Copyright (C) 2000, 2004 Trolltech AS. All rights reserved. |
3 | ** | 3 | ** |
4 | ** This file is part of Qtopia Environment. | 4 | ** This file is part of Qtopia Environment. |
5 | ** | 5 | ** |
6 | ** This file may be distributed and/or modified under the terms of the | 6 | ** This file may be distributed and/or modified under the terms of the |
7 | ** GNU General Public License version 2 as published by the Free Software | 7 | ** GNU General Public License version 2 as published by the Free Software |
8 | ** Foundation and appearing in the file LICENSE.GPL included in the | 8 | ** Foundation and appearing in the file LICENSE.GPL included in the |
@@ -20,62 +20,74 @@ | |||
20 | 20 | ||
21 | #ifndef CONFIG_H | 21 | #ifndef CONFIG_H |
22 | #define CONFIG_H | 22 | #define CONFIG_H |
23 | 23 | ||
24 | // ##### could use QSettings with Qt 3.0 | 24 | // ##### could use QSettings with Qt 3.0 |
25 | 25 | ||
26 | #include <qpe/qpeglobal.h> | ||
27 | |||
26 | #include <qmap.h> | 28 | #include <qmap.h> |
27 | #include <qstringlist.h> | 29 | #include <qstringlist.h> |
28 | 30 | ||
31 | typedef QMap< QString, QString > ConfigGroup; | ||
32 | typedef QMap< QString, ConfigGroup> ConfigGroupMap; | ||
33 | |||
29 | class ConfigPrivate; | 34 | class ConfigPrivate; |
30 | class Config | 35 | class Config |
31 | { | 36 | { |
32 | public: | 37 | public: |
33 | typedef QMap< QString, QString > ConfigGroup; | ||
34 | 38 | ||
35 | enum Domain { File, User }; | 39 | enum Domain { File, User }; |
36 | Config( const QString &name, Domain domain=User ); | 40 | Config( const QString &name, Domain domain=User ); |
37 | ~Config(); | 41 | ~Config(); |
38 | 42 | ||
43 | QTOPIA_MERGED_METHOD(static long timeStamp( const QString &name, Domain domain=User ), "2.1"); | ||
44 | |||
39 | bool operator == ( const Config & other ) const { return (filename == other.filename); } | 45 | bool operator == ( const Config & other ) const { return (filename == other.filename); } |
40 | bool operator != ( const Config & other ) const { return (filename != other.filename); } | 46 | bool operator != ( const Config & other ) const { return (filename != other.filename); } |
41 | 47 | ||
42 | bool isValid() const; | 48 | bool isValid() const; |
43 | bool hasKey( const QString &key ) const; | 49 | bool hasKey( const QString &key ) const; |
44 | 50 | ||
45 | // inline for better SharpROM BC | 51 | // inline for better SharpROM BC |
46 | inline bool hasGroup ( const QString &gname ) const { return ( groups. find ( gname ) != groups. end ( )); }; | 52 | NOT_IN_QPE(bool hasGroup ( const QString &gname ) const); |
47 | inline QStringList groupList ( ) const { QStringList sl; for ( QMap< QString, ConfigGroup >::ConstIterator it = groups. begin ( ); it != groups. end ( ); ++it ) { sl << it.key(); } return sl; }; | 53 | NOT_IN_QPE(QStringList groupList ( ) const); |
48 | 54 | ||
49 | void setGroup( const QString &gname ); | 55 | void setGroup( const QString &gname ); |
50 | void writeEntry( const QString &key, const char* value ); | 56 | void writeEntry( const QString &key, const char* value ); |
51 | void writeEntry( const QString &key, const QString &value ); | 57 | void writeEntry( const QString &key, const QString &value ); |
52 | void writeEntryCrypt( const QString &key, const QString &value ); | 58 | void writeEntryCrypt( const QString &key, const QString &value ); |
53 | void writeEntry( const QString &key, int num ); | 59 | void writeEntry( const QString &key, int num ); |
54 | #ifdef Q_HAS_BOOL_TYPE | 60 | #ifdef Q_HAS_BOOL_TYPE |
55 | void writeEntry( const QString &key, bool b ); | 61 | void writeEntry( const QString &key, bool b ); |
56 | #endif | 62 | #endif |
57 | void writeEntry( const QString &key, const QStringList &lst, const QChar &sep ); | 63 | void writeEntry( const QString &key, const QStringList &lst, const QChar &sep ); |
64 | QTOPIA_MERGED_METHOD(void writeEntry( const QString &key, const QStringList &lst ), "2.1.0"); | ||
65 | |||
58 | void removeEntry( const QString &key ); | 66 | void removeEntry( const QString &key ); |
59 | 67 | ||
60 | QString readEntry( const QString &key, const QString &deflt = QString::null ) const; | 68 | QString readEntry( const QString &key, const QString &deflt = QString::null ) const; |
61 | QString readEntryCrypt( const QString &key, const QString &deflt = QString::null ) const; | 69 | QString readEntryCrypt( const QString &key, const QString &deflt = QString::null ) const; |
62 | QString readEntryDirect( const QString &key, const QString &deflt = QString::null ) const; | 70 | QString readEntryDirect( const QString &key, const QString &deflt = QString::null ) const; |
63 | int readNumEntry( const QString &key, int deflt = -1 ) const; | 71 | int readNumEntry( const QString &key, int deflt = -1 ) const; |
64 | bool readBoolEntry( const QString &key, bool deflt = FALSE ) const; | 72 | bool readBoolEntry( const QString &key, bool deflt = FALSE ) const; |
65 | QStringList readListEntry( const QString &key, const QChar &sep ) const; | 73 | QStringList readListEntry( const QString &key, const QChar &sep ) const; |
74 | QTOPIA_MERGED_METHOD(QStringList readListEntry( const QString &key ) const, "2.1.0"); | ||
66 | 75 | ||
67 | // For compatibility, non-const versions. | 76 | // For compatibility, non-const versions. |
68 | QString readEntry( const QString &key, const QString &deflt ); | 77 | QString readEntry( const QString &key, const QString &deflt ); |
69 | QString readEntryCrypt( const QString &key, const QString &deflt ); | 78 | QString readEntryCrypt( const QString &key, const QString &deflt ); |
70 | QString readEntryDirect( const QString &key, const QString &deflt ); | 79 | QString readEntryDirect( const QString &key, const QString &deflt ); |
71 | int readNumEntry( const QString &key, int deflt ); | 80 | int readNumEntry( const QString &key, int deflt ); |
72 | bool readBoolEntry( const QString &key, bool deflt ); | 81 | bool readBoolEntry( const QString &key, bool deflt ); |
73 | QStringList readListEntry( const QString &key, const QChar &sep ); | 82 | QStringList readListEntry( const QString &key, const QChar &sep ); |
74 | 83 | ||
75 | void clearGroup(); | 84 | void clearGroup(); |
85 | QTOPIA_MERGED_METHOD(void removeGroup(), "2.1.0"); | ||
86 | QTOPIA_MERGED_METHOD(void removeGroup(const QString&), "2.1.0"); | ||
87 | QTOPIA_MERGED_METHOD(QStringList allGroups() const, "2.1.0"); | ||
76 | 88 | ||
77 | void write( const QString &fn = QString::null ); | 89 | void write( const QString &fn = QString::null ); |
78 | 90 | ||
79 | protected: | 91 | protected: |
80 | void read(); | 92 | void read(); |
81 | bool parse( const QString &line ); | 93 | bool parse( const QString &line ); |
@@ -90,20 +102,7 @@ protected: | |||
90 | static QString configFilename(const QString& name, Domain); | 102 | static QString configFilename(const QString& name, Domain); |
91 | 103 | ||
92 | private: // Sharp ROM compatibility | 104 | private: // Sharp ROM compatibility |
93 | Config( const QString &name, bool what ); | 105 | Config( const QString &name, bool what ); |
94 | }; | 106 | }; |
95 | 107 | ||
96 | inline QString Config::readEntry( const QString &key, const QString &deflt ) const | ||
97 | { return ((Config*)this)->readEntry(key,deflt); } | ||
98 | inline QString Config::readEntryCrypt( const QString &key, const QString &deflt ) const | ||
99 | { return ((Config*)this)->readEntryCrypt(key,deflt); } | ||
100 | inline QString Config::readEntryDirect( const QString &key, const QString &deflt ) const | ||
101 | { return ((Config*)this)->readEntryDirect(key,deflt); } | ||
102 | inline int Config::readNumEntry( const QString &key, int deflt ) const | ||
103 | { return ((Config*)this)->readNumEntry(key,deflt); } | ||
104 | inline bool Config::readBoolEntry( const QString &key, bool deflt ) const | ||
105 | { return ((Config*)this)->readBoolEntry(key,deflt); } | ||
106 | inline QStringList Config::readListEntry( const QString &key, const QChar &sep ) const | ||
107 | { return ((Config*)this)->readListEntry(key,sep); } | ||
108 | |||
109 | #endif | 108 | #endif |