CeresEngine 0.2.0
A game development framework
Loading...
Searching...
No Matches
CeresEngine::PackageManager Class Referencefinal

A manager that handles packages, their loading, saving and other runtime related tasks. More...

#include <CeresEngine/Resource/PackageManager.hpp>

Public Member Functions

 PackageManager (ResourceManager &resourceManager)
 Creates a new package manager backed by the given resource manager.
 
 ~PackageManager () noexcept
 Destroys the package manager.
 
Async< PackagePtrloadPackage (const PackageURL &url)
 
Async savePackage (const PackageURL &url, const PackagePtr &package)
 
PackagePtr createPackage ()
 

Private Attributes

ResourceManagermResourceManager
 The resource manager the packages should register its resources at.
 
HashMap< UUID, Package * > mPackagesByUUID
 A map that indexes the packages by their UUIDs.
 
HashMap< StringView, Package * > mPackagesByPath
 A map that indices the packages by their paths.
 

Friends

class Package
 
class PackagedResourceData
 

Detailed Description

A manager that handles packages, their loading, saving and other runtime related tasks.

Constructor & Destructor Documentation

◆ PackageManager()

CeresEngine::PackageManager::PackageManager ( ResourceManager resourceManager)
explicit

Creates a new package manager backed by the given resource manager.

Parameters
resourceManagerThe resource manager that backs packages.

◆ ~PackageManager()

CeresEngine::PackageManager::~PackageManager ( )
noexcept

Destroys the package manager.

Member Function Documentation

◆ createPackage()

PackagePtr CeresEngine::PackageManager::createPackage ( )

◆ loadPackage()

Async< PackagePtr > CeresEngine::PackageManager::loadPackage ( const PackageURL url)

◆ savePackage()

Async CeresEngine::PackageManager::savePackage ( const PackageURL url,
const PackagePtr package 
)

Friends And Related Symbol Documentation

◆ Package

◆ PackagedResourceData

Member Data Documentation

◆ mPackagesByPath

HashMap<StringView, Package*> CeresEngine::PackageManager::mPackagesByPath
private

A map that indices the packages by their paths.

◆ mPackagesByUUID

HashMap<UUID, Package*> CeresEngine::PackageManager::mPackagesByUUID
private

A map that indexes the packages by their UUIDs.

◆ mResourceManager

ResourceManager& CeresEngine::PackageManager::mResourceManager
private

The resource manager the packages should register its resources at.


The documentation for this class was generated from the following file: