SERiF 0.0.1a
3+1D Stellar Structure and Evolution
Loading...
Searching...
No Matches
serif::resource::ResourceManager Class Reference

#include <resourceManager.h>

Public Member Functions

std::vector< std::string > getAvailableResources () const
 Gets a list of available resources.
 
const types::Resource & getResource (const std::string &name) const
 Gets a resource by name.
 
bool loadResource (std::string &name)
 Loads a resource by name.
 
std::unordered_map< std::string, bool > loadAllResources ()
 Loads all resources.
 

Static Public Member Functions

static ResourceManager & getInstance ()
 Gets the singleton instance of the ResourceManager.
 

Private Member Functions

 ResourceManager ()
 Private constructor to prevent instantiation.
 
 ResourceManager (const ResourceManager &)=delete
 Deleted copy constructor to prevent copying.
 
ResourceManager & operator= (const ResourceManager &)=delete
 Deleted assignment operator to prevent assignment.
 
bool load (const std::string &name)
 Loads a resource by name.
 

Private Attributes

serif::config::Config & m_config = serif::config::Config::getInstance()
 
serif::probe::LogManager & m_logManager = serif::probe::LogManager::getInstance()
 
quill::Logger * m_logger = m_logManager.getLogger("log")
 
serif::config::Config m_resourceConfig
 
std::string m_dataDir
 
std::unordered_map< std::string, types::Resource > m_resources
 

Detailed Description

Definition at line 41 of file resourceManager.h.

Constructor & Destructor Documentation

◆ ResourceManager() [1/2]

ResourceManager::ResourceManager ( )
private

Private constructor to prevent instantiation.

Definition at line 38 of file resourceManager.cpp.

◆ ResourceManager() [2/2]

serif::resource::ResourceManager::ResourceManager ( const ResourceManager & )
privatedelete

Deleted copy constructor to prevent copying.

Member Function Documentation

◆ getAvailableResources()

std::vector< std::string > ResourceManager::getAvailableResources ( ) const

Gets a list of available resources.

Returns
A vector of strings containing the names of available resources.

Example usage:

std::vector<std::string> resources = manager.getAvailableResources();
ResourceManager()
Private constructor to prevent instantiation.
std::vector< std::string > getAvailableResources() const
Gets a list of available resources.
static ResourceManager & getInstance()
Gets the singleton instance of the ResourceManager.

Definition at line 53 of file resourceManager.cpp.

◆ getInstance()

static ResourceManager & serif::resource::ResourceManager::getInstance ( )
inlinestatic

Gets the singleton instance of the ResourceManager.

Returns
The singleton instance of the ResourceManager.

Definition at line 78 of file resourceManager.h.

◆ getResource()

const serif::resource::types::Resource & ResourceManager::getResource ( const std::string & name) const

Gets a resource by name.

Parameters
nameThe name of the resource to retrieve.
Returns
A constant reference to the requested resource.
Exceptions
std::runtime_errorif the resource is not found.

Example usage:

const Resource& resource = manager.getResource("exampleResource");
const types::Resource & getResource(const std::string &name) const
Gets a resource by name.

Definition at line 58 of file resourceManager.cpp.

◆ load()

bool ResourceManager::load ( const std::string & name)
private

Loads a resource by name.

Parameters
nameThe name of the resource to load.
Returns
True if the resource was loaded successfully, false otherwise.

Definition at line 70 of file resourceManager.cpp.

◆ loadAllResources()

std::unordered_map< std::string, bool > serif::resource::ResourceManager::loadAllResources ( )

Loads all resources.

Returns
An unordered map with resource names as keys and load success as values.

Example usage:

std::unordered_map<std::string, bool> results = manager.loadAllResources();
std::unordered_map< std::string, bool > loadAllResources()
Loads all resources.

◆ loadResource()

bool ResourceManager::loadResource ( std::string & name)

Loads a resource by name.

Parameters
nameThe name of the resource to load.
Returns
True if the resource was loaded successfully, false otherwise.

Example usage:

bool success = manager.loadResource("exampleResource");
bool loadResource(std::string &name)
Loads a resource by name.

Definition at line 66 of file resourceManager.cpp.

◆ operator=()

ResourceManager & serif::resource::ResourceManager::operator= ( const ResourceManager & )
privatedelete

Deleted assignment operator to prevent assignment.

Member Data Documentation

◆ m_config

serif::config::Config& serif::resource::ResourceManager::m_config = serif::config::Config::getInstance()
private

Definition at line 58 of file resourceManager.h.

◆ m_dataDir

std::string serif::resource::ResourceManager::m_dataDir
private

Definition at line 63 of file resourceManager.h.

◆ m_logger

quill::Logger* serif::resource::ResourceManager::m_logger = m_logManager.getLogger("log")
private

Definition at line 60 of file resourceManager.h.

◆ m_logManager

serif::probe::LogManager& serif::resource::ResourceManager::m_logManager = serif::probe::LogManager::getInstance()
private

Definition at line 59 of file resourceManager.h.

◆ m_resourceConfig

serif::config::Config serif::resource::ResourceManager::m_resourceConfig
private

Definition at line 62 of file resourceManager.h.

◆ m_resources

std::unordered_map<std::string, types::Resource> serif::resource::ResourceManager::m_resources
private

Definition at line 64 of file resourceManager.h.


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