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