24#include "RNA_prototypes.hh"
44 &srna,
"asset_library_identifier",
nullptr, 0,
"Asset Library Identifier",
"");
47 &srna,
"relative_asset_identifier",
nullptr, 0,
"Relative Asset Identifier",
"");
74 matching_asset = &asset;
80 if (reports && !matching_asset) {
83 reports,
RPT_ERROR,
"No asset found at path \"%s\"", relative_identifier.
c_str());
89 return matching_asset;
114 matching_asset = &asset;
120 if (reports && !matching_asset) {
125 return matching_asset;
134 &
ptr,
"asset_library_identifier",
nullptr, 0,
nullptr);
136 &
ptr,
"relative_asset_identifier",
nullptr, 0,
nullptr);
Main runtime representation of an asset.
void BKE_reportf(ReportList *reports, eReportType type, const char *format,...) ATTR_PRINTF_FORMAT(3
void BKE_report(ReportList *reports, eReportType type, const char *message)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiLayoutSetContextString(uiLayout *layout, const char *name, blender::StringRef value)
void uiItemM(uiLayout *layout, const char *menuname, const char *name, int icon)
constexpr const char * c_str() const
const char * c_str() const
AssetCatalogPath catalog_path() const
StringRefNull get_name() const
std::string resolve_asset_weak_reference_to_full_path(const AssetWeakReference &asset_reference)
std::string full_path() const
StringRefNull library_relative_identifier() const
AssetWeakReference make_weak_reference() const
AssetLibraryReference all_library_reference()
void storage_fetch(const AssetLibraryReference *library_reference, const bContext *C)
asset_system::AssetLibrary * library_get_once_available(const AssetLibraryReference &library_reference)
void iterate(const AssetLibraryReference &library_reference, AssetListHandleIterFn fn, FunctionRef< bool(asset_system::AssetRepresentation &)> prefilter_fn=nullptr)
bool is_loaded(const AssetLibraryReference *library_reference)
const asset_system::AssetRepresentation * find_asset_from_weak_ref(const bContext &C, const AssetWeakReference &weak_ref, ReportList *reports)
static const asset_system::AssetRepresentation * get_local_asset_from_relative_identifier(const bContext &C, const StringRefNull relative_identifier, ReportList *reports)
void operator_asset_reference_props_register(StructRNA &srna)
void draw_menu_for_catalog(const asset_system::AssetCatalogTreeItem &item, const StringRefNull menu_name, uiLayout &layout)
const asset_system::AssetRepresentation * operator_asset_reference_props_get_asset_from_all_library(const bContext &C, PointerRNA &ptr, ReportList *reports)
void operator_asset_reference_props_set(const asset_system::AssetRepresentation &asset, PointerRNA &ptr)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
char * RNA_string_get_alloc(PointerRNA *ptr, const char *name, char *fixedbuf, int fixedlen, int *r_len)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
int RNA_enum_get(PointerRNA *ptr, const char *name)
const EnumPropertyItem rna_enum_asset_library_type_items[]
PropertyRNA * RNA_def_string(StructOrFunctionRNA *cont_, const char *identifier, const char *default_value, const int maxlen, const char *ui_name, const char *ui_description)
PropertyRNA * RNA_def_enum(StructOrFunctionRNA *cont_, const char *identifier, const EnumPropertyItem *items, const int default_value, const char *ui_name, const char *ui_description)
void RNA_def_property_flag(PropertyRNA *prop, PropertyFlag flag)
const char * relative_asset_identifier
const char * asset_library_identifier