X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/0516e0e8ecfb57e9241d84c7e78bdbc9d29ab771..aaae8296646096f4f4e0cd6dc6ad77e1fed4c4c2:/include/wx/fileconf.h diff --git a/include/wx/fileconf.h b/include/wx/fileconf.h index c2cf0404b1..f67f290dfb 100644 --- a/include/wx/fileconf.h +++ b/include/wx/fileconf.h @@ -95,6 +95,7 @@ class WXDLLEXPORT wxFileConfigGroup; class WXDLLEXPORT wxFileConfigEntry; class WXDLLEXPORT wxFileConfigLineList; +class WXDLLEXPORT wxInputStream; class WXDLLEXPORT wxFileConfig : public wxConfigBase { @@ -121,6 +122,11 @@ public: const wxString& globalFilename = wxT(""), long style = wxCONFIG_USE_LOCAL_FILE); +#if wxUSE_STREAMS + // ctor that takes an input stream. + wxFileConfig(wxInputStream &inStream); +#endif // wxUSE_STREAMS + // dtor will save unsaved data virtual ~wxFileConfig(); @@ -147,45 +153,12 @@ public: virtual bool HasGroup(const wxString& strName) const; virtual bool HasEntry(const wxString& strName) const; - virtual bool Read(const wxString& key, wxString *pStr) const; - virtual bool Read(const wxString& key, wxString *pStr, const wxString& defValue) const; - virtual bool Read(const wxString& key, long *pl) const; - - // The following are necessary to satisfy the compiler - wxString Read(const wxString& key, const wxString& defVal) const - { return wxConfigBase::Read(key, defVal); } - bool Read(const wxString& key, long *pl, long defVal) const - { return wxConfigBase::Read(key, pl, defVal); } - long Read(const wxString& key, long defVal) const - { return wxConfigBase::Read(key, defVal); } - bool Read(const wxString& key, int *pi, int defVal) const - { return wxConfigBase::Read(key, pi, defVal); } - bool Read(const wxString& key, int *pi) const - { return wxConfigBase::Read(key, pi); } - bool Read(const wxString& key, double* val) const - { return wxConfigBase::Read(key, val); } - bool Read(const wxString& key, double* val, double defVal) const - { return wxConfigBase::Read(key, val, defVal); } - bool Read(const wxString& key, bool* val) const - { return wxConfigBase::Read(key, val); } - bool Read(const wxString& key, bool* val, bool defVal) const - { return wxConfigBase::Read(key, val, defVal); } - - virtual bool Write(const wxString& key, const wxString& szValue); - virtual bool Write(const wxString& key, long lValue); - bool Write(const wxString& key, double value) - { return wxConfigBase::Write(key, value); } - bool Write(const wxString& key, bool value) - { return wxConfigBase::Write(key, value); } - bool Write(const wxString& key, const wxChar* value) - { return wxConfigBase::Write(key, value); } - virtual bool Flush(bool bCurrentOnly = FALSE); virtual bool RenameEntry(const wxString& oldName, const wxString& newName); virtual bool RenameGroup(const wxString& oldName, const wxString& newName); - virtual bool DeleteEntry(const wxString& key, bool bGroupIfEmptyAlso); + virtual bool DeleteEntry(const wxString& key, bool bGroupIfEmptyAlso = TRUE); virtual bool DeleteGroup(const wxString& szKey); virtual bool DeleteAll(); @@ -197,6 +170,13 @@ public: void LineListRemove(wxFileConfigLineList *pLine); bool LineListIsEmpty(); +protected: + virtual bool DoReadString(const wxString& key, wxString *pStr) const; + virtual bool DoReadLong(const wxString& key, long *pl) const; + + virtual bool DoWriteString(const wxString& key, const wxString& szValue); + virtual bool DoWriteLong(const wxString& key, long lValue); + private: // GetXXXFileName helpers: return ('/' terminated) directory names static wxString GetGlobalDir(); @@ -210,7 +190,7 @@ private: void CleanUp(); // parse the whole file - void Parse(wxTextFile& file, bool bLocal); + void Parse(wxTextBuffer& buffer, bool bLocal); // the same as SetPath("/") void SetRootPath();