Blender  V3.3
BKE_appdir.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 #pragma once
3 
11 #include <stddef.h>
12 
13 #include "BLI_compiler_attrs.h"
14 
15 #ifdef __cplusplus
16 extern "C" {
17 #endif
18 
19 struct ListBase;
20 
30 void BKE_appdir_init(void);
31 void BKE_appdir_exit(void);
32 
49 const char *BKE_appdir_folder_home(void);
59 bool BKE_appdir_folder_documents(char *dir);
69 bool BKE_appdir_folder_caches(char *r_path, size_t path_len);
77 bool BKE_appdir_folder_id_ex(int folder_id, const char *subfolder, char *path, size_t path_len);
78 const char *BKE_appdir_folder_id(int folder_id, const char *subfolder);
82 const char *BKE_appdir_folder_id_create(int folder_id, const char *subfolder);
86 const char *BKE_appdir_folder_id_user_notest(int folder_id, const char *subfolder);
91 const char *BKE_appdir_folder_id_version(int folder_id, int version, bool check_is_dir);
92 
101 bool BKE_appdir_app_template_any(void);
102 bool BKE_appdir_app_template_id_search(const char *app_template, char *path, size_t path_len);
104 void BKE_appdir_app_templates(struct ListBase *templates);
105 
109 void BKE_appdir_program_path_init(const char *argv0);
110 
114 const char *BKE_appdir_program_path(void);
118 const char *BKE_appdir_program_dir(void);
119 
123 bool BKE_appdir_font_folder_default(char *dir);
124 
128 bool BKE_appdir_program_python_search(char *fullpath,
129  size_t fullpath_len,
130  int version_major,
131  int version_minor);
132 
136 void BKE_tempdir_init(const char *userdir);
137 
141 const char *BKE_tempdir_base(void);
145 const char *BKE_tempdir_session(void);
149 void BKE_tempdir_session_purge(void);
150 
151 /* folder_id */
152 enum {
153  /* general, will find based on user/local/system priority */
155 
156  /* user-specific */
161 
162  /* system */
166 };
167 
168 /* for BKE_appdir_folder_id_version only */
169 enum {
173 };
174 
175 #define BLENDER_STARTUP_FILE "startup.blend"
176 #define BLENDER_USERPREF_FILE "userpref.blend"
177 #define BLENDER_QUIT_FILE "quit.blend"
178 #define BLENDER_BOOKMARK_FILE "bookmarks.txt"
179 #define BLENDER_HISTORY_FILE "recent-files.txt"
180 #define BLENDER_PLATFORM_SUPPORT_FILE "platform_support.txt"
181 
182 #ifdef __cplusplus
183 }
184 #endif
bool BKE_appdir_app_template_any(void)
Definition: appdir.c:966
void BKE_tempdir_init(const char *userdir)
Definition: appdir.c:1133
const char * BKE_appdir_folder_default_or_root(void) ATTR_WARN_UNUSED_RESULT ATTR_RETURNS_NONNULL
Definition: appdir.c:153
const char * BKE_appdir_folder_id_user_notest(int folder_id, const char *subfolder)
Definition: appdir.c:681
bool BKE_appdir_font_folder_default(char *dir)
Definition: appdir.c:227
const char * BKE_appdir_folder_id_create(int folder_id, const char *subfolder)
Definition: appdir.c:727
const char * BKE_appdir_folder_id_version(int folder_id, int version, bool check_is_dir)
Definition: appdir.c:752
bool BKE_appdir_app_is_portable_install(void)
Definition: appdir.c:404
bool BKE_appdir_folder_documents(char *dir)
Definition: appdir.c:173
void BKE_appdir_init(void)
Definition: appdir.c:88
const char * BKE_appdir_folder_id(int folder_id, const char *subfolder)
Definition: appdir.c:672
bool BKE_appdir_app_template_has_userpref(const char *app_template)
Definition: appdir.c:992
void BKE_appdir_app_templates(struct ListBase *templates)
Definition: appdir.c:1012
void BKE_appdir_exit(void)
Definition: appdir.c:96
void BKE_tempdir_session_purge(void)
Definition: appdir.c:1159
void BKE_appdir_program_path_init(const char *argv0)
Definition: appdir.c:861
const char * BKE_appdir_folder_home(void)
Definition: appdir.c:162
const char * BKE_tempdir_session(void)
@ BLENDER_RESOURCE_PATH_SYSTEM
Definition: BKE_appdir.h:172
@ BLENDER_RESOURCE_PATH_LOCAL
Definition: BKE_appdir.h:171
@ BLENDER_RESOURCE_PATH_USER
Definition: BKE_appdir.h:170
bool BKE_appdir_app_template_id_search(const char *app_template, char *path, size_t path_len)
Definition: appdir.c:980
bool BKE_appdir_folder_id_ex(int folder_id, const char *subfolder, char *path, size_t path_len)
Definition: appdir.c:568
const char * BKE_tempdir_base(void)
Definition: appdir.c:1154
bool BKE_appdir_folder_caches(char *r_path, size_t path_len)
Definition: appdir.c:203
const char * BKE_appdir_program_path(void)
Definition: appdir.c:867
const char * BKE_appdir_folder_default(void) ATTR_WARN_UNUSED_RESULT
Definition: appdir.c:127
@ BLENDER_USER_DATAFILES
Definition: BKE_appdir.h:158
@ BLENDER_SYSTEM_DATAFILES
Definition: BKE_appdir.h:163
@ BLENDER_DATAFILES
Definition: BKE_appdir.h:154
@ BLENDER_SYSTEM_PYTHON
Definition: BKE_appdir.h:165
@ BLENDER_SYSTEM_SCRIPTS
Definition: BKE_appdir.h:164
@ BLENDER_USER_AUTOSAVE
Definition: BKE_appdir.h:160
@ BLENDER_USER_CONFIG
Definition: BKE_appdir.h:157
@ BLENDER_USER_SCRIPTS
Definition: BKE_appdir.h:159
const char * BKE_appdir_program_dir(void)
Definition: appdir.c:873
const char * BKE_appdir_folder_root(void) ATTR_WARN_UNUSED_RESULT ATTR_RETURNS_NONNULL
Definition: appdir.c:142
bool BKE_appdir_program_python_search(char *fullpath, size_t fullpath_len, int version_major, int version_minor)
Definition: appdir.c:879
#define ATTR_WARN_UNUSED_RESULT
#define ATTR_RETURNS_NONNULL
char app_template[64]
Definition: wm_files.c:1021