Ansel 0.0
A darktable fork - bloat + design vision
Loading...
Searching...
No Matches
file_location.c File Reference
#include "config.h"
#include <pwd.h>
#include "osx/osx.h"
#include "common/grealpath.h"
#include "common/paths.h"
#include "darktable.h"
#include "file_location.h"
#include "whereami.h"
#include "system/macros.h"
#include "system/mem_alloc.h"
#include "common/logging.h"
#include "common/utility.h"
+ Include dependency graph for file_location.c:

Go to the source code of this file.

Macros

#define HAVE_GETPWNAM_R   1
 

Functions

void dt_loc_init (const char *datadir, const char *moduledir, const char *localedir, const char *configdir, const char *cachedir, const char *tmpdir, const char *kerneldir)
 
gchar * dt_loc_get_home_dir (const gchar *user)
 
gchar * dt_loc_init_generic (const char *absolute_value, const char *application_directory, const char *default_value)
 
void dt_loc_init_user_config_dir (const char *configdir)
 
void dt_loc_init_tmp_dir (const char *tmpdir)
 
void dt_loc_init_user_cache_dir (const char *cachedir)
 
void dt_loc_init_moduledir (const char *application_directory, const char *moduledir)
 
void dt_check_opendir (const char *context, const char *directory)
 
void dt_loc_init_localedir (const char *application_directory, const char *localedir)
 
void dt_loc_init_datadir (const char *application_directory, const char *datadir)
 
void dt_loc_init_sharedir (const char *application_directory)
 
void dt_loc_init_kerneldir (const char *application_directory, const char *kerneldir)
 
const char * dt_loc_datadir (void)
 
const char * dt_loc_sharedir (void)
 
const char * dt_loc_moduledir (void)
 
const char * dt_loc_localedir (void)
 
const char * dt_loc_tmpdir (void)
 
const char * dt_loc_configdir (void)
 
const char * dt_loc_cachedir (void)
 
const char * dt_loc_kerneldir (void)
 
void dt_loc_get_kerneldir (char *kerneldir, size_t bufsize)
 
void dt_loc_get_moduledir (char *moduledir, size_t bufsize)
 
void dt_loc_get_localedir (char *localedir, size_t bufsize)
 
void dt_loc_get_user_config_dir (char *configdir, size_t bufsize)
 
void dt_loc_get_user_cache_dir (char *cachedir, size_t bufsize)
 
void dt_loc_get_tmp_dir (char *tmpdir, size_t bufsize)
 
void dt_loc_get_datadir (char *datadir, size_t bufsize)
 
void dt_loc_get_sharedir (char *sharedir, size_t bufsize)
 

Macro Definition Documentation

◆ HAVE_GETPWNAM_R

#define HAVE_GETPWNAM_R   1

Definition at line 45 of file file_location.c.

Function Documentation

◆ dt_check_opendir()

void dt_check_opendir ( const char *  text,
const char *  directory 
)

◆ dt_loc_cachedir()

const char * dt_loc_cachedir ( void  )

Definition at line 329 of file file_location.c.

References darktable_t::cachedir, and darktable.

Referenced by dt_loc_get_user_cache_dir().

◆ dt_loc_configdir()

const char * dt_loc_configdir ( void  )

Definition at line 324 of file file_location.c.

References darktable_t::configdir, and darktable.

Referenced by dt_loc_get_user_config_dir(), and main().

◆ dt_loc_datadir()

const char * dt_loc_datadir ( void  )

interned read-only getters for the app-lifetime path constants. Written once at startup by the dt_loc_init_*() family, never mutated afterwards: the returned pointer is valid for the whole application lifetime. Do not free.

Definition at line 299 of file file_location.c.

References darktable, and darktable_t::datadir.

Referenced by dt_loc_get_datadir(), and main().

◆ dt_loc_get_datadir()

◆ dt_loc_get_home_dir()

gchar * dt_loc_get_home_dir ( const gchar *  user)

returns the users home directory

Definition at line 96 of file file_location.c.

References dt_free, and IS_NULL_PTR.

Referenced by _dt_check_basedir(), _init_expansion(), dt_conf_expand_default_dir(), and dt_util_fix_path().

◆ dt_loc_get_kerneldir()

void dt_loc_get_kerneldir ( char *  kerneldir,
size_t  bufsize 
)

Definition at line 339 of file file_location.c.

References dt_loc_kerneldir().

Referenced by dt_opencl_device_init(), and dt_opencl_md5sum().

◆ dt_loc_get_localedir()

void dt_loc_get_localedir ( char *  localedir,
size_t  bufsize 
)

Definition at line 349 of file file_location.c.

References dt_loc_localedir().

Referenced by dt_init(), dt_l10n_init(), get_language_names(), and main().

◆ dt_loc_get_moduledir()

void dt_loc_get_moduledir ( char *  moduledir,
size_t  bufsize 
)

Definition at line 344 of file file_location.c.

References dt_loc_moduledir().

Referenced by dt_module_read_manifest().

◆ dt_loc_get_sharedir()

void dt_loc_get_sharedir ( char *  sharedir,
size_t  bufsize 
)

Definition at line 370 of file file_location.c.

References dt_loc_sharedir().

Referenced by _splash_create_logo(), dt_gui_gtk_init(), and dt_init().

◆ dt_loc_get_tmp_dir()

void dt_loc_get_tmp_dir ( char *  tmpdir,
size_t  bufsize 
)

Definition at line 362 of file file_location.c.

References dt_loc_tmpdir().

Referenced by _print_job_run(), dt_print_file(), and store().

◆ dt_loc_get_user_cache_dir()

◆ dt_loc_get_user_config_dir()

◆ dt_loc_init()

void dt_loc_init ( const char *  datadir,
const char *  moduledir,
const char *  localedir,
const char *  configdir,
const char *  cachedir,
const char *  tmpdir,
const char *  kerneldir 
)

◆ dt_loc_init_datadir()

void dt_loc_init_datadir ( const char *  application_directory,
const char *  datadir 
)

init systemwide data dir

Definition at line 277 of file file_location.c.

References darktable, DARKTABLE_DATADIR, darktable_t::datadir, dt_check_opendir(), and dt_loc_init_generic().

Referenced by dt_loc_init(), and main().

◆ dt_loc_init_generic()

gchar * dt_loc_init_generic ( const char *  absolute_value,
const char *  application_directory,
const char *  default_value 
)

init specific dir. Value is appended if application_directory is not NULL (relative path resolution).

bundle detected ...

outside a bundle. Apply standard linux path rules

Definition at line 141 of file file_location.c.

References dt_free, dt_osx_get_bundle_res_path(), DT_PATH_MAX, dt_util_fix_path(), FALSE, and g_realpath().

Referenced by dt_loc_init_datadir(), dt_loc_init_kerneldir(), dt_loc_init_localedir(), dt_loc_init_moduledir(), dt_loc_init_sharedir(), dt_loc_init_tmp_dir(), dt_loc_init_user_cache_dir(), and dt_loc_init_user_config_dir().

◆ dt_loc_init_kerneldir()

void dt_loc_init_kerneldir ( const char *  application_directory,
const char *  kerneldir 
)

init OpenCL kernels dir

Definition at line 289 of file file_location.c.

References darktable, DARKTABLE_KERNELSDIR, dt_check_opendir(), dt_loc_init_generic(), and darktable_t::kerneldir.

Referenced by dt_loc_init().

◆ dt_loc_init_localedir()

void dt_loc_init_localedir ( const char *  application_directory,
const char *  localedir 
)

init the locale dir

Definition at line 271 of file file_location.c.

References darktable, DARKTABLE_LOCALEDIR, dt_check_opendir(), dt_loc_init_generic(), and darktable_t::localedir.

Referenced by dt_loc_init().

◆ dt_loc_init_moduledir()

void dt_loc_init_moduledir ( const char *  application_directory,
const char *  moduledir 
)

init the plugin dir

Definition at line 228 of file file_location.c.

References darktable, DARKTABLE_MODULEDIR, dt_check_opendir(), dt_loc_init_generic(), and darktable_t::moduledir.

Referenced by dt_loc_init().

◆ dt_loc_init_sharedir()

void dt_loc_init_sharedir ( const char *  application_directory)

init share dir

Definition at line 283 of file file_location.c.

References darktable, DARKTABLE_SHAREDIR, dt_check_opendir(), dt_loc_init_generic(), and darktable_t::sharedir.

Referenced by dt_loc_init().

◆ dt_loc_init_tmp_dir()

void dt_loc_init_tmp_dir ( const char *  tmpdir)

init user local dir

Definition at line 214 of file file_location.c.

References darktable, dt_check_opendir(), dt_loc_init_generic(), and darktable_t::tmpdir.

Referenced by dt_loc_init().

◆ dt_loc_init_user_cache_dir()

void dt_loc_init_user_cache_dir ( const char *  cachedir)

init user cache dir

Definition at line 220 of file file_location.c.

References darktable_t::cachedir, darktable, dt_check_opendir(), dt_free, and dt_loc_init_generic().

Referenced by dt_loc_init().

◆ dt_loc_init_user_config_dir()

void dt_loc_init_user_config_dir ( const char *  configdir)

init user config dir

Definition at line 206 of file file_location.c.

References darktable_t::configdir, darktable, dt_check_opendir(), dt_free, and dt_loc_init_generic().

Referenced by dt_loc_init(), and main().

◆ dt_loc_kerneldir()

const char * dt_loc_kerneldir ( void  )

Definition at line 334 of file file_location.c.

References darktable, and darktable_t::kerneldir.

Referenced by dt_loc_get_kerneldir().

◆ dt_loc_localedir()

const char * dt_loc_localedir ( void  )

Definition at line 314 of file file_location.c.

References darktable, and darktable_t::localedir.

Referenced by dt_loc_get_localedir().

◆ dt_loc_moduledir()

const char * dt_loc_moduledir ( void  )

Definition at line 309 of file file_location.c.

References darktable, and darktable_t::moduledir.

Referenced by dt_loc_get_moduledir().

◆ dt_loc_sharedir()

const char * dt_loc_sharedir ( void  )

Definition at line 304 of file file_location.c.

References darktable, and darktable_t::sharedir.

Referenced by dt_loc_get_sharedir().

◆ dt_loc_tmpdir()

const char * dt_loc_tmpdir ( void  )

Definition at line 319 of file file_location.c.

References darktable, and darktable_t::tmpdir.

Referenced by dt_loc_get_tmp_dir().