X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/a3a584a7a6ade199990dd4463488e4bbf3545349..a8eff06059e7758474a7eca0d800c113eefd876f:/include/wx/fileconf.h diff --git a/include/wx/fileconf.h b/include/wx/fileconf.h index 819ea75cc5..ea5eab4493 100644 --- a/include/wx/fileconf.h +++ b/include/wx/fileconf.h @@ -7,13 +7,13 @@ // RCS-ID: $Id$ // Copyright: (c) 1997 Karsten Ballüder & Vadim Zeitlin // Ballueder@usa.net -// Licence: wxWindows license +// Licence: wxWindows licence /////////////////////////////////////////////////////////////////////////////// #ifndef _FILECONF_H #define _FILECONF_H -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "fileconf.h" #endif @@ -23,6 +23,7 @@ #include "wx/textfile.h" #include "wx/string.h" +#include "wx/confbase.h" // ---------------------------------------------------------------------------- // wxFileConfig @@ -92,11 +93,12 @@ (it's on by default, the current status can be retrieved with IsExpandingEnvVars function). */ -class WXDLLEXPORT wxFileConfigGroup; -class WXDLLEXPORT wxFileConfigEntry; -class WXDLLEXPORT wxFileConfigLineList; +class WXDLLIMPEXP_BASE wxFileConfigGroup; +class WXDLLIMPEXP_BASE wxFileConfigEntry; +class WXDLLIMPEXP_BASE wxFileConfigLineList; +class WXDLLIMPEXP_BASE wxInputStream; -class WXDLLEXPORT wxFileConfig : public wxConfigBase +class WXDLLIMPEXP_BASE wxFileConfig : public wxConfigBase { public: // construct the "standard" full name for global (system-wide) and @@ -115,15 +117,17 @@ public: // ctor & dtor // New constructor: one size fits all. Specify wxCONFIG_USE_LOCAL_FILE or // wxCONFIG_USE_GLOBAL_FILE to say which files should be used. - wxFileConfig(const wxString& appName, - const wxString& vendorName = wxT(""), - const wxString& localFilename = wxT(""), - const wxString& globalFilename = wxT(""), - long style = wxCONFIG_USE_LOCAL_FILE); + wxFileConfig(const wxString& appName = wxEmptyString, + const wxString& vendorName = wxEmptyString, + const wxString& localFilename = wxEmptyString, + const wxString& globalFilename = wxEmptyString, + long style = wxCONFIG_USE_LOCAL_FILE | wxCONFIG_USE_GLOBAL_FILE, + wxMBConv& conv = wxConvUTF8); #if wxUSE_STREAMS // ctor that takes an input stream. - wxFileConfig(wxInputStream &inStream); + wxFileConfig(wxInputStream &inStream, + wxMBConv& conv = wxConvUTF8); #endif // wxUSE_STREAMS // dtor will save unsaved data @@ -152,45 +156,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(); @@ -202,6 +173,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(); @@ -232,9 +210,13 @@ private: wxFileConfigGroup *m_pRootGroup, // the top (unnamed) group *m_pCurrentGroup; // the current group + wxMBConv &m_conv; + #ifdef __UNIX__ int m_umask; // the umask to use for file creation #endif // __UNIX__ + + DECLARE_NO_COPY_CLASS(wxFileConfig) }; #endif