Cleanup: remove redundant doxygen \file argument
[blender.git] / source / blender / blenkernel / BKE_appdir.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  */
16 #ifndef __BKE_APPDIR_H__
17 #define __BKE_APPDIR_H__
18
19 /** \file \ingroup bli
20  */
21 struct ListBase;
22
23 /* note on naming: typical _get() suffix is omitted here,
24  * since its the main purpose of the API. */
25 const char *BKE_appdir_folder_default(void);
26 const char *BKE_appdir_folder_id_ex(const int folder_id, const char *subfolder, char *path, size_t path_len);
27 const char *BKE_appdir_folder_id(const int folder_id, const char *subfolder);
28 const char *BKE_appdir_folder_id_create(const int folder_id, const char *subfolder);
29 const char *BKE_appdir_folder_id_user_notest(const int folder_id, const char *subfolder);
30 const char *BKE_appdir_folder_id_version(const int folder_id, const int ver, const bool do_check);
31
32 bool BKE_appdir_app_is_portable_install(void);
33 bool BKE_appdir_app_template_any(void);
34 bool BKE_appdir_app_template_id_search(const char *app_template, char *path, size_t path_len);
35 void BKE_appdir_app_templates(struct ListBase *templates);
36
37 /* Initialize path to program executable */
38 void        BKE_appdir_program_path_init(const char *argv0);
39
40 const char *BKE_appdir_program_path(void);
41 const char *BKE_appdir_program_dir(void);
42
43 /* find python executable */
44 bool BKE_appdir_program_python_search(
45         char *fullpath, const size_t fullpath_len,
46         const int version_major, const int version_minor);
47
48 /* Initialize path to temporary directory. */
49 void        BKE_tempdir_init(char *userdir);
50 void        BKE_tempdir_system_init(char *dir);
51
52 const char *BKE_tempdir_base(void);
53 const char *BKE_tempdir_session(void);
54 void        BKE_tempdir_session_purge(void);
55
56
57 /* folder_id */
58 enum {
59         /* general, will find based on user/local/system priority */
60         BLENDER_DATAFILES           = 2,
61
62         /* user-specific */
63         BLENDER_USER_CONFIG         = 31,
64         BLENDER_USER_DATAFILES      = 32,
65         BLENDER_USER_SCRIPTS        = 33,
66         BLENDER_USER_AUTOSAVE       = 34,
67
68         /* system */
69         BLENDER_SYSTEM_DATAFILES    = 52,
70         BLENDER_SYSTEM_SCRIPTS      = 53,
71         BLENDER_SYSTEM_PYTHON       = 54,
72 };
73
74 /* for BKE_appdir_folder_id_version only */
75 enum {
76         BLENDER_RESOURCE_PATH_USER      = 0,
77         BLENDER_RESOURCE_PATH_LOCAL     = 1,
78         BLENDER_RESOURCE_PATH_SYSTEM    = 2,
79 };
80
81 #define BLENDER_STARTUP_FILE    "startup.blend"
82 #define BLENDER_USERPREF_FILE   "userpref.blend"
83 #define BLENDER_QUIT_FILE       "quit.blend"
84 #define BLENDER_BOOKMARK_FILE   "bookmarks.txt"
85 #define BLENDER_HISTORY_FILE    "recent-files.txt"
86
87 #endif  /* __BKE_APPDIR_H__ */