]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/mac/corefoundation/stdpaths.h
moving tlw list up, cleanup
[wxWidgets.git] / include / wx / mac / corefoundation / stdpaths.h
index 8066e6958f39e0cce96cb5826246faa29ceb4f98..3fcb8d5676beca3ffefe77773e93d225a857d867 100644 (file)
 #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_