Blender  V3.3
Macros
preferences.c File Reference
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_fileops.h"
#include "BLI_listbase.h"
#include "BLI_path_util.h"
#include "BLI_string.h"
#include "BLI_string_utf8.h"
#include "BLI_string_utils.h"
#include "BKE_appdir.h"
#include "BKE_preferences.h"
#include "BLT_translation.h"
#include "DNA_userdef_types.h"

Go to the source code of this file.

Macros

#define U   BLI_STATIC_ASSERT(false, "Global 'U' not allowed, only use arguments passed in!")
 

Functions

Asset Libraries
bUserAssetLibraryBKE_preferences_asset_library_add (UserDef *userdef, const char *name, const char *path)
 
void BKE_preferences_asset_library_remove (UserDef *userdef, bUserAssetLibrary *library)
 
void BKE_preferences_asset_library_name_set (UserDef *userdef, bUserAssetLibrary *library, const char *name)
 
void BKE_preferences_asset_library_path_set (bUserAssetLibrary *library, const char *path)
 
bUserAssetLibraryBKE_preferences_asset_library_find_from_index (const UserDef *userdef, int index)
 
bUserAssetLibraryBKE_preferences_asset_library_find_from_name (const UserDef *userdef, const char *name)
 
bUserAssetLibraryBKE_preferences_asset_library_containing_path (const UserDef *userdef, const char *path)
 
int BKE_preferences_asset_library_get_index (const UserDef *userdef, const bUserAssetLibrary *library)
 
void BKE_preferences_asset_library_default_add (UserDef *userdef)
 

Detailed Description

User defined asset library API.

Definition in file preferences.c.

Macro Definition Documentation

◆ U

#define U   BLI_STATIC_ASSERT(false, "Global 'U' not allowed, only use arguments passed in!")

Definition at line 27 of file preferences.c.

Function Documentation

◆ BKE_preferences_asset_library_add()

bUserAssetLibrary* BKE_preferences_asset_library_add ( UserDef userdef,
const char *  name,
const char *  path 
)

◆ BKE_preferences_asset_library_containing_path()

bUserAssetLibrary* BKE_preferences_asset_library_containing_path ( const UserDef userdef,
const char *  path 
)

Definition at line 88 of file preferences.c.

References UserDef::asset_libraries, BLI_path_contains(), LISTBASE_FOREACH, and NULL.

◆ BKE_preferences_asset_library_default_add()

void BKE_preferences_asset_library_default_add ( UserDef userdef)

◆ BKE_preferences_asset_library_find_from_index()

bUserAssetLibrary* BKE_preferences_asset_library_find_from_index ( const UserDef userdef,
int  index 
)

Definition at line 77 of file preferences.c.

References UserDef::asset_libraries, and BLI_findlink().

◆ BKE_preferences_asset_library_find_from_name()

bUserAssetLibrary* BKE_preferences_asset_library_find_from_name ( const UserDef userdef,
const char *  name 
)

Definition at line 82 of file preferences.c.

References UserDef::asset_libraries, and BLI_findstring().

◆ BKE_preferences_asset_library_get_index()

int BKE_preferences_asset_library_get_index ( const UserDef userdef,
const bUserAssetLibrary library 
)

Definition at line 99 of file preferences.c.

References UserDef::asset_libraries, BLI_findindex(), and library.

◆ BKE_preferences_asset_library_name_set()

void BKE_preferences_asset_library_name_set ( UserDef userdef,
bUserAssetLibrary library,
const char *  name 
)

◆ BKE_preferences_asset_library_path_set()

void BKE_preferences_asset_library_path_set ( struct bUserAssetLibrary library,
const char *  path 
)

Set the library path, ensuring it is pointing to a directory. Single blend files can only act as "Current File" library; libraries on disk should always be directories. If the path does not exist, that's fine; it can created as directory if necessary later.

Definition at line 69 of file preferences.c.

References BLI_is_file(), BLI_path_parent_dir(), BLI_strncpy(), and library.

◆ BKE_preferences_asset_library_remove()

void BKE_preferences_asset_library_remove ( struct UserDef userdef,
struct bUserAssetLibrary library 
)

Unlink and free a library preference member.

Note
Free's library itself.

Definition at line 51 of file preferences.c.

References UserDef::asset_libraries, BLI_freelinkN(), and library.

Referenced by preferences_asset_library_remove_exec(), and blender::bke::tests::AssetCatalogTest::save_from_memory_into_existing_asset_lib().