diff options
author | Jacques Lucke <jacques@blender.org> | 2022-09-15 20:13:01 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2022-09-15 20:13:13 +0300 |
commit | 8b26349d5777179808792ab123f98f5a90428754 (patch) | |
tree | 35c9536193344664790b95e82c22fb488e1d4e5c /source/blender/blenloader/intern/readfile_tempload.c | |
parent | 9f76d0c8e6dd2570e0da1763fcadfb738add4be2 (diff) |
BLO: move blenloader to C++
Differential Revision: https://developer.blender.org/D15965
Diffstat (limited to 'source/blender/blenloader/intern/readfile_tempload.c')
-rw-r--r-- | source/blender/blenloader/intern/readfile_tempload.c | 59 |
1 files changed, 0 insertions, 59 deletions
diff --git a/source/blender/blenloader/intern/readfile_tempload.c b/source/blender/blenloader/intern/readfile_tempload.c deleted file mode 100644 index d642dbb5012..00000000000 --- a/source/blender/blenloader/intern/readfile_tempload.c +++ /dev/null @@ -1,59 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ - -/** \file - * \ingroup blenloader - */ -#include "BLO_readfile.h" - -#include "MEM_guardedalloc.h" - -#include "BLI_string.h" - -#include "BKE_main.h" -#include "BKE_report.h" - -#include "DNA_ID.h" - -TempLibraryContext *BLO_library_temp_load_id(struct Main *real_main, - const char *blend_file_path, - const short idcode, - const char *idname, - struct ReportList *reports) -{ - TempLibraryContext *temp_lib_ctx = MEM_callocN(sizeof(*temp_lib_ctx), __func__); - temp_lib_ctx->bmain_base = BKE_main_new(); - temp_lib_ctx->bf_reports.reports = reports; - - /* Copy the file path so any path remapping is performed properly. */ - STRNCPY(temp_lib_ctx->bmain_base->filepath, real_main->filepath); - - temp_lib_ctx->blendhandle = BLO_blendhandle_from_file(blend_file_path, - &temp_lib_ctx->bf_reports); - - BLO_library_link_params_init( - &temp_lib_ctx->liblink_params, temp_lib_ctx->bmain_base, 0, LIB_TAG_TEMP_MAIN); - - temp_lib_ctx->bmain_lib = BLO_library_link_begin( - &temp_lib_ctx->blendhandle, blend_file_path, &temp_lib_ctx->liblink_params); - - temp_lib_ctx->temp_id = BLO_library_link_named_part(temp_lib_ctx->bmain_lib, - &temp_lib_ctx->blendhandle, - idcode, - idname, - &temp_lib_ctx->liblink_params); - - return temp_lib_ctx; -} - -void BLO_library_temp_free(TempLibraryContext *temp_lib_ctx) -{ - /* This moves the temporary ID and any indirectly loaded data into `bmain_base` - * only to free `bmain_base`, while redundant this is the typical code-path for library linking, - * it's more convenient to follow this convention rather than create a new code-path for this - * one-off use case. */ - BLO_library_link_end( - temp_lib_ctx->bmain_lib, &temp_lib_ctx->blendhandle, &temp_lib_ctx->liblink_params); - BLO_blendhandle_close(temp_lib_ctx->blendhandle); - BKE_main_free(temp_lib_ctx->bmain_base); - MEM_freeN(temp_lib_ctx); -} |