revert incorrect include path changes and removal of export macros for two libardour...
[ardour.git] / libs / pbd / pbd / fallback_folders.h
1 /*
2     Copyright (C) 2009 John Emmas
3
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
17
18 */
19 #ifndef __platform_fallback_folders_h__
20 #define __platform_fallback_folders_h__
21
22 #include <pbd/msvc_pbd.h>
23 #include <glib/gtypes.h>
24
25 #ifdef PLATFORM_WINDOWS // Would not be relevant for Cygwin!!
26         LIBPBD_API gchar* PBD_APICALLTYPE get_win_special_folder (int csidl);
27 #endif
28
29 namespace PBD {
30
31         typedef enum fallback_folder_t {
32                 FOLDER_LOCALE,
33                 FOLDER_GTK,
34                 FOLDER_CONFIG,
35                 FOLDER_ARDOUR,
36                 FOLDER_MODULE,
37                 FOLDER_DATA,
38                 FOLDER_ICONS,
39                 FOLDER_PIXMAPS,
40                 FOLDER_CONTROL_SURFACES,
41                 FOLDER_VAMP,
42                 FOLDER_LADSPA,
43                 FOLDER_VST,
44                 FOLDER_BUNDLED_LV2,
45                 FALLBACK_FOLDER_MAX
46         };
47
48 #ifdef __cplusplus
49 extern "C" {
50 #endif  /* __cplusplus */
51
52         LIBPBD_API G_CONST_RETURN gchar* PBD_APICALLTYPE get_platform_fallback_folder (PBD::fallback_folder_t index);
53         LIBPBD_API G_CONST_RETURN gchar* G_CONST_RETURN * PBD_APICALLTYPE alloc_platform_fallback_folders ();
54         LIBPBD_API void PBD_APICALLTYPE free_platform_fallback_folders ();
55
56 #ifdef __cplusplus
57 }               /* extern "C" */
58 #endif  /* __cplusplus */
59
60 }  // namespace PBD
61
62 #endif /* __platform_fallback_folders_h__ */