summaryrefslogtreecommitdiffstats
path: root/sip/kdecore/kconfigbase.sip
blob: c960004c07bcc81a4bd9bcea3d0a337ecc8effcb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module kdecore  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.


%ModuleHeaderCode
typedef long long longlong;
typedef unsigned long long ulonglong;
%End


class KConfigBase : QObject
{
%TypeHeaderCode
#include <kconfigbase.h>
%End


public:
                         KConfigBase ();
    void                 setGroup (const QString&);
    void                 setDesktopGroup ();
    QString              group () const;
    bool                 hasGroup (const QString&) const;
    virtual QStringList  groupList () const = 0;
    QString              locale () const;
    QString              readEntry (const QString&, const QString& = QString ::null ) const;
    QString              readEntry (const char*, const QString& = QString ::null ) const;
    QVariant             readPropertyEntry (const QString&, QVariant::Type) const;
    QVariant             readPropertyEntry (const char*, QVariant::Type) const;
    QVariant             readPropertyEntry (const QString&, const QVariant&) const;
    QVariant             readPropertyEntry (const char*, const QVariant&) const;
    int                  readListEntry (const QString&, QStrList&, char = ',') const;
    int                  readListEntry (const char*, QStrList&, char = ',') const;
    QStringList          readListEntry (const QString&, char = ',') const;
    QStringList          readListEntry (const char*, char = ',') const;

%If ( KDE_3_3_0 -  )
    QStringList          readListEntry (const char*, const QStringList&, char = ',') const;
%End

    QValueList<int>      readIntListEntry (const QString&) const;
    QValueList<int>      readIntListEntry (const char*) const;
    QString              readPathEntry (const QString&, const QString& = QString ::null ) const;
    QString              readPathEntry (const char*, const QString& = QString ::null ) const;

%If ( KDE_3_1_3 -  )
    QStringList          readPathListEntry (const QString&, char = ',') const;
    QStringList          readPathListEntry (const char*, char = ',') const;
%End

    int                  readNumEntry (const QString&, int = 0) const;
    int                  readNumEntry (const char*, int = 0) const;
    uint                 readUnsignedNumEntry (const QString&, uint = 0) const;
    uint                 readUnsignedNumEntry (const char*, uint = 0) const;
    long                 readLongNumEntry (const QString&, long = 0) const;
    long                 readLongNumEntry (const char*, long = 0) const;
    ulong                readUnsignedLongNumEntry (const QString&, ulong = 0) const;
    ulong                readUnsignedLongNumEntry (const char*, ulong = 0) const;

%If ( KDE_3_2_0 -  )
    longlong             readNum64Entry (const QString&, longlong = 0) const;
    longlong             readNum64Entry (const char*, longlong = 0) const;
    ulonglong            readUnsignedNum64Entry (const QString&, ulonglong = 0) const;
    ulonglong            readUnsignedNum64Entry (const char*, ulonglong = 0) const;
%End

    double               readDoubleNumEntry (const QString&, double = 0.0) const;
    double               readDoubleNumEntry (const char*, double = 0.0) const;
    QFont                readFontEntry (const QString&, const QFont* = 0) const;
    QFont                readFontEntry (const char*, const QFont* = 0) const;
    bool                 readBoolEntry (const QString&, const bool = 0) const;
    bool                 readBoolEntry (const char*, const bool = 0) const;
    QRect                readRectEntry (const QString&, const QRect* = 0) const;
    QRect                readRectEntry (const char*, const QRect* = 0) const;
    QPoint               readPointEntry (const QString&, const QPoint* = 0) const;
    QPoint               readPointEntry (const char*, const QPoint* = 0) const;
    QSize                readSizeEntry (const QString&, const QSize* = 0) const;
    QSize                readSizeEntry (const char*, const QSize* = 0) const;
    QColor               readColorEntry (const QString&, const QColor* = 0) const;
    QColor               readColorEntry (const char*, const QColor* = 0) const;
    QDateTime            readDateTimeEntry (const QString&, const QDateTime* = 0) const;
    QDateTime            readDateTimeEntry (const char*, const QDateTime* = 0) const;
    QString              readEntryUntranslated (const QString&, const QString& = QString ::null ) const;
    QString              readEntryUntranslated (const char*, const QString& = QString ::null ) const;
    void                 writeEntry (const QString&, const QString&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QString&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const QVariant&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QVariant&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const QStrList&, char = ',', bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QStrList&, char = ',', bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const QStringList&, char = ',', bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QStringList&, char = ',', bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const QValueList<int>&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QValueList<int>&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const char*, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const char*, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, int, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, int, bool = 1, bool = 0, bool = 0);

%If ( KDE_3_2_0 -  )
    void                 writeEntry (const QString&, longlong, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, longlong, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, ulonglong, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, ulonglong, bool = 1, bool = 0, bool = 0);
%End

//ig     void                 writeEntry (const QString&, double, bool = 1, bool = 0, char = 'g', int = 6, bool = 0);
//ig     void                 writeEntry (const char*, double, bool = 1, bool = 0, char = 'g', int = 6, bool = 0);
    void                 writeEntry (const QString&, const QFont&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QFont&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const QColor&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QColor&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const QDateTime&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QDateTime&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const QRect&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QRect&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const QPoint&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QPoint&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const QString&, const QSize&, bool = 1, bool = 0, bool = 0);
    void                 writeEntry (const char*, const QSize&, bool = 1, bool = 0, bool = 0);
    void                 writePathEntry (const QString&, const QString&, bool = 1, bool = 0, bool = 0);
    void                 writePathEntry (const char*, const QString&, bool = 1, bool = 0, bool = 0);

%If ( KDE_3_1_3 -  )
    void                 writePathEntry (const QString&, const QStringList&, char = ',', bool = 1, bool = 0, bool = 0);
    void                 writePathEntry (const char*, const QStringList&, char = ',', bool = 1, bool = 0, bool = 0);
%End

    void                 deleteEntry (const QString&, bool = 0, bool = 0);
    void                 deleteEntry (const char*, bool = 0, bool = 0);
    bool                 deleteGroup (const QString&, bool = 1, bool = 0);
    void                 setDollarExpansion (bool = 1);
    bool                 isDollarExpansion () const;
    virtual void         rollback (bool = 1);
    virtual void         sync ();
    bool                 isDirty () const;
    virtual void         setReadOnly (bool);
    bool                 isReadOnly () const;
    bool                 hasKey (const QString&) const;
    virtual QMap<QString,QString> entryMap (const QString&) const = 0;
    virtual void         reparseConfiguration ()  = 0;
    bool                 isImmutable () const;
    bool                 groupIsImmutable (const QString&) const;
    bool                 entryIsImmutable (const QString&) const;

    enum ConfigState
    {
        NoAccess, 
        ReadOnly, 
        ReadWrite
    };

    ConfigState          getConfigState () const;

%If ( KDE_3_2_0 -  )
    bool                 checkConfigFilesWritable (bool);
    void                 setReadDefaults (bool);
    bool                 readDefaults () const;
    void                 revertToDefault (const QString&);
    bool                 hasDefault (const QString&) const;
%End


protected:
    void                 setLocale ();
    virtual void         setDirty (bool = 1);
    virtual void         parseConfigFiles ();
    virtual KEntryMap    internalEntryMap (const QString&) const = 0;
    virtual KEntryMap    internalEntryMap () const = 0;
    virtual void         putData (const KEntryKey&, const KEntry&, bool = 1)  = 0;
    virtual KEntry       lookupData (const KEntryKey&) const = 0;
    virtual bool         internalHasGroup (const QCString&) const = 0;

public:
    void                 setGroup (const QCString&);
    void                 setGroup (const char*);
    bool                 hasGroup (const QCString&) const;
    bool                 hasGroup (const char*) const;
    bool                 hasKey (const char*) const;

protected:
    QCString             readEntryUtf8 (const char*) const;

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KConfigBase


class KConfigGroupSaver
{
%TypeHeaderCode
#include <kconfigbase.h>
%End


public:
                         KConfigGroupSaver (KConfigBase*, QString);
                         KConfigGroupSaver (KConfigBase*, const char*);
                         KConfigGroupSaver (KConfigBase*, const QCString&);
    KConfigBase*         config ();

private:
                         KConfigGroupSaver (const KConfigGroupSaver&);

};  // class KConfigGroupSaver


class KConfigGroup : KConfigBase
{
%TypeHeaderCode
#include <kconfigbase.h>
%End


public:
                         KConfigGroup (KConfigBase*, const QCString&);
                         KConfigGroup (KConfigBase*, const QString&);
                         KConfigGroup (KConfigBase*, const char*);
    void                 deleteGroup (bool = 0);

%If ( KDE_3_4_0 -  )
    bool                 groupIsImmutable () const;
%End

    virtual void         setDirty (bool);
    virtual void         putData (const KEntryKey&, const KEntry&, bool = 1);
    virtual KEntry       lookupData (const KEntryKey&) const;
    virtual void         sync ();

protected:
//igx     virtual void         virtual_hook (int, void*);

};  // class KConfigGroup



%MappedType longlong
//converts a Python long
{
%TypeHeaderCode
#if PY_MAJOR_VERSION >= 2 && PY_MINOR_VERSION >= 3
#define LONG_LONG  PY_LONG_LONG
#endif
%End
%ConvertFromTypeCode
    if (!sipCpp)
        Py_INCREF (Py_None);
        return Py_None;

//    PyObject *LongLong;

    return PyLong_FromLongLong (*(LONG_LONG *)sipCpp);
%End

%ConvertToTypeCode
    if (sipIsErr == NULL)
        return PyLong_Check (sipPy) || PyInt_Check (sipPy);

    long long *ll = new long long;
    *ll = 0;

    if (PyLong_Check (sipPy))
        *ll = PyLong_AsLongLong (sipPy);
    else if (PyInt_Check (sipPy))
        *ll = (long long)PyInt_AS_LONG (sipPy);

    *sipCppPtr = ll;

    return 1;
%End

};


%MappedType ulonglong
//converts a Python long
{
%TypeHeaderCode
#if PY_MAJOR_VERSION >= 2 && PY_MINOR_VERSION >= 3
#define LONG_LONG  PY_LONG_LONG
#endif
%End
%ConvertFromTypeCode
    if (!sipCpp)
        Py_INCREF (Py_None);
        return Py_None;

    return PyLong_FromUnsignedLongLong (*(LONG_LONG *)sipCpp);
%End

%ConvertToTypeCode
    if (sipIsErr == NULL)
        return PyLong_Check (sipPy) || PyInt_Check (sipPy);

    unsigned long long *ul = new unsigned long long;
    *ul = 0;

    if (PyLong_Check (sipPy))
        *ul = PyLong_AsUnsignedLongLong (sipPy);
    else if (PyInt_Check (sipPy))
        *ul = (unsigned long long)PyInt_AS_LONG (sipPy);

    *sipCppPtr = ul;

    return 1;
%End

};