/**
@class wxConfigBase
- @wxheader{config.h}
wxConfigBase defines the basic interface of all config classes. It can not
be used by itself (it is an abstract base class) and you will always use
@library{wxbase}
- @category{misc}
+ @category{cfg}
*/
class wxConfigBase : public wxObject
{
/**
Empty but ensures that dtor of all derived classes is virtual.
*/
- ~wxConfigBase();
+ virtual ~wxConfigBase();
/**
/**
Retrieve the current path (always as absolute path).
*/
- const wxString GetPath() const;
+ virtual const wxString& GetPath() const = 0;
/**
Set current path: if the first character is '/', it is the absolute
path, otherwise it is a relative path. '..' is supported. If @a strPath
doesn't exist it is created.
*/
- void SetPath(const wxString& strPath);
+ virtual void SetPath(const wxString& strPath) = 0;
//@}
continue flag, the value string, and the index for the next call.
@endWxPythonOnly
*/
- bool GetFirstEntry(wxString& str, long& index) const;
+ virtual bool GetFirstEntry(wxString& str, long& index) const = 0;
/**
Gets the first group.
continue flag, the value string, and the index for the next call.
@endWxPythonOnly
*/
- bool GetFirstGroup(wxString& str, long& index) const;
+ virtual bool GetFirstGroup(wxString& str, long& index) const = 0;
/**
Gets the next entry.
continue flag, the value string, and the index for the next call.
@endWxPythonOnly
*/
- bool GetNextEntry(wxString& str, long& index) const;
+ virtual bool GetNextEntry(wxString& str, long& index) const = 0;
/**
Gets the next group.
continue flag, the value string, and the index for the next call.
@endWxPythonOnly
*/
- bool GetNextGroup(wxString& str, long& index) const;
+ virtual bool GetNextGroup(wxString& str, long& index) const = 0;
/**
Get number of entries in the current group.
*/
- uint GetNumberOfEntries(bool bRecursive = false) const;
+ virtual size_t GetNumberOfEntries(bool bRecursive = false) const = 0;
/**
Get number of entries/subgroups in the current group, with or without
its subgroups.
*/
- uint GetNumberOfGroups(bool bRecursive = false) const;
+ virtual size_t GetNumberOfGroups(bool bRecursive = false) const = 0;
//@}
/**
@return @true if either a group or an entry with a given name exists.
*/
- bool Exists(wxString& strName) const;
+ bool Exists(const wxString& strName) const;
/**
Returns the type of the given entry or @e Unknown if the entry doesn't
about type mismatch otherwise: e.g., an attempt to read a string value
from an integer key with wxRegConfig will fail.
*/
- wxConfigBase::EntryType GetEntryType(const wxString& name) const;
+ virtual wxConfigBase::EntryType GetEntryType(const wxString& name) const;
/**
@return @true if the entry by this name exists.
*/
- bool HasEntry(wxString& strName) const;
+ virtual bool HasEntry(const wxString& strName) const = 0;
/**
@return @true if the group by this name exists.
*/
- bool HasGroup(const wxString& strName) const;
+ virtual bool HasGroup(const wxString& strName) const = 0;
//@}
Permanently writes all changes (otherwise, they're only written from
object's destructor).
*/
- bool Flush(bool bCurrentOnly = false);
+ virtual bool Flush(bool bCurrentOnly = false) = 0;
/**
Read a string from the key, returning @true if the value was read. If
@return @true if value was really read, @false if the default was used.
*/
- const bool Read(const wxString& key, wxString* str,
- const wxString& defaultVal) const;
+ bool Read(const wxString& key, wxString* str,
+ const wxString& defaultVal) const;
/**
Another version of Read(), returning the string value directly.
*/
const wxString Read(const wxString& key,
- const wxString& defaultVal) const;
+ const wxString& defaultVal) const;
/**
Reads a long value, returning @true if the value was found. If the
value was not found, @a l is not changed.
*/
- const bool Read(const wxString& key, long* l) const;
+ bool Read(const wxString& key, long* l) const;
/**
Reads a long value, returning @true if the value was found. If the
value was not found, @a defaultVal is used instead.
*/
- const bool Read(const wxString& key, long* l,
- long defaultVal) const;
+ bool Read(const wxString& key, long* l,
+ long defaultVal) const;
/**
Reads a double value, returning @true if the value was found. If the
value was not found, @a d is not changed.
*/
- const bool Read(const wxString& key, double* d) const;
+ bool Read(const wxString& key, double* d) const;
/**
Reads a double value, returning @true if the value was found. If the
value was not found, @a defaultVal is used instead.
*/
- const bool Read(const wxString& key, double* d,
+ bool Read(const wxString& key, double* d,
double defaultVal) const;
/**
Reads a bool value, returning @true if the value was found. If the
value was not found, @a b is not changed.
*/
- const bool Read(const wxString& key, bool* b) const;
+ bool Read(const wxString& key, bool* b) const;
/**
Reads a bool value, returning @true if the value was found. If the
value was not found, @a defaultVal is used instead.
*/
- const bool Read(const wxString& key, bool* d,
- bool defaultVal) const;
+ bool Read(const wxString& key, bool* d,
+ bool defaultVal) const;
/**
Reads a binary block, returning @true if the value was found. If the
value was not found, @a buf is not changed.
*/
- const bool Read(const wxString& key, wxMemoryBuffer* buf) const;
+ bool Read(const wxString& key, wxMemoryBuffer* buf) const;
/**
Reads a value of type T, for which function wxFromString() is defined,
returning @true if the value was found. If the value was not found,
@a value is not changed.
*/
- const bool Read(const wxString& key, T* value) const;
+ bool Read(const wxString& key, T* value) const;
/**
Reads a value of type T, for which function wxFromString() is defined,
returning @true if the value was found. If the value was not found,
@a defaultVal is used instead.
*/
- const bool Read(const wxString& key, T* value,
- const T& defaultVal) const;
+ bool Read(const wxString& key, T* value,
+ const T& defaultVal) const;
/**
Reads a bool value from the key and returns it. @a defaultVal is
returned if the key is not found.
*/
- long ReadBool(const wxString& key, bool defaultVal) const;
+ bool ReadBool(const wxString& key, bool defaultVal) const;
/**
Reads a double value from the key and returns it. @a defaultVal is
returned if the key is not found.
*/
- long ReadDouble(const wxString& key, double defaultVal) const;
+ double ReadDouble(const wxString& key, double defaultVal) const;
/**
Reads a long value from the key and returns it. @a defaultVal is
@return @false if @a oldName doesn't exist or if @a newName already
exists.
*/
- bool RenameEntry(const wxString& oldName, const wxString& newName);
+ virtual bool RenameEntry(const wxString& oldName,
+ const wxString& newName) = 0;
/**
Renames a subgroup of the current group. The subgroup names (both the
@return @false if @a oldName doesn't exist or if @a newName already
exists.
*/
- bool RenameGroup(const wxString& oldName, const wxString& newName);
+ virtual bool RenameGroup(const wxString& oldName,
+ const wxString& newName) = 0;
//@}
Delete the whole underlying object (disk file, registry key, ...).
Primarly for use by uninstallation routine.
*/
- bool DeleteAll();
+ virtual bool DeleteAll() = 0;
/**
Deletes the specified entry and the group it belongs to if it was the
last key in it and the second parameter is @true.
*/
- bool DeleteEntry(const wxString& key,
- bool bDeleteGroupIfEmpty = true);
+ virtual bool DeleteEntry(const wxString& key,
+ bool bDeleteGroupIfEmpty = true) = 0;
/**
Delete the group (with all subgroups). If the current path is under the
component. E.g. if the current path is @c "/A/B/C/D" and the group @c C
is deleted, the path becomes @c "/A/B".
*/
- bool DeleteGroup(const wxString& key);
+ virtual bool DeleteGroup(const wxString& key) = 0;
//@}