Adds a new `source/blender/asset_system` directory and moves asset related files from BKE to it. More asset related code can follow (e.g. asset indexing, ED_assetlist stuff) but needs further work to untangle it. I also kept `BKE_asset.h` and `asset.cc` as is, since they deal with asset DNA data mostly, thus make sense in BKE. Motivation: - Makes the asset system design more present (term wasn't even used in code before). - An `asset_system` directory is quite descriptive (trivial to identify core asset system features) and makes it easy to find asset code. - Asset system is mostly runtime data, with little relation to other `Main`/BKE/DNA types. - There's a lot of stuff in BKE already. It shouldn't be just a dump for all stuff that seems core enough. - Being its own directly helps us be more mindful about encapsulating the module well, and avoiding dependencies on other modules. - We can be more free with splitting files here than in BKE. - In future there might be an asset system BPY module, which would then map quite nicely to the `asset_system` directory. Checked with some other core devs, consensus seems that this makes sense.
29 lines
664 B
C++
29 lines
664 B
C++
/* SPDX-License-Identifier: GPL-2.0-or-later */
|
|
|
|
/** \file
|
|
* \ingroup asset_system
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "BLI_compiler_attrs.h"
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
struct AssetMetaData;
|
|
|
|
/** C handle for #asset_system::AssetRepresentation. */
|
|
typedef struct AssetRepresentation AssetRepresentation;
|
|
|
|
const char *AS_asset_representation_name_get(const AssetRepresentation *asset)
|
|
ATTR_WARN_UNUSED_RESULT;
|
|
AssetMetaData *AS_asset_representation_metadata_get(const AssetRepresentation *asset)
|
|
ATTR_WARN_UNUSED_RESULT;
|
|
bool AS_asset_representation_is_local_id(const AssetRepresentation *asset) ATTR_WARN_UNUSED_RESULT;
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|