X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/9869734d0431a29732006119f2d4ed35af70ca9b..555526fbff27722462383e12e72b7adc84423540:/include/wx/fileconf.h diff --git a/include/wx/fileconf.h b/include/wx/fileconf.h index 13b6cfaf65..b7cc9c2cdc 100644 --- a/include/wx/fileconf.h +++ b/include/wx/fileconf.h @@ -18,17 +18,11 @@ #endif #include "wx/defs.h" -#include "wx/textfile.h" -#include "wx/string.h" -// ---------------------------------------------------------------------------- -// compile options -// ---------------------------------------------------------------------------- +#if wxUSE_CONFIG -// it won't compile without it anyhow -#ifndef wxUSE_CONFIG - #error "Please define wxUSE_CONFIG or remove fileconf.cpp from your makefile" -#endif // wxUSE_CONFIG +#include "wx/textfile.h" +#include "wx/string.h" // ---------------------------------------------------------------------------- // wxFileConfig @@ -127,7 +121,7 @@ private: *m_pPrev; // previous one }; -class wxFileConfig : public wxConfigBase +class WXDLLEXPORT wxFileConfig : public wxConfigBase { public: // construct the "standard" full name for global (system-wide) and @@ -140,21 +134,29 @@ public: // // where file is the basename of szFile, ext is it's extension // or .conf (Unix) or .ini (Win) if it has none - static wxString GetGlobalFileName(const char *szFile); - static wxString GetLocalFileName(const char *szFile); + static wxString GetGlobalFileName(const wxChar *szFile); + static wxString GetLocalFileName(const wxChar *szFile); // 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 = "", - const wxString& localFilename = "", - const wxString& globalFilename = "", + const wxString& vendorName = wxT(""), + const wxString& localFilename = wxT(""), + const wxString& globalFilename = wxT(""), long style = wxCONFIG_USE_LOCAL_FILE); // dtor will save unsaved data virtual ~wxFileConfig(); + // under Unix, set the umask to be used for the file creation, do nothing + // under other systems +#ifdef __UNIX__ + void SetUmask(int mode) { m_umask = mode; } +#else // !__UNIX__ + void SetUmask(int WXUNUSED(mode)) { } +#endif // __UNIX__/!__UNIX__ + // implement inherited pure virtual functions virtual void SetPath(const wxString& strPath); virtual const wxString& GetPath() const { return m_strPath; } @@ -200,6 +202,8 @@ public: { 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); @@ -248,6 +252,10 @@ private: ConfigGroup *m_pRootGroup, // the top (unnamed) group *m_pCurrentGroup; // the current group +#ifdef __UNIX__ + int m_umask; // the umask to use for file creation +#endif // __UNIX__ + public: WX_DEFINE_SORTED_ARRAY(ConfigEntry *, ArrayEntries); WX_DEFINE_SORTED_ARRAY(ConfigGroup *, ArrayGroups); @@ -318,12 +326,12 @@ public: bool IsEmpty() const { return Entries().IsEmpty() && Groups().IsEmpty(); } // find entry/subgroup (NULL if not found) - ConfigGroup *FindSubgroup(const char *szName) const; - ConfigEntry *FindEntry (const char *szName) const; + ConfigGroup *FindSubgroup(const wxChar *szName) const; + ConfigEntry *FindEntry (const wxChar *szName) const; // delete entry/subgroup, return FALSE if doesn't exist - bool DeleteSubgroupByName(const char *szName); - bool DeleteEntry(const char *szName); + bool DeleteSubgroupByName(const wxChar *szName); + bool DeleteEntry(const wxChar *szName); // create new entry/subgroup returning pointer to newly created element ConfigGroup *AddSubgroup(const wxString& strName); @@ -349,5 +357,9 @@ public: void SetLastGroup(ConfigGroup *pGroup) { m_pLastGroup = pGroup; } }; -#endif //_FILECONF_H +#endif + // wxUSE_CONFIG + +#endif + //_FILECONF_H