pub struct SettingsManager {
settings: Settings,
config_source: String,
}Expand description
Configuration manager that handles loading and accessing program settings.
Fields§
§settings: Settings§config_source: StringImplementations§
Source§impl SettingsManager
impl SettingsManager
Sourcepub fn load() -> Result<Self, ConfigError>
pub fn load() -> Result<Self, ConfigError>
Loads configuration from available configuration files.
Searches for configuration files in the following order:
./omecp_config.cfg(current working directory)~/.config/omecp/omecp_config.cfg(user configuration)/etc/omecp/omecp_config.cfg(system configuration)- Built-in defaults (fallback)
§Returns
Returns a Result containing:
Ok(SettingsManager)- Successfully loaded configurationErr(ConfigError)- Configuration loading failed
§Examples
use omecp::settings::SettingsManager;
let settings = SettingsManager::load()?;
println!("Configuration loaded from: {}", settings.config_source());Sourcepub fn config_source(&self) -> &str
pub fn config_source(&self) -> &str
Returns the source of the loaded configuration.
Sourcepub fn get_output_extension(&self, program: QMProgram) -> &str
pub fn get_output_extension(&self, program: QMProgram) -> &str
Gets the output file extension for the specified QM program.
§Arguments
program- The quantum chemistry program
§Returns
The file extension (without the dot) as a string slice
§Examples
use omecp::config::QMProgram;
use omecp::settings::SettingsManager;
let settings = SettingsManager::load()?;
let extension = settings.get_output_extension(QMProgram::Orca);
assert_eq!(extension, "out");Sourcepub fn general(&self) -> &GeneralSettings
pub fn general(&self) -> &GeneralSettings
Gets the general settings.
Sourcepub fn general_mut(&mut self) -> &mut GeneralSettings
pub fn general_mut(&mut self) -> &mut GeneralSettings
Gets mutable general settings.
Sourcepub fn logging(&self) -> &LoggingSettings
pub fn logging(&self) -> &LoggingSettings
Gets the logging settings.
Sourcepub fn extensions(&self) -> &ExtensionSettings
pub fn extensions(&self) -> &ExtensionSettings
Gets the extension settings.
Sourcepub fn cleanup(&self) -> &CleanupSettings
pub fn cleanup(&self) -> &CleanupSettings
Gets the cleanup settings.
Sourcefn load_from_files() -> Result<(Settings, String), ConfigError>
fn load_from_files() -> Result<(Settings, String), ConfigError>
Loads configuration from files with hierarchical precedence.
Sourcefn load_config(path: &Path) -> Result<Settings, ConfigError>
fn load_config(path: &Path) -> Result<Settings, ConfigError>
Loads configuration from a single INI file.
Sourcefn parse_extensions(
section: &HashMap<String, Option<String>>,
) -> Result<ExtensionSettings, ConfigError>
fn parse_extensions( section: &HashMap<String, Option<String>>, ) -> Result<ExtensionSettings, ConfigError>
Parses the extensions section from INI configuration.
Sourcefn parse_general(
section: &HashMap<String, Option<String>>,
) -> Result<GeneralSettings, ConfigError>
fn parse_general( section: &HashMap<String, Option<String>>, ) -> Result<GeneralSettings, ConfigError>
Parses the general section from INI configuration.
Sourcefn parse_logging(
section: &HashMap<String, Option<String>>,
) -> Result<LoggingSettings, ConfigError>
fn parse_logging( section: &HashMap<String, Option<String>>, ) -> Result<LoggingSettings, ConfigError>
Parses the logging section from INI configuration.
Sourcefn parse_cleanup(
section: &HashMap<String, Option<String>>,
) -> Result<CleanupSettings, ConfigError>
fn parse_cleanup( section: &HashMap<String, Option<String>>, ) -> Result<CleanupSettings, ConfigError>
Parses the cleanup section from INI configuration.
Sourcefn get_system_config_path() -> Option<PathBuf>
fn get_system_config_path() -> Option<PathBuf>
Gets the system configuration file path.
Sourcefn get_user_config_path() -> Option<PathBuf>
fn get_user_config_path() -> Option<PathBuf>
Gets the user configuration file path.
Source§impl SettingsManager
impl SettingsManager
Sourcepub fn create_template(path: &Path) -> Result<(), ConfigError>
pub fn create_template(path: &Path) -> Result<(), ConfigError>
Creates a default omecp_config.cfg file with all available configuration options.
This function generates a comprehensive configuration file template with:
- All available configuration sections and parameters
- Default values for each parameter
- Detailed comments explaining each option
- Examples of common customizations
§Arguments
path- Path where the omecp_config.cfg file should be created
§Returns
Returns a Result indicating success or failure of file creation
§Examples
use omecp::settings::SettingsManager;
use std::path::Path;
SettingsManager::create_template(Path::new("omecp_config.cfg"))?;Sourcefn generate_template_content() -> String
fn generate_template_content() -> String
Generates the content for a omecp_config.cfg template file.
Auto Trait Implementations§
impl Freeze for SettingsManager
impl RefUnwindSafe for SettingsManager
impl Send for SettingsManager
impl Sync for SettingsManager
impl Unpin for SettingsManager
impl UnsafeUnpin for SettingsManager
impl UnwindSafe for SettingsManager
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.