X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c330a2cf9369d3ae2bdb3bd67e995517288b353d..a7642be106b7d31cb7eb7b55ef74ec4072dce3a2:/include/wx/fileconf.h diff --git a/include/wx/fileconf.h b/include/wx/fileconf.h index c4712f7147..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,34 +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 - -#if 0 - // the names of local and global (if not disabled) config files are - // constructed using Get{Local|Global}FileName functions described above - // (szAppName is just the (short) name of your application) - wxFileConfig(const char *szAppName, bool bLocalOnly = FALSE); - // this ctor allows you to specify custom names for both files (if strGlobal - // isn't a full path, it's considered to be relative to the standard - // directory, i.e. /etc under Unix and %windir% under Windows, if strLocal - // is not an absolute path, it's considered to be relative to the user's - // directory). If either of strings is empty, the corresponding file is not - // used. - wxFileConfig(const wxString& strLocal, const wxString& strGlobal); -#endif - - // 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 = "", + // 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); // 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; } @@ -213,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); @@ -261,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); @@ -331,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); @@ -362,5 +357,9 @@ public: void SetLastGroup(ConfigGroup *pGroup) { m_pLastGroup = pGroup; } }; -#endif //_FILECONF_H +#endif + // wxUSE_CONFIG + +#endif + //_FILECONF_H