]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/corefoundation/stdpaths.h
COW cleanup patch (1583966):
[wxWidgets.git] / include / wx / mac / corefoundation / stdpaths.h
index 8066e6958f39e0cce96cb5826246faa29ceb4f98..9950bdbbd76521dfd6e50457c161449dbd4565c9 100644 (file)
 #define _WX_MAC_STDPATHS_H_
 
 struct __CFBundle;
 #define _WX_MAC_STDPATHS_H_
 
 struct __CFBundle;
+struct __CFURL;
+
+typedef const __CFURL * wxCFURLRef;
+typedef __CFBundle * wxCFBundleRef;
 
 // ----------------------------------------------------------------------------
 // wxStandardPaths
 
 // ----------------------------------------------------------------------------
 // wxStandardPaths
@@ -22,15 +26,11 @@ class WXDLLIMPEXP_BASE wxStandardPathsCF : public wxStandardPathsBase
 {
 public:
     wxStandardPathsCF();
 {
 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
 
     // 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 GetConfigDir() const;
 
     // implement base class pure virtuals
     virtual wxString GetConfigDir() const;
@@ -39,17 +39,27 @@ public:
     virtual wxString GetLocalDataDir() const;
     virtual wxString GetUserDataDir() const;
     virtual wxString GetPluginsDir() const;
     virtual wxString GetLocalDataDir() const;
     virtual wxString GetUserDataDir() const;
     virtual wxString GetPluginsDir() const;
+    virtual wxString GetResourcesDir() const;
+    virtual wxString GetLocalizedResourcesDir(const wxChar *lang,
+                                              ResourceCat category) const;
+    virtual wxString GetDocumentsDir() const;
+
 protected:
 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"
 #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_
 #endif
 
 #endif // _WX_MAC_STDPATHS_H_