X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/726b98e9a1a796783e835b24caef03558527e85b..333e57d578e9e0fb6555452b5a53698ffd85ee69:/include/wx/mac/corefoundation/stdpaths.h?ds=sidebyside diff --git a/include/wx/mac/corefoundation/stdpaths.h b/include/wx/mac/corefoundation/stdpaths.h index 8066e6958f..3fcb8d5676 100644 --- a/include/wx/mac/corefoundation/stdpaths.h +++ b/include/wx/mac/corefoundation/stdpaths.h @@ -13,6 +13,10 @@ #define _WX_MAC_STDPATHS_H_ struct __CFBundle; +struct __CFURL; + +typedef const __CFURL * wxCFURLRef; +typedef __CFBundle * wxCFBundleRef; // ---------------------------------------------------------------------------- // wxStandardPaths @@ -22,34 +26,42 @@ class WXDLLIMPEXP_BASE wxStandardPathsCF : public wxStandardPathsBase { public: wxStandardPathsCF(); - ~wxStandardPathsCF(); - - // return the global standard paths object - // Overrides wxStandardPathsBase version for GUI code. - static wxStandardPathsCF& Get(); + virtual ~wxStandardPathsCF(); // wxMac specific: allow user to specify a different bundle - wxStandardPathsCF(struct __CFBundle *bundle); - void SetBundle(struct __CFBundle *bundle); + wxStandardPathsCF(wxCFBundleRef bundle); + void SetBundle(wxCFBundleRef bundle); // implement base class pure virtuals + virtual wxString GetExecutablePath() const; virtual wxString GetConfigDir() const; virtual wxString GetUserConfigDir() const; virtual wxString GetDataDir() const; virtual wxString GetLocalDataDir() const; virtual wxString GetUserDataDir() const; virtual wxString GetPluginsDir() const; + virtual wxString GetResourcesDir() const; + virtual wxString + GetLocalizedResourcesDir(const wxString& lang, + ResourceCat category = ResourceCat_None) const; + virtual wxString GetDocumentsDir() const; + protected: - struct __CFBundle *m_bundle; + // this function can be called with any of CFBundleCopyXXXURL function + // pointer as parameter + wxString GetFromFunc(wxCFURLRef (*func)(wxCFBundleRef)) const; + + wxCFBundleRef m_bundle; }; -// wxMac has its own base so it always uses this version. -// Otherwise, we want to use this version only when compiling GUI code. -// The CoreFoundation version is always available by its full name to all code. -#if defined(__WXMAC__) || wxUSE_BASE == 0 -#define wxStandardPaths wxStandardPathsCF -#else +// If using UNIX (i.e. darwin) then use UNIX standard paths +#if defined(__UNIX__) #include "wx/unix/stdpaths.h" +#else +// If compiling wxMac for CarbonLib then we are wxStandardPaths +class WXDLLIMPEXP_BASE wxStandardPaths: public wxStandardPathsCF +{ +}; #endif #endif // _WX_MAC_STDPATHS_H_