Ember
Loading...
Searching...
No Matches
EmberCore::ConfigManager Class Reference

Manages parser configuration profiles. More...

#include <ConfigManager.h>

Public Member Functions

 ConfigManager (const ConfigManager &)=delete
ConfigManageroperator= (const ConfigManager &)=delete
bool LoadProfiles ()
bool SaveProfiles ()
bool SaveProfile (const String &profile_name)
bool AddProfile (std::shared_ptr< ParserProfile > profile)
bool RemoveProfile (const String &profile_name)
bool RenameProfile (const String &old_name, const String &new_name)
std::shared_ptr< ParserProfileGetProfile (const String &profile_name) const
std::shared_ptr< ParserProfileGetActiveProfile () const
std::vector< StringGetProfileNames () const
bool HasProfile (const String &profile_name) const
bool SetActiveProfile (const String &profile_name)
String GetActiveProfileName () const
bool ExportProfile (const String &profile_name, const String &filepath)
bool ImportProfile (const String &filepath, bool make_active=false)
String GetProfilesDirectory () const
bool EnsureProfilesDirectoryExists ()
void ResetToDefaults ()
size_t GetProfileCount () const

Static Public Member Functions

static ConfigManagerGetInstance ()

Private Member Functions

 ConfigManager ()
 ~ConfigManager ()=default
void InitializeDefaultProfiles ()
bool LoadConfigFile ()
bool SaveConfigFile ()
String GetProfileFilePath (const String &profile_name) const
std::shared_ptr< ParserProfileLoadProfileFromFile (const String &filepath)
std::shared_ptr< ParserProfileGetProfileInternal (const String &profile_name) const
bool HasProfileInternal (const String &profile_name) const
void InitializeDefaultProfilesInternal ()
bool SaveProfilesInternal ()

Private Attributes

std::mutex mutex_
std::map< String, std::shared_ptr< ParserProfile > > profiles_
String active_profile_name_
String profiles_directory_
String config_file_

Static Private Attributes

static const String DEFAULT_PROFILE_NAME = "Default"
static const String GENERIC_PROFILE_NAME = "Generic"

Detailed Description

Manages parser configuration profiles.

This singleton class handles loading, saving, and managing parser profiles. It maintains a collection of profiles and tracks the active profile.

Definition at line 18 of file ConfigManager.h.

Constructor & Destructor Documentation

◆ ConfigManager() [1/2]

EmberCore::ConfigManager::ConfigManager ( const ConfigManager & )
delete

◆ ConfigManager() [2/2]

EmberCore::ConfigManager::ConfigManager ( )
private

Definition at line 28 of file ConfigManager.cpp.

◆ ~ConfigManager()

EmberCore::ConfigManager::~ConfigManager ( )
privatedefault

Member Function Documentation

◆ AddProfile()

bool EmberCore::ConfigManager::AddProfile ( std::shared_ptr< ParserProfile > profile)

Definition at line 229 of file ConfigManager.cpp.

◆ EnsureProfilesDirectoryExists()

bool EmberCore::ConfigManager::EnsureProfilesDirectoryExists ( )

Definition at line 96 of file ConfigManager.cpp.

◆ ExportProfile()

bool EmberCore::ConfigManager::ExportProfile ( const String & profile_name,
const String & filepath )

Definition at line 378 of file ConfigManager.cpp.

◆ GetActiveProfile()

std::shared_ptr< ParserProfile > EmberCore::ConfigManager::GetActiveProfile ( ) const

Definition at line 341 of file ConfigManager.cpp.

◆ GetActiveProfileName()

String EmberCore::ConfigManager::GetActiveProfileName ( ) const
inline

Definition at line 45 of file ConfigManager.h.

◆ GetInstance()

ConfigManager & EmberCore::ConfigManager::GetInstance ( )
static

Definition at line 23 of file ConfigManager.cpp.

◆ GetProfile()

std::shared_ptr< ParserProfile > EmberCore::ConfigManager::GetProfile ( const String & profile_name) const

Definition at line 336 of file ConfigManager.cpp.

◆ GetProfileCount()

size_t EmberCore::ConfigManager::GetProfileCount ( ) const
inline

Definition at line 57 of file ConfigManager.h.

◆ GetProfileFilePath()

String EmberCore::ConfigManager::GetProfileFilePath ( const String & profile_name) const
private

Definition at line 433 of file ConfigManager.cpp.

◆ GetProfileInternal()

std::shared_ptr< ParserProfile > EmberCore::ConfigManager::GetProfileInternal ( const String & profile_name) const
private

Definition at line 324 of file ConfigManager.cpp.

◆ GetProfileNames()

std::vector< String > EmberCore::ConfigManager::GetProfileNames ( ) const

Definition at line 343 of file ConfigManager.cpp.

◆ GetProfilesDirectory()

String EmberCore::ConfigManager::GetProfilesDirectory ( ) const
inline

Definition at line 52 of file ConfigManager.h.

◆ HasProfile()

bool EmberCore::ConfigManager::HasProfile ( const String & profile_name) const

Definition at line 356 of file ConfigManager.cpp.

◆ HasProfileInternal()

bool EmberCore::ConfigManager::HasProfileInternal ( const String & profile_name) const
private

Definition at line 332 of file ConfigManager.cpp.

◆ ImportProfile()

bool EmberCore::ConfigManager::ImportProfile ( const String & filepath,
bool make_active = false )

Definition at line 390 of file ConfigManager.cpp.

◆ InitializeDefaultProfiles()

void EmberCore::ConfigManager::InitializeDefaultProfiles ( )
private

Definition at line 120 of file ConfigManager.cpp.

◆ InitializeDefaultProfilesInternal()

void EmberCore::ConfigManager::InitializeDefaultProfilesInternal ( )
private

Definition at line 125 of file ConfigManager.cpp.

◆ LoadConfigFile()

bool EmberCore::ConfigManager::LoadConfigFile ( )
private

Definition at line 445 of file ConfigManager.cpp.

◆ LoadProfileFromFile()

std::shared_ptr< ParserProfile > EmberCore::ConfigManager::LoadProfileFromFile ( const String & filepath)
private

Definition at line 179 of file ConfigManager.cpp.

◆ LoadProfiles()

bool EmberCore::ConfigManager::LoadProfiles ( )

Definition at line 140 of file ConfigManager.cpp.

◆ operator=()

ConfigManager & EmberCore::ConfigManager::operator= ( const ConfigManager & )
delete

◆ RemoveProfile()

bool EmberCore::ConfigManager::RemoveProfile ( const String & profile_name)

Definition at line 250 of file ConfigManager.cpp.

◆ RenameProfile()

bool EmberCore::ConfigManager::RenameProfile ( const String & old_name,
const String & new_name )

Definition at line 282 of file ConfigManager.cpp.

◆ ResetToDefaults()

void EmberCore::ConfigManager::ResetToDefaults ( )

Definition at line 423 of file ConfigManager.cpp.

◆ SaveConfigFile()

bool EmberCore::ConfigManager::SaveConfigFile ( )
private

Definition at line 479 of file ConfigManager.cpp.

◆ SaveProfile()

bool EmberCore::ConfigManager::SaveProfile ( const String & profile_name)

Definition at line 218 of file ConfigManager.cpp.

◆ SaveProfiles()

bool EmberCore::ConfigManager::SaveProfiles ( )

Definition at line 191 of file ConfigManager.cpp.

◆ SaveProfilesInternal()

bool EmberCore::ConfigManager::SaveProfilesInternal ( )
private

Definition at line 196 of file ConfigManager.cpp.

◆ SetActiveProfile()

bool EmberCore::ConfigManager::SetActiveProfile ( const String & profile_name)

Definition at line 361 of file ConfigManager.cpp.

Member Data Documentation

◆ active_profile_name_

String EmberCore::ConfigManager::active_profile_name_
private

Definition at line 87 of file ConfigManager.h.

◆ config_file_

String EmberCore::ConfigManager::config_file_
private

Definition at line 89 of file ConfigManager.h.

◆ DEFAULT_PROFILE_NAME

const String EmberCore::ConfigManager::DEFAULT_PROFILE_NAME = "Default"
staticprivate

Definition at line 92 of file ConfigManager.h.

◆ GENERIC_PROFILE_NAME

const String EmberCore::ConfigManager::GENERIC_PROFILE_NAME = "Generic"
staticprivate

Definition at line 93 of file ConfigManager.h.

◆ mutex_

std::mutex EmberCore::ConfigManager::mutex_
mutableprivate

Definition at line 83 of file ConfigManager.h.

◆ profiles_

std::map<String, std::shared_ptr<ParserProfile> > EmberCore::ConfigManager::profiles_
private

Definition at line 86 of file ConfigManager.h.

◆ profiles_directory_

String EmberCore::ConfigManager::profiles_directory_
private

Definition at line 88 of file ConfigManager.h.


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