1 ///////////////////////////////////////////////////////////////////////////////
2 // Name:        wx/mac/corefoundation/stdpaths.h
3 // Purpose:     wxStandardPaths for CoreFoundation systems
4 // Author:      David Elliott
5 // Modified by:
6 // Created:     2004-10-27
7 // RCS-ID:      $Id: stdpaths.h 43771 2006-12-03 18:53:23Z VZ $
8 // Copyright:   (c) 2004 David Elliott
9 // Licence:     wxWindows licence
10 ///////////////////////////////////////////////////////////////////////////////
11 
12 #ifndef _WX_MAC_STDPATHS_H_
13 #define _WX_MAC_STDPATHS_H_
14 
15 struct __CFBundle;
16 struct __CFURL;
17 
18 typedef const __CFURL * wxCFURLRef;
19 typedef __CFBundle * wxCFBundleRef;
20 
21 // ----------------------------------------------------------------------------
22 // wxStandardPaths
23 // ----------------------------------------------------------------------------
24 
25 class WXDLLIMPEXP_BASE wxStandardPathsCF : public wxStandardPathsBase
26 {
27 public:
28     wxStandardPathsCF();
29     virtual ~wxStandardPathsCF();
30 
31     // wxMac specific: allow user to specify a different bundle
32     wxStandardPathsCF(wxCFBundleRef bundle);
33     void SetBundle(wxCFBundleRef bundle);
34 
35     // implement base class pure virtuals
36     virtual wxString GetExecutablePath() const;
37     virtual wxString GetConfigDir() const;
38     virtual wxString GetUserConfigDir() const;
39     virtual wxString GetDataDir() const;
40     virtual wxString GetLocalDataDir() const;
41     virtual wxString GetUserDataDir() const;
42     virtual wxString GetPluginsDir() const;
43     virtual wxString GetResourcesDir() const;
44     virtual wxString
45     GetLocalizedResourcesDir(const wxChar *lang,
46                              ResourceCat category = ResourceCat_None) const;
47     virtual wxString GetDocumentsDir() const;
48 
49 protected:
50     // this function can be called with any of CFBundleCopyXXXURL function
51     // pointer as parameter
52     wxString GetFromFunc(wxCFURLRef (*func)(wxCFBundleRef)) const;
53 
54     wxCFBundleRef m_bundle;
55 };
56 
57 // If using UNIX (i.e. darwin) then use UNIX standard paths
58 #if defined(__UNIX__)
59 #include "wx/unix/stdpaths.h"
60 #else
61 // If compiling wxMac for CarbonLib then we are wxStandardPaths
62 class WXDLLIMPEXP_BASE wxStandardPaths: public wxStandardPathsCF
63 {
64 };
65 #endif
66 
67 #endif // _WX_MAC_STDPATHS_H_
68