Blender V4.5
library.cc File Reference
#include <optional>
#include "CLG_log.h"
#include "DNA_ID.h"
#include "BLI_utildefines.h"
#include "BLI_ghash.h"
#include "BLI_listbase.h"
#include "BLI_path_utils.hh"
#include "BLI_set.hh"
#include "BLI_string.h"
#include "BLT_translation.hh"
#include "BLO_read_write.hh"
#include "BKE_bpath.hh"
#include "BKE_idtype.hh"
#include "BKE_lib_id.hh"
#include "BKE_lib_query.hh"
#include "BKE_library.hh"
#include "BKE_main.hh"
#include "BKE_main_namemap.hh"
#include "BKE_packedFile.hh"

Go to the source code of this file.

Functions

static void library_runtime_reset (Library *lib)
static void library_init_data (ID *id)
static void library_free_data (ID *id)
static void library_copy_data (Main *bmain, std::optional< Library * > owner_library, ID *id_dst, const ID *id_src, int)
static void library_foreach_id (ID *id, LibraryForeachIDData *data)
static void library_foreach_path (ID *id, BPathForeachPathData *bpath_data)
static void library_blend_write_data (BlendWriter *writer, ID *id, const void *id_address)
static void library_blend_read_data (BlendDataReader *, ID *id)
void BKE_library_filepath_set (Main *bmain, Library *lib, const char *filepath)
static void rebuild_hierarchy_best_parent_find (Main *bmain, blender::Set< Library * > &directly_used_libs, Library *lib)
void BKE_library_main_rebuild_hierarchy (Main *bmain)

Variables

static CLG_LogRef LOG = {"bke.library"}
IDTypeInfo IDType_ID_LI

Detailed Description

Contains code specific to the Library ID type.

Definition in file library.cc.

Function Documentation

◆ BKE_library_filepath_set()

void BKE_library_filepath_set ( Main * bmain,
Library * lib,
const char * filepath )

◆ BKE_library_main_rebuild_hierarchy()

◆ library_blend_read_data()

void library_blend_read_data ( BlendDataReader * ,
ID * id )
static

Definition at line 135 of file library.cc.

References lib.

◆ library_blend_write_data()

void library_blend_write_data ( BlendWriter * writer,
ID * id,
const void * id_address )
static

◆ library_copy_data()

void library_copy_data ( Main * bmain,
std::optional< Library * > owner_library,
ID * id_dst,
const ID * id_src,
int  )
static

◆ library_foreach_id()

void library_foreach_id ( ID * id,
LibraryForeachIDData * data )
static

Definition at line 92 of file library.cc.

References BKE_LIB_FOREACHID_PROCESS_IDSUPER, data, IDWALK_CB_NEVER_SELF, and lib.

◆ library_foreach_path()

void library_foreach_path ( ID * id,
BPathForeachPathData * bpath_data )
static

◆ library_free_data()

void library_free_data ( ID * id)
static

Definition at line 56 of file library.cc.

References BKE_packedfile_free(), and library_runtime_reset().

◆ library_init_data()

void library_init_data ( ID * id)
static

Definition at line 50 of file library.cc.

◆ library_runtime_reset()

void library_runtime_reset ( Library * lib)
static

Definition at line 45 of file library.cc.

References BKE_main_namemap_destroy(), and lib.

Referenced by library_free_data().

◆ rebuild_hierarchy_best_parent_find()

Variable Documentation

◆ IDType_ID_LI

IDTypeInfo IDType_ID_LI
Initial value:
= {
Library::id_type,
sizeof(Library),
"Library",
N_("libraries"),
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
nullptr,
}
@ IDTYPE_FLAGS_NO_ANIMDATA
Definition BKE_idtype.hh:46
@ IDTYPE_FLAGS_NO_LIBLINKING
Definition BKE_idtype.hh:32
@ IDTYPE_FLAGS_NEVER_UNUSED
Definition BKE_idtype.hh:69
#define BLT_I18NCONTEXT_ID_LIBRARY
@ INDEX_ID_LI
Definition DNA_ID.h:1189
#define FILTER_ID_LI
static void library_blend_read_data(BlendDataReader *, ID *id)
Definition library.cc:135
static void library_foreach_path(ID *id, BPathForeachPathData *bpath_data)
Definition library.cc:98
static void library_blend_write_data(BlendWriter *writer, ID *id, const void *id_address)
Definition library.cc:115
static void library_foreach_id(ID *id, LibraryForeachIDData *data)
Definition library.cc:92
static void library_init_data(ID *id)
Definition library.cc:50
static void library_copy_data(Main *bmain, std::optional< Library * > owner_library, ID *id_dst, const ID *id_src, int)
Definition library.cc:66
static void library_free_data(ID *id)
Definition library.cc:56
#define N_(msgid)

Definition at line 141 of file library.cc.

◆ LOG

CLG_LogRef LOG = {"bke.library"}
static

Definition at line 41 of file library.cc.