]> git.saurik.com Git - wxWidgets.git/blob - include/wx/mac/corefoundation/stdpaths.h
Add factory functions for use with future unit tests.
[wxWidgets.git] / include / wx / mac / corefoundation / stdpaths.h
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$
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 wxString& 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_