Blender V4.3
asset_catalog_collection.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
11#include "AS_asset_catalog.hh"
12
13namespace blender::asset_system {
14
21 protected:
24
29
30 /* For now only a single catalog definition file is supported.
31 * The aim is to support an arbitrary number of such files per asset library in the future. */
32 std::unique_ptr<AssetCatalogDefinitionFile> catalog_definition_file_;
33
36
38
39 public:
43
44 std::unique_ptr<AssetCatalogCollection> deep_copy() const;
46 FunctionRef<void(const AssetCatalog &existing, const AssetCatalog &to_be_ignored)>;
55 OnDuplicateCatalogIdFn on_duplicate_items);
56
57 protected:
59};
60
61} // namespace blender::asset_system
void add_catalogs_from_existing(const AssetCatalogCollection &other, OnDuplicateCatalogIdFn on_duplicate_items)
AssetCatalogCollection(const AssetCatalogCollection &other)=delete
AssetCatalogCollection(AssetCatalogCollection &&other) noexcept=default
std::unique_ptr< AssetCatalogDefinitionFile > catalog_definition_file_
std::unique_ptr< AssetCatalogCollection > deep_copy() const
static OwningAssetCatalogMap copy_catalog_map(const OwningAssetCatalogMap &orig)