1 ///////////////////////////////////////////////////////////////////////////////
2 // Name: wx/palmos/prefconf.h
3 // Purpose: wxPrefConfig interface
4 // Author: Wlodzimierz ABX Skiba
8 // Copyright: (c) Wlodzimierz Skiba
9 // Licence: wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
19 // ----------------------------------------------------------------------------
21 // ----------------------------------------------------------------------------
23 class WXDLLIMPEXP_BASE wxPrefConfig
: public wxConfigBase
27 wxPrefConfig(const wxString
& appName
= wxEmptyString
,
28 const wxString
& vendorName
= wxEmptyString
,
29 const wxString
& localFilename
= wxEmptyString
,
30 const wxString
& globalFilename
= wxEmptyString
,
31 long style
= wxCONFIG_USE_GLOBAL_FILE
);
33 // dtor will save unsaved data
34 virtual ~wxPrefConfig(){}
36 // implement inherited pure virtual functions
37 // ------------------------------------------
40 virtual void SetPath(const wxString
& strPath
);
41 virtual const wxString
& GetPath() const { return m_strPath
; }
43 // entry/subgroup info
44 virtual bool GetFirstGroup(wxString
& str
, long& lIndex
) const;
45 virtual bool GetNextGroup (wxString
& str
, long& lIndex
) const;
46 virtual bool GetFirstEntry(wxString
& str
, long& lIndex
) const;
47 virtual bool GetNextEntry (wxString
& str
, long& lIndex
) const;
49 // tests for existence
50 virtual bool HasGroup(const wxString
& strName
) const;
51 virtual bool HasEntry(const wxString
& strName
) const;
52 virtual EntryType
GetEntryType(const wxString
& name
) const;
54 // get number of entries/subgroups in the current group, with or without
56 virtual size_t GetNumberOfEntries(bool bRecursive
= false) const;
57 virtual size_t GetNumberOfGroups(bool bRecursive
= false) const;
59 virtual bool Flush(bool WXUNUSED(bCurrentOnly
) = false) { return true; }
62 virtual bool RenameEntry(const wxString
& oldName
, const wxString
& newName
);
63 virtual bool RenameGroup(const wxString
& oldName
, const wxString
& newName
);
66 virtual bool DeleteEntry(const wxString
& key
, bool bGroupIfEmptyAlso
= true);
67 virtual bool DeleteGroup(const wxString
& key
);
68 virtual bool DeleteAll();
71 // implement read/write methods
72 virtual bool DoReadString(const wxString
& key
, wxString
*pStr
) const;
73 virtual bool DoReadLong(const wxString
& key
, long *plResult
) const;
74 virtual bool DoReadBinary(const wxString
& key
, wxMemoryBuffer
*buf
) const;
76 virtual bool DoWriteString(const wxString
& key
, const wxString
& szValue
);
77 virtual bool DoWriteLong(const wxString
& key
, long lValue
);
78 virtual bool DoWriteBinary(const wxString
& key
, const wxMemoryBuffer
& buf
);
81 // current path (not '/' terminated)
84 // current path (group) content (cache for read/write)
87 // current group modified ?
90 wxDECLARE_NO_COPY_CLASS(wxPrefConfig
);
91 DECLARE_ABSTRACT_CLASS(wxPrefConfig
)
94 #endif // wxUSE_CONFIG
96 #endif // _PREFCONF_H_