1//---------------------------------------------------------------------------
2// This file is generated by wxPython's SIP generator.  Do not edit by hand.
3//
4// Copyright: (c) 2018 by Total Control Software
5// License:   wxWindows License
6//
7// This file will be included by _core.sip
8//
9//---------------------------------------------------------------------------
10
11//---------------------------------------------------------------------------
12
13enum
14{
15    wxCONFIG_USE_LOCAL_FILE,
16    wxCONFIG_USE_GLOBAL_FILE,
17    wxCONFIG_USE_RELATIVE_PATH,
18    wxCONFIG_USE_NO_ESCAPE_CHARACTERS,
19    wxCONFIG_USE_SUBDIR
20};
21
22class wxConfigBase : wxObject   /Abstract/
23{
24    %Docstring
25        ConfigBase(appName=EmptyString, vendorName=EmptyString, localFilename=EmptyString, globalFilename=EmptyString, style=0)
26
27        wxConfigBase defines the basic interface of all config classes.
28    %End
29    %TypeHeaderCode
30        #include <wx/config.h>
31    %End
32
33    %TypeCode
34        static PyObject* _Config_EnumerationHelper(bool flag, wxString& str, long index) {
35        wxPyThreadBlocker blocker;
36            PyObject* ret = PyTuple_New(3);
37            if (ret) {
38                PyTuple_SET_ITEM(ret, 0, PyBool_FromLong(flag));
39                PyTuple_SET_ITEM(ret, 1, wx2PyString(str));
40                PyTuple_SET_ITEM(ret, 2, wxPyInt_FromLong(index));
41            }
42            return ret;
43        }
44    %End
45public:
46    enum EntryType
47    {
48        Type_Unknown,
49        Type_String,
50        Type_Boolean,
51        Type_Integer,
52        Type_Float
53    };
54
55    wxConfigBase(
56        const wxString & appName = wxEmptyString,
57        const wxString & vendorName = wxEmptyString,
58        const wxString & localFilename = wxEmptyString,
59        const wxString & globalFilename = wxEmptyString,
60        long style = 0
61    );
62    %PreMethodCode
63        if (!wxPyCheckForApp()) return NULL;
64    %End
65
66    virtual
67    ~wxConfigBase();
68
69    virtual
70    const wxString & GetPath() const = 0;
71    %Docstring
72        GetPath() -> String
73
74        Retrieve the current path (always as absolute path).
75    %End
76
77    virtual
78    void SetPath(
79        const wxString & strPath
80    ) = 0;
81    %Docstring
82        SetPath(strPath)
83
84        Set current path: if the first character is '/', it is the absolute
85        path, otherwise it is a relative path.
86    %End
87
88    PyObject* GetFirstEntry();
89    %Docstring
90        GetFirstEntry() -> PyObject
91
92        GetFirstEntry() -> (more, value, index)
93
94        Allows enumerating the entries in the current group in a config
95        object.  Returns a tuple containing a flag indicating if there are
96        more
97        items, the name of the current item, and an index to pass to
98        GetNextEntry to fetch the next item.
99    %End
100    %MethodCode
101        PyErr_Clear();
102        Py_BEGIN_ALLOW_THREADS
103        sipRes = _wxConfigBase_GetFirstEntry(sipCpp);
104        Py_END_ALLOW_THREADS
105        if (PyErr_Occurred()) sipIsErr = 1;
106    %End
107    %TypeCode
108    PyObject* _wxConfigBase_GetFirstEntry(wxConfigBase* self)
109    {
110        bool     more;
111        long     index = 0;
112        wxString value;
113        more = self->GetFirstEntry(value, index);
114        return _Config_EnumerationHelper(more, value, index);
115    }
116    %End
117
118    PyObject* GetFirstGroup();
119    %Docstring
120        GetFirstGroup() -> PyObject
121
122        GetFirstGroup() -> (more, value, index)
123
124        Allows enumerating the subgroups in a config object.  Returns a tuple
125        containing a flag indicating if there are more items, the name of the
126        current item, and an index to pass to GetNextGroup to fetch the next
127        item.
128    %End
129    %MethodCode
130        PyErr_Clear();
131        Py_BEGIN_ALLOW_THREADS
132        sipRes = _wxConfigBase_GetFirstGroup(sipCpp);
133        Py_END_ALLOW_THREADS
134        if (PyErr_Occurred()) sipIsErr = 1;
135    %End
136    %TypeCode
137    PyObject* _wxConfigBase_GetFirstGroup(wxConfigBase* self)
138    {
139        bool     more;
140        long     index = 0;
141        wxString value;
142        more = self->GetFirstGroup(value, index);
143        return _Config_EnumerationHelper(more, value, index);
144    }
145    %End
146
147    PyObject* GetNextEntry(long index);
148    %Docstring
149        GetNextEntry(index) -> PyObject
150
151        GetNextEntry() -> (more, value, index)
152
153        Allows enumerating the entries in the current group in a config
154        object.  Returns a tuple containing a flag indicating if there are
155        more
156        items, the name of the current item, and an index to pass to
157        GetNextEntry to fetch the next item.
158    %End
159    %MethodCode
160        PyErr_Clear();
161        Py_BEGIN_ALLOW_THREADS
162        sipRes = _wxConfigBase_GetNextEntry(sipCpp, index);
163        Py_END_ALLOW_THREADS
164        if (PyErr_Occurred()) sipIsErr = 1;
165    %End
166    %TypeCode
167    PyObject* _wxConfigBase_GetNextEntry(wxConfigBase* self, long index)
168    {
169        bool     more;
170        wxString value;
171        more = self->GetNextEntry(value, index);
172        return _Config_EnumerationHelper(more, value, index);
173    }
174    %End
175
176    PyObject* GetNextGroup(long index);
177    %Docstring
178        GetNextGroup(index) -> PyObject
179
180        GetNextGroup(long index) -> (more, value, index)
181
182        Allows enumerating the subgroups in a config object.  Returns a tuple
183        containing a flag indicating if there are more items, the name of the
184        current item, and an index to pass to GetNextGroup to fetch the next
185        item.
186    %End
187    %MethodCode
188        PyErr_Clear();
189        Py_BEGIN_ALLOW_THREADS
190        sipRes = _wxConfigBase_GetNextGroup(sipCpp, index);
191        Py_END_ALLOW_THREADS
192        if (PyErr_Occurred()) sipIsErr = 1;
193    %End
194    %TypeCode
195    PyObject* _wxConfigBase_GetNextGroup(wxConfigBase* self, long index)
196    {
197        bool more;
198        wxString value;
199        more = self->GetNextGroup(value, index);
200        return _Config_EnumerationHelper(more, value, index);
201    }
202    %End
203
204    virtual
205    size_t GetNumberOfEntries(
206        bool bRecursive = false
207    ) const = 0;
208    %Docstring
209        GetNumberOfEntries(bRecursive=False) -> size_t
210
211        Get number of entries in the current group.
212    %End
213
214    virtual
215    size_t GetNumberOfGroups(
216        bool bRecursive = false
217    ) const = 0;
218    %Docstring
219        GetNumberOfGroups(bRecursive=False) -> size_t
220
221        Get number of entries/subgroups in the current group, with or without
222        its subgroups.
223    %End
224
225    bool Exists(
226        const wxString & strName
227    ) const;
228    %Docstring
229        Exists(strName) -> bool
230    %End
231
232    virtual
233    wxConfigBase::EntryType GetEntryType(
234        const wxString & name
235    ) const;
236    %Docstring
237        GetEntryType(name) -> ConfigBase.EntryType
238
239        Returns the type of the given entry or Unknown if the entry doesn't
240        exist.
241    %End
242
243    virtual
244    bool HasEntry(
245        const wxString & strName
246    ) const = 0;
247    %Docstring
248        HasEntry(strName) -> bool
249    %End
250
251    virtual
252    bool HasGroup(
253        const wxString & strName
254    ) const = 0;
255    %Docstring
256        HasGroup(strName) -> bool
257    %End
258
259    wxString GetAppName() const;
260    %Docstring
261        GetAppName() -> String
262
263        Returns the application name.
264    %End
265
266    wxString GetVendorName() const;
267    %Docstring
268        GetVendorName() -> String
269
270        Returns the vendor name.
271    %End
272
273    virtual
274    bool Flush(
275        bool bCurrentOnly = false
276    ) = 0;
277    %Docstring
278        Flush(bCurrentOnly=False) -> bool
279
280        Permanently writes all changes (otherwise, they're only written from
281        object's destructor).
282    %End
283
284    const wxString Read(
285        const wxString & key,
286        const wxString & defaultVal = wxEmptyString
287    ) const;
288    %Docstring
289        Read(key, defaultVal=EmptyString) -> String
290
291        Another version of Read(), returning the string value directly.
292    %End
293
294    bool ReadBool(const wxString& key,  bool defaultVal=false);
295    %Docstring
296        ReadBool(key, defaultVal=False) -> bool
297    %End
298    %MethodCode
299        PyErr_Clear();
300        Py_BEGIN_ALLOW_THREADS
301        sipRes = _wxConfigBase_ReadBool(sipCpp, key, defaultVal);
302        Py_END_ALLOW_THREADS
303        if (PyErr_Occurred()) sipIsErr = 1;
304    %End
305    %TypeCode
306    bool _wxConfigBase_ReadBool(wxConfigBase* self, const wxString* key, bool defaultVal)
307    {
308        bool rv;
309        self->Read(*key, &rv, defaultVal);
310        return rv;
311    }
312    %End
313
314    double ReadDouble(
315        const wxString & key,
316        double defaultVal
317    ) const;
318    %Docstring
319        ReadDouble(key, defaultVal) -> double
320
321        Reads a double value from the key and returns it.
322    %End
323
324    long ReadLong(
325        const wxString & key,
326        long defaultVal
327    ) const;
328    %Docstring
329        ReadLong(key, defaultVal) -> long
330
331        Reads a long value from the key and returns it.
332    %End
333
334    bool Write(
335        const wxString & key,
336        const wxString & value
337    );
338    %Docstring
339        Write(key, value) -> bool
340
341        Writes the wxString value to the config file and returns true on
342        success.
343    %End
344
345    virtual
346    bool RenameEntry(
347        const wxString & oldName,
348        const wxString & newName
349    ) = 0;
350    %Docstring
351        RenameEntry(oldName, newName) -> bool
352
353        Renames an entry in the current group.
354    %End
355
356    virtual
357    bool RenameGroup(
358        const wxString & oldName,
359        const wxString & newName
360    ) = 0;
361    %Docstring
362        RenameGroup(oldName, newName) -> bool
363
364        Renames a subgroup of the current group.
365    %End
366
367    virtual
368    bool DeleteAll() = 0;
369    %Docstring
370        DeleteAll() -> bool
371
372        Delete the whole underlying object (disk file, registry key, ...).
373    %End
374
375    virtual
376    bool DeleteEntry(
377        const wxString & key,
378        bool bDeleteGroupIfEmpty = true
379    ) = 0;
380    %Docstring
381        DeleteEntry(key, bDeleteGroupIfEmpty=True) -> bool
382
383        Deletes the specified entry and the group it belongs to if it was the
384        last key in it and the second parameter is true.
385    %End
386
387    virtual
388    bool DeleteGroup(
389        const wxString & key
390    ) = 0;
391    %Docstring
392        DeleteGroup(key) -> bool
393
394        Delete the group (with all subgroups).
395    %End
396
397    bool IsExpandingEnvVars() const;
398    %Docstring
399        IsExpandingEnvVars() -> bool
400
401        Returns true if we are expanding environment variables in key values.
402    %End
403
404    bool IsRecordingDefaults() const;
405    %Docstring
406        IsRecordingDefaults() -> bool
407
408        Returns true if we are writing defaults back to the config file.
409    %End
410
411    void SetExpandEnvVars(
412        bool bDoIt = true
413    );
414    %Docstring
415        SetExpandEnvVars(bDoIt=True)
416
417        Determine whether we wish to expand environment variables in key
418        values.
419    %End
420
421    void SetRecordDefaults(
422        bool bDoIt = true
423    );
424    %Docstring
425        SetRecordDefaults(bDoIt=True)
426
427        Sets whether defaults are recorded to the config file whenever an
428        attempt to read the value which is not present in it is done.
429    %End
430
431    static
432    wxConfigBase * Create();
433    %Docstring
434        Create() -> ConfigBase
435
436        Create a new config object and sets it as the current one.
437    %End
438    %PreMethodCode
439        if (!wxPyCheckForApp()) return NULL;
440    %End
441
442    static
443    void DontCreateOnDemand();
444    %Docstring
445        DontCreateOnDemand()
446
447        Calling this function will prevent Get() from automatically creating a
448        new config object if the current one is NULL.
449    %End
450
451    static
452    wxConfigBase * Get(
453        bool CreateOnDemand = true
454    );
455    %Docstring
456        Get(CreateOnDemand=True) -> ConfigBase
457
458        Get the current config object.
459    %End
460    %PreMethodCode
461        if (!wxPyCheckForApp()) return NULL;
462    %End
463
464    static
465    wxConfigBase * Set(
466        wxConfigBase * pConfig   /Transfer/
467    )   /TransferBack/;
468    %Docstring
469        Set(pConfig) -> ConfigBase
470
471        Sets the config object as the current one, returns the pointer to the
472        previous current object (both the parameter and returned value may be
473        NULL).
474    %End
475
476    long _cpp_ReadInt(const wxString& key,  long defaultVal=0);
477    %Docstring
478        _cpp_ReadInt(key, defaultVal=0) -> long
479    %End
480    %MethodCode
481        PyErr_Clear();
482        Py_BEGIN_ALLOW_THREADS
483        sipRes = _wxConfigBase__cpp_ReadInt(sipCpp, key, defaultVal);
484        Py_END_ALLOW_THREADS
485        if (PyErr_Occurred()) sipIsErr = 1;
486    %End
487    %TypeCode
488    long _wxConfigBase__cpp_ReadInt(wxConfigBase* self, const wxString* key, long defaultVal)
489    {
490        long rv;
491        self->Read(*key, &rv, defaultVal);
492        return rv;
493    }
494    %End
495
496    double ReadFloat(const wxString& key,  double defaultVal=0.0);
497    %Docstring
498        ReadFloat(key, defaultVal=0.0) -> double
499    %End
500    %MethodCode
501        PyErr_Clear();
502        Py_BEGIN_ALLOW_THREADS
503        sipRes = _wxConfigBase_ReadFloat(sipCpp, key, defaultVal);
504        Py_END_ALLOW_THREADS
505        if (PyErr_Occurred()) sipIsErr = 1;
506    %End
507    %TypeCode
508    double _wxConfigBase_ReadFloat(wxConfigBase* self, const wxString* key, double defaultVal)
509    {
510        double rv;
511        self->Read(*key, &rv, defaultVal);
512        return rv;
513    }
514    %End
515
516    bool WriteInt(const wxString& key,  long value);
517    %Docstring
518        WriteInt(key, value) -> bool
519    %End
520    %MethodCode
521        PyErr_Clear();
522        Py_BEGIN_ALLOW_THREADS
523        sipRes = _wxConfigBase_WriteInt(sipCpp, key, value);
524        Py_END_ALLOW_THREADS
525        if (PyErr_Occurred()) sipIsErr = 1;
526    %End
527    %TypeCode
528    bool _wxConfigBase_WriteInt(wxConfigBase* self, const wxString* key, long value)
529    {
530        return self->Write(*key, value);
531    }
532    %End
533
534    bool WriteFloat(const wxString& key,  double value);
535    %Docstring
536        WriteFloat(key, value) -> bool
537    %End
538    %MethodCode
539        PyErr_Clear();
540        Py_BEGIN_ALLOW_THREADS
541        sipRes = _wxConfigBase_WriteFloat(sipCpp, key, value);
542        Py_END_ALLOW_THREADS
543        if (PyErr_Occurred()) sipIsErr = 1;
544    %End
545    %TypeCode
546    bool _wxConfigBase_WriteFloat(wxConfigBase* self, const wxString* key, double value)
547    {
548        return self->Write(*key, value);
549    }
550    %End
551
552    bool WriteBool(const wxString& key,  bool value);
553    %Docstring
554        WriteBool(key, value) -> bool
555    %End
556    %MethodCode
557        PyErr_Clear();
558        Py_BEGIN_ALLOW_THREADS
559        sipRes = _wxConfigBase_WriteBool(sipCpp, key, value);
560        Py_END_ALLOW_THREADS
561        if (PyErr_Occurred()) sipIsErr = 1;
562    %End
563    %TypeCode
564    bool _wxConfigBase_WriteBool(wxConfigBase* self, const wxString* key, bool value)
565    {
566        return self->Write(*key, value);
567    }
568    %End
569
570    public:
571
572
573    %Property(name=AppName, get=GetAppName)
574    %Property(name=FirstEntry, get=GetFirstEntry)
575    %Property(name=FirstGroup, get=GetFirstGroup)
576    %Property(name=NextEntry, get=GetNextEntry)
577    %Property(name=NextGroup, get=GetNextGroup)
578    %Property(name=NumberOfEntries, get=GetNumberOfEntries)
579    %Property(name=NumberOfGroups, get=GetNumberOfGroups)
580    %Property(name=Path, get=GetPath, set=SetPath)
581    %Property(name=VendorName, get=GetVendorName)
582};  // end of class wxConfigBase
583
584
585%Extract(id=pycode_core)
586def _ConfigBase_ReadInt(self, key, defaultVal=0):
587    import six
588    rv = self._cpp_ReadInt(key, defaultVal)
589    if six.PY2:
590        rv = int(rv)
591    return rv
592ConfigBase.ReadInt = _ConfigBase_ReadInt
593del _ConfigBase_ReadInt
594%End
595
596class wxFileConfig : wxConfigBase
597{
598    %Docstring
599        FileConfig(appName=EmptyString, vendorName=EmptyString, localFilename=EmptyString, globalFilename=EmptyString, style=CONFIG_USE_LOCAL_FILE|CONFIG_USE_GLOBAL_FILE)
600        FileConfig(is)
601
602        wxFileConfig implements wxConfigBase interface for storing and
603        retrieving configuration information using plain text files.
604    %End
605    %TypeHeaderCode
606        #include <wx/fileconf.h>
607    %End
608
609public:
610    wxFileConfig(
611        const wxString & appName = wxEmptyString,
612        const wxString & vendorName = wxEmptyString,
613        const wxString & localFilename = wxEmptyString,
614        const wxString & globalFilename = wxEmptyString,
615        long style = wxCONFIG_USE_LOCAL_FILE|wxCONFIG_USE_GLOBAL_FILE
616    );
617    %PreMethodCode
618        if (!wxPyCheckForApp()) return NULL;
619    %End
620
621    wxFileConfig(
622        wxInputStream & is
623    );
624    %PreMethodCode
625        if (!wxPyCheckForApp()) return NULL;
626    %End
627
628    bool Save(wxOutputStream& os);
629    %Docstring
630        Save(os) -> bool
631
632        Saves all config data to the given stream, returns true if data was
633        saved successfully or false on error.
634    %End
635    %MethodCode
636        PyErr_Clear();
637        Py_BEGIN_ALLOW_THREADS
638        sipRes = _wxFileConfig_Save(sipCpp, os);
639        Py_END_ALLOW_THREADS
640        if (PyErr_Occurred()) sipIsErr = 1;
641    %End
642    %TypeCode
643    bool _wxFileConfig_Save(wxFileConfig* self, wxOutputStream* os)
644    {
645        #if wxUSE_STREAMS
646            return self->Save(*os);
647        #else
648            wxPyRaiseNotImplemented();
649        #endif
650    }
651    %End
652
653    void SetUmask(
654        int mode
655    );
656    %Docstring
657        SetUmask(mode)
658
659        Allows setting the mode to be used for the config file creation.
660    %End
661
662    virtual
663    void SetPath(
664        const wxString & strPath
665    );
666    %Docstring
667        SetPath(strPath)
668
669        Set current path: if the first character is '/', it is the absolute
670        path, otherwise it is a relative path.
671    %End
672
673    virtual
674    const wxString & GetPath() const;
675    %Docstring
676        GetPath() -> String
677
678        Retrieve the current path (always as absolute path).
679    %End
680
681    virtual
682    size_t GetNumberOfEntries(
683        bool bRecursive = false
684    ) const;
685    %Docstring
686        GetNumberOfEntries(bRecursive=False) -> size_t
687
688        Get number of entries in the current group.
689    %End
690
691    virtual
692    size_t GetNumberOfGroups(
693        bool bRecursive = false
694    ) const;
695    %Docstring
696        GetNumberOfGroups(bRecursive=False) -> size_t
697
698        Get number of entries/subgroups in the current group, with or without
699        its subgroups.
700    %End
701
702    virtual
703    bool HasGroup(
704        const wxString & strName
705    ) const;
706    %Docstring
707        HasGroup(strName) -> bool
708    %End
709
710    virtual
711    bool HasEntry(
712        const wxString & strName
713    ) const;
714    %Docstring
715        HasEntry(strName) -> bool
716    %End
717
718    virtual
719    bool Flush(
720        bool bCurrentOnly = false
721    );
722    %Docstring
723        Flush(bCurrentOnly=False) -> bool
724
725        Permanently writes all changes (otherwise, they're only written from
726        object's destructor).
727    %End
728
729    virtual
730    bool RenameEntry(
731        const wxString & oldName,
732        const wxString & newName
733    );
734    %Docstring
735        RenameEntry(oldName, newName) -> bool
736
737        Renames an entry in the current group.
738    %End
739
740    virtual
741    bool RenameGroup(
742        const wxString & oldName,
743        const wxString & newName
744    );
745    %Docstring
746        RenameGroup(oldName, newName) -> bool
747
748        Renames a subgroup of the current group.
749    %End
750
751    virtual
752    bool DeleteEntry(
753        const wxString & key,
754        bool bDeleteGroupIfEmpty = true
755    );
756    %Docstring
757        DeleteEntry(key, bDeleteGroupIfEmpty=True) -> bool
758
759        Deletes the specified entry and the group it belongs to if it was the
760        last key in it and the second parameter is true.
761    %End
762
763    virtual
764    bool DeleteGroup(
765        const wxString & key
766    );
767    %Docstring
768        DeleteGroup(key) -> bool
769
770        Delete the group (with all subgroups).
771    %End
772
773    virtual
774    bool DeleteAll();
775    %Docstring
776        DeleteAll() -> bool
777
778        Delete the whole underlying object (disk file, registry key, ...).
779    %End
780
781    static
782    wxString GetGlobalFileName(
783        const wxString & szFile
784    );
785    %Docstring
786        GetGlobalFileName(szFile) -> String
787    %End
788
789    static
790    wxString GetLocalFileName(
791        const wxString & szFile,
792        int style = 0
793    );
794    %Docstring
795        GetLocalFileName(szFile, style=0) -> String
796    %End
797
798    private:
799        wxFileConfig(const wxFileConfig&);
800
801
802    public:
803
804
805    %Property(name=NumberOfEntries, get=GetNumberOfEntries)
806    %Property(name=NumberOfGroups, get=GetNumberOfGroups)
807    %Property(name=Path, get=GetPath, set=SetPath)
808};  // end of class wxFileConfig
809
810
811class wxConfigPathChanger
812{
813    %Docstring
814        ConfigPathChanger(pContainer, strEntry)
815
816        A handy little class which changes the current path in a wxConfig
817        object and restores it in dtor.
818    %End
819    %TypeHeaderCode
820        #include <wx/config.h>
821    %End
822
823public:
824    wxConfigPathChanger(
825        const wxConfigBase * pContainer,
826        const wxString & strEntry
827    );
828
829    ~wxConfigPathChanger();
830
831    const wxString & Name() const;
832    %Docstring
833        Name() -> String
834
835        Returns the name of the key which was passed to the ctor.
836    %End
837
838    void UpdateIfDeleted();
839    %Docstring
840        UpdateIfDeleted()
841
842        This method must be called if the original path inside the wxConfig
843        object (i.e.
844    %End
845
846    private:
847        wxConfigPathChanger(const wxConfigPathChanger&);
848
849
850};  // end of class wxConfigPathChanger
851
852
853%Extract(id=pycode_core)
854def _ConfigPathChanger___enter__(self):
855    return self
856ConfigPathChanger.__enter__ = _ConfigPathChanger___enter__
857del _ConfigPathChanger___enter__
858%End
859
860%Extract(id=pycode_core)
861def _ConfigPathChanger___exit__(self, exc_type, exc_val, exc_tb):
862    return False
863ConfigPathChanger.__exit__ = _ConfigPathChanger___exit__
864del _ConfigPathChanger___exit__
865%End
866
867    class wxConfig : wxConfigBase
868    {
869    public:
870        wxConfig(const wxString& appName = wxEmptyString,
871                 const wxString& vendorName = wxEmptyString,
872                 const wxString& localFilename = wxEmptyString,
873                 const wxString& globalFilename = wxEmptyString,
874                 long style = wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_GLOBAL_FILE);
875        ~wxConfig();
876
877        // pure virtuals with implementations here
878        const wxString & GetPath() const;
879        void SetPath(const wxString & strPath);
880        size_t GetNumberOfEntries(bool bRecursive = false) const;
881        size_t GetNumberOfGroups(bool bRecursive = false) const;
882        bool HasEntry(const wxString & strName) const;
883        bool HasGroup(const wxString & strName) const;
884        bool Flush(bool bCurrentOnly = false);
885        bool RenameEntry(const wxString & oldName, const wxString & newName);
886        bool RenameGroup(const wxString & oldName, const wxString & newName);
887        bool DeleteAll();
888        bool DeleteEntry(const wxString & key, bool bDeleteGroupIfEmpty = true);
889        bool DeleteGroup(const wxString & key);
890
891    private:
892        wxConfig(const wxConfig&);
893    };
894
895
896
897//---------------------------------------------------------------------------
898
899