42 std::unique_ptr<AssetCatalogCollection> catalog_collection_;
47 std::unique_ptr<AssetCatalogTree> catalog_tree_;
48 std::mutex catalog_tree_mutex_;
54 const bool is_read_only_ =
false;
struct bUUID bUUID
Universally Unique Identifier according to RFC4122.
bool contains(CatalogID asset_catalog_id) const
bool is_known(CatalogID asset_catalog_id) const
AssetCatalogFilter(Set< CatalogID > &&matching_catalog_ids, Set< CatalogID > &&known_catalog_ids)
bool is_undo_possbile() const
void prepare_to_merge_on_write()
void delete_catalog_by_id_soft(CatalogID catalog_id)
void load_single_file(const CatalogFilePath &catalog_definition_file_path)
AssetCatalogFilter create_catalog_filter(CatalogID active_catalog_id) const
AssetCatalog * find_catalog_by_path(const AssetCatalogPath &path) const
AssetCatalog * find_catalog(CatalogID catalog_id) const
void delete_catalog_by_id_hard(CatalogID catalog_id)
void prune_catalogs_by_path(const AssetCatalogPath &path)
bool write_to_disk(const CatalogFilePath &blend_file_path)
bool has_unsaved_changes() const
std::unique_ptr< AssetCatalogTree > read_into_tree() const
void purge_catalogs_not_listed(const Set< CatalogID > &catalogs_to_keep)
std::unique_ptr< AssetCatalogDefinitionFile > parse_catalog_file(const CatalogFilePath &catalog_definition_file_path)
std::unique_ptr< AssetCatalogDefinitionFile > construct_cdf_in_memory(const CatalogFilePath &file_path) const
void create_missing_catalogs()
AssetCatalogService(const CatalogFilePath &asset_library_root={})
void tag_all_catalogs_as_unsaved_changes()
AssetCatalog * create_catalog(const AssetCatalogPath &catalog_path)
void update_catalog_path(CatalogID catalog_id, const AssetCatalogPath &new_catalog_path)
bool is_read_only() const
void prune_catalogs_by_id(CatalogID catalog_id)
void invalidate_catalog_tree()
void add_from_existing(const AssetCatalogService &other_service, FunctionRef< void(const AssetCatalog &existing, const AssetCatalog &to_be_ignored)> on_duplicate_items)
void untag_has_unsaved_changes()
bool is_redo_possbile() const
static CatalogFilePath find_suitable_cdf_path_for_writing(const CatalogFilePath &blend_file_path)
bool write_to_disk_ex(const CatalogFilePath &blend_file_path)
void load_directory_recursive(const CatalogFilePath &directory_path)
bool is_catalog_known_with_unsaved_changes(CatalogID catalog_id) const
const OwningAssetCatalogMap & get_deleted_catalogs() const
static const CatalogFilePath DEFAULT_CATALOG_FILENAME
bool is_catalog_known(CatalogID catalog_id) const
void tag_has_unsaved_changes(AssetCatalog *edited_catalog)
const AssetCatalogDefinitionFile * get_catalog_definition_file() const
const AssetCatalogTree & catalog_tree()
const OwningAssetCatalogMap & get_catalogs() const
const CatalogID catalog_id
static std::unique_ptr< AssetCatalog > from_path(const AssetCatalogPath &path)
void simple_name_refresh()
static std::string sensible_simple_name_for_path(const AssetCatalogPath &path)
struct blender::asset_system::AssetCatalog::Flags flags
local_group_size(16, 16) .push_constant(Type rhs
std::set< AssetCatalog *, AssetCatalogLessThan > MutableAssetCatalogOrderedSet
std::set< const AssetCatalog *, AssetCatalogLessThan > AssetCatalogOrderedSet
std::string CatalogFilePath
std::string CatalogPathComponent
Universally Unique Identifier according to RFC4122.
bool operator()(const AssetCatalog *lhs, const AssetCatalog *rhs) const