CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
PackageManager.hpp
Go to the documentation of this file.
1//
2// CeresEngine - A game development framework
3//
4// Created by Rogiel Sulzbach.
5// Copyright (c) 2018-2022 Rogiel Sulzbach. All rights reserved.
6//
7
8#pragma once
9
10#include "Package.hpp"
11
14
15namespace CeresEngine {
16
45
46} // namespace CeresEngine
A retain-release type of smart pointer.
Definition SmartPtr.hpp:132
A package is a collection of resources that are stored in a single data blob.
Definition Package.hpp:54
A manager that handles packages, their loading, saving and other runtime related tasks.
Definition PackageManager.hpp:18
HashMap< UUID, Package * > mPackagesByUUID
A map that indexes the packages by their UUIDs.
Definition PackageManager.hpp:27
Async< PackagePtr > loadPackage(const PackageURL &url)
Async savePackage(const PackageURL &url, const PackagePtr &package)
HashMap< StringView, Package * > mPackagesByPath
A map that indices the packages by their paths.
Definition PackageManager.hpp:30
PackageManager(ResourceManager &resourceManager)
Creates a new package manager backed by the given resource manager.
~PackageManager() noexcept
Destroys the package manager.
ResourceManager & mResourceManager
The resource manager the packages should register its resources at.
Definition PackageManager.hpp:24
A ResourceData sub-class that represents a resource owned and contained within a package.
Definition Package.hpp:170
The ResourceManager is the main class responsible for managing and handling all resources in the engi...
Definition ResourceManager.hpp:47
A Uniform Resource Identifier (URI) is a unique sequence of characters that identifies a logical or p...
Definition URI.hpp:54
Definition Application.hpp:19
cti::continuable< Args... > Async
Defines a non-copyable continuation type which uses the function2 backend for type erasure.
Definition Async.hpp:22
std::unordered_map< Key, T, Hash, KeyEqual, ScopedAllocatorAdaptor< StdAllocator< Pair< const Key, T >, RawAllocator > > > HashMap
HashMap is an associative container that contains key-value pairs with unique keys.
Definition Map.hpp:33
constexpr size_t hash(const T &v)
Generates a hash for the provided type.
Definition Hash.hpp:25