Changeset View
Changeset View
Standalone View
Standalone View
source/blender/blenkernel/BKE_asset_library.h
| Show All 14 Lines | |||||
| */ | */ | ||||
| /** \file | /** \file | ||||
| * \ingroup bke | * \ingroup bke | ||||
| */ | */ | ||||
| #pragma once | #pragma once | ||||
| struct Main; | |||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| extern "C" { | extern "C" { | ||||
| #endif | #endif | ||||
| /** Forward declaration, defined in intern/asset_library.hh */ | /** Forward declaration, defined in intern/asset_library.hh */ | ||||
| typedef struct AssetLibrary AssetLibrary; | typedef struct AssetLibrary AssetLibrary; | ||||
| /** TODO(@sybren): properly have a think/discussion about the API for this. */ | /** TODO(@sybren): properly have a think/discussion about the API for this. */ | ||||
| struct AssetLibrary *BKE_asset_library_load(const char *library_path); | struct AssetLibrary *BKE_asset_library_load(const char *library_path); | ||||
| void BKE_asset_library_free(struct AssetLibrary *asset_library); | void BKE_asset_library_free(struct AssetLibrary *asset_library); | ||||
| /** | |||||
| * Try to find an appropriate location for an asset library root from a file or directory path. | |||||
| * Does not check if \a input_path exists. | |||||
| * | |||||
sybren: Move documentation here, and document what the return value means | |||||
| * The design is made to find an appropriate asset library path from a .blend file path, but | |||||
| * technically works with any file or directory as \a input_path. | |||||
| * Design is: | |||||
| * * If \a input_path lies within a known asset library path (i.e. an asset library registered in | |||||
| * the Preferences), return the asset library path. | |||||
| * * Otherwise, if \a input_path has a parent path, return the parent path (e.g. to use the | |||||
| * directory a .blend file is in as asset library root). | |||||
| * * If \a input_path is empty or doesn't have a parent path (e.g. because a .blend wasn't saved | |||||
| * yet), there is no suitable path. The caller has to decide how to handle this case. | |||||
| * | |||||
| * \param r_library_path: The returned asset library path with a trailing slash, or an empty string | |||||
| * if no suitable path is found. Assumed to be a buffer of at least | |||||
| * #FILE_MAXDIR bytes. | |||||
| * | |||||
| * \return True if the function could find a valid, that is, a non-empty path to return in \a | |||||
| * r_library_path. | |||||
| */ | |||||
| bool BKE_asset_library_find_suitable_root_path_from_path( | |||||
| const char *input_path, char r_library_path[768 /* FILE_MAXDIR */]); | |||||
| /** | |||||
| * Uses the current location on disk of the file represented by \a bmain as input to | |||||
| * #BKE_asset_library_find_suitable_root_path_from_path(). Refer to it for a design | |||||
| * description. | |||||
| * | |||||
| * \return True if the function could find a valid, that is, a non-empty path to return in \a | |||||
| * r_library_path. If \a bmain wasn't saved into a file yet, the return value will be | |||||
| * false. | |||||
| */ | |||||
| bool BKE_asset_library_find_suitable_root_path_from_main( | |||||
| const struct Main *bmain, char r_library_path[768 /* FILE_MAXDIR */]); | |||||
| #ifdef __cplusplus | #ifdef __cplusplus | ||||
| } | } | ||||
| #endif | #endif | ||||
Move documentation here, and document what the return value means