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::ResourcegetResource (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 ResourceManagergetInstance ()
 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.
 
ResourceManageroperator= (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::LogManagerm_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::Resourcem_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: