Keep up with configuration settings for RVM and it's jobs. More...
#include <rconfig.h>
Public Types | |
enum | action_type { action_help, action_version, action_archive, action_relink, action_check_config } |
enum | cfgfile_type { config_file, job_file } |
enum | overflow_type { overflow_quit, overflow_delete_oldest, overflow_delete_until_free } |
enum | selection_type { selection_round_robin, selection_max_free } |
enum | logging_type { logging_manager, logging_child, logging_rsync } |
typedef std::pair < cfgfile_type, std::string > | cfgfile_element |
typedef class std::vector < cfgfile_element > | cfgfiles_type |
typedef std::vector< job > | jobs_type |
typedef std::vector< std::string > | vaults_type |
Public Member Functions | |
void | clear (void) |
Reset configuration to default settings. | |
configuration_manager () | |
C'tor. | |
void | init (int argc, char const *argv[]) |
Initialize the configuration manager from rvm's command line options. | |
void | check (void) const |
Perform sanity checks on configuration settings. | |
const bool | initialized (void) const |
Return the initialized state of the configuration manager. | |
const action_type | action (void) const |
Return the action rvm is to take. | |
const bool | use_default (void) const |
Return whether or not rvm is to try to read it's default configuration file. | |
void | default_file (const std::string &a_path) |
Set the default configuration filename. | |
const std::string & | default_file (void) const |
Return the default configuration filename. | |
void | default_logdir (const std::string &a_path) |
Return the default log-dir. | |
class timestamp & | timestamp (void) const |
Return the timestamp of this instance of rvm. | |
const std::string & | link_catalog_dir (void) const |
Return the link-catalog-dir path. | |
const std::string & | log_dir (void) const |
Return the log-dir path. | |
const bool | delete_old_log_files (void) const |
Return the value of delete-old-log-files. | |
const bool | delete_old_report_files (void) const |
Return the value of delete-old-report-files. | |
const std::string & | rsync_local_path (void) const |
Return the rsync-local-path. | |
const uint16 & | rsync_parallel (void) const |
Return the rsync-parallel. | |
const uint16 & | io_poll_interval (void) const |
Return the number of seconds to sleep between polling for I/O. | |
const timestamp::resolution_type | timestamp_resolution (void) const |
Return the timestamp-resolution. | |
const vaults_type & | vaults (void) const |
Return the vaults. | |
const overflow_type & | vault_overflow_behavior (void) const |
Return the vault-overflow-behavior. | |
const uint16 & | vault_overflow_blocks (void) const |
Return the vault-overflow-blocks. | |
const uint16 & | vault_overflow_inodes (void) const |
Return the vault-overflow-inodes. | |
const selection_type & | vault_selection_behavior (void) const |
Return the vault-selection-behavior. | |
const bool | vault_locking (void) const |
Return the vault-locking selection. | |
const job & | default_job (void) const |
Return the default job configuration. | |
const jobs_type & | jobs (void) const |
Return a list of jobs. | |
const logging_type & | logging_level (void) const |
Return the logging-level. | |
const logging_type & | error_logging_level (void) const |
Return the error-logging-level. | |
Private Member Functions | |
void | read_config (const std::string &a_path) |
Read a configuration file. | |
void | read_job (const std::string &a_path) |
Read a job configuration file. | |
Private Attributes | |
bool | m_initialized |
uint16 | m_configs_read |
std::string | m_default_file |
action_type | m_action |
bool | m_default |
class timestamp | m_timestamp |
cfgfiles_type | m_cfgfiles |
std::string | m_link_catalog_dir |
std::string | m_log_dir |
std::string | m_rsync_local_path |
uint16 | m_rsync_parallel |
uint16 | m_io_poll_interval |
std::vector< std::string > | m_vaults |
overflow_type | m_vault_overflow_behavior |
uint16 | m_vault_overflow_blocks |
uint16 | m_vault_overflow_inodes |
selection_type | m_vault_selection_behavior |
bool | m_vault_locking |
bool | m_delete_old_log_files |
bool | m_delete_old_report_files |
job | m_default_job |
jobs_type | m_jobs |
logging_type | m_logging_level |
logging_type | m_error_logging_level |
Friends | |
class | global_parser |
class | job_parser |
Keep up with configuration settings for RVM and it's jobs.
Definition at line 200 of file rconfig.h.
typedef std::pair<cfgfile_type, std::string> configuration_manager::cfgfile_element |
typedef class std::vector< cfgfile_element > configuration_manager::cfgfiles_type |
typedef std::vector<job> configuration_manager::jobs_type |
typedef std::vector<std::string> configuration_manager::vaults_type |
configuration_manager::configuration_manager | ( | ) |
C'tor.
Definition at line 1105 of file rconfig.cc.
References clear(), config, and INTERNAL_ERROR.
const configuration_manager::action_type configuration_manager::action | ( | void | ) | const |
Return the action rvm is to take.
Definition at line 1341 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_action.
Referenced by log_manager::init(), and main().
void configuration_manager::check | ( | void | ) | const |
Perform sanity checks on configuration settings.
Definition at line 1276 of file rconfig.cc.
References ERROR, initialized(), INTERNAL_ERROR, jobs(), m_log_dir, m_rsync_local_path, m_vaults, filestatus::path(), subdirectory::path(), error::push_back(), TRY, TRY_instead, and TRY_nomem.
Referenced by init().
void configuration_manager::clear | ( | void | ) |
Reset configuration to default settings.
Definition at line 1073 of file rconfig.cc.
References action_help, job::clear(), CONFIGFILE, LOCAL_RSYNC, LOGDIR, logging_child, logging_rsync, m_action, m_cfgfiles, m_configs_read, m_default, m_default_file, m_default_job, m_delete_old_log_files, m_delete_old_report_files, m_error_logging_level, m_initialized, m_io_poll_interval, m_jobs, m_link_catalog_dir, m_log_dir, m_logging_level, m_rsync_local_path, m_rsync_parallel, m_timestamp, m_vault_locking, m_vault_overflow_behavior, m_vault_overflow_blocks, m_vault_overflow_inodes, m_vault_selection_behavior, m_vaults, overflow_quit, selection_round_robin, timestamp::set(), and TRY_nomem.
Referenced by configuration_manager(), test(), test_rvm(), and test_vaulter().
const std::string & configuration_manager::default_file | ( | void | ) | const |
Return the default configuration filename.
Definition at line 1365 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_default_file.
void configuration_manager::default_file | ( | const std::string & | a_path | ) |
Set the default configuration filename.
Definition at line 1359 of file rconfig.cc.
References m_default_file, and TRY_nomem.
Referenced by test(), test_rvm(), test_vaulter(), test_vaulter1(), test_vaulter2(), and test_vaulter3().
const job & configuration_manager::default_job | ( | void | ) | const |
Return the default job configuration.
Definition at line 1515 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_default_job.
Referenced by test().
void configuration_manager::default_logdir | ( | const std::string & | a_path | ) |
Return the default log-dir.
Definition at line 1374 of file rconfig.cc.
References m_log_dir, and TRY_nomem.
Referenced by test().
const bool configuration_manager::delete_old_log_files | ( | void | ) | const |
Return the value of delete-old-log-files.
Definition at line 1407 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_delete_old_log_files.
Referenced by vault_manager::delete_oldest_archive(), and test().
const bool configuration_manager::delete_old_report_files | ( | void | ) | const |
Return the value of delete-old-report-files.
Definition at line 1416 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_delete_old_report_files.
Referenced by vault_manager::delete_oldest_archive(), and test().
const configuration_manager::logging_type & configuration_manager::error_logging_level | ( | void | ) | const |
Return the error-logging-level.
Definition at line 1542 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_error_logging_level.
Referenced by log_manager::write().
void configuration_manager::init | ( | int | argc, | |
char const * | argv[] | |||
) |
Initialize the configuration manager from rvm's command line options.
Definition at line 1115 of file rconfig.cc.
References action_archive, action_check_config, action_help, action_relink, action_version, timestamp::assign(), check(), config_file, err_unknown, ERROR, ERROR_INSTANCE, job_file, m_action, m_cfgfiles, m_configs_read, m_default, m_default_file, m_initialized, m_timestamp, directory::path(), error::push_back(), read_config(), read_job(), TRY, TRY_nomem, and use_default().
Referenced by main(), test(), test_rvm(), test_vaulter(), test_vaulter1(), test_vaulter2(), and test_vaulter3().
const bool configuration_manager::initialized | ( | void | ) | const |
Return the initialized state of the configuration manager.
Definition at line 1334 of file rconfig.cc.
References m_initialized.
Referenced by action(), check(), default_file(), default_job(), delete_old_log_files(), delete_old_report_files(), error_logging_level(), report_manager::init(), io_poll_interval(), jobs(), link_catalog_dir(), log_dir(), logging_level(), main(), rsync_local_path(), rsync_parallel(), timestamp(), timestamp_resolution(), use_default(), vault_locking(), vault_overflow_behavior(), vault_overflow_blocks(), vault_overflow_inodes(), vault_selection_behavior(), and vaults().
const uint16 & configuration_manager::io_poll_interval | ( | void | ) | const |
Return the number of seconds to sleep between polling for I/O.
Definition at line 1443 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_io_poll_interval.
Referenced by job_archiver::mf_process_child_io(), and job_archiver::mf_process_rsync_io().
const configuration_manager::jobs_type & configuration_manager::jobs | ( | void | ) | const |
Return a list of jobs.
Definition at line 1524 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_jobs.
Referenced by archive_manager::archive(), check(), job::check(), test(), and test_rvm().
const std::string & configuration_manager::link_catalog_dir | ( | void | ) | const |
Return the link-catalog-dir path.
Definition at line 1389 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_link_catalog_dir.
Referenced by catalog_manager::catalog(), catalog_manager::erase(), and test().
const std::string & configuration_manager::log_dir | ( | void | ) | const |
Return the log-dir path.
Definition at line 1398 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_log_dir.
Referenced by vault_manager::delete_oldest_archive(), report_manager::file_report(), log_manager::init(), test(), and test_rvm().
const configuration_manager::logging_type & configuration_manager::logging_level | ( | void | ) | const |
Return the logging-level.
Definition at line 1533 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_logging_level.
Referenced by log_manager::write().
void configuration_manager::read_config | ( | const std::string & | a_path | ) | [private] |
Read a configuration file.
Definition at line 1551 of file rconfig.cc.
References ERROR, global_parser, m_configs_read, and TRY_nomem.
Referenced by init().
void configuration_manager::read_job | ( | const std::string & | a_path | ) | [private] |
Read a job configuration file.
Definition at line 1572 of file rconfig.cc.
References job::check(), ERROR, job_parser, m_default_job, and TRY_nomem.
Referenced by init().
const std::string & configuration_manager::rsync_local_path | ( | void | ) | const |
Return the rsync-local-path.
Definition at line 1425 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_rsync_local_path.
Referenced by job_archiver::mf_do_chores(), and test().
const uint16 & configuration_manager::rsync_parallel | ( | void | ) | const |
Return the rsync-parallel.
Definition at line 1434 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_rsync_parallel.
Referenced by archive_manager::archive(), and test().
class timestamp & configuration_manager::timestamp | ( | void | ) | const |
Return the timestamp of this instance of rvm.
Definition at line 1380 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_timestamp.
Referenced by archive_manager::archive_path(), vault_manager::delete_oldest_archive(), report_manager::file_report(), vault_report::format_synopsis(), log_manager::init(), archive_manager::init(), job_archiver::mf_do_chores(), vault_manager::select(), test(), and test_rvm().
const timestamp::resolution_type configuration_manager::timestamp_resolution | ( | void | ) | const |
Return the timestamp-resolution.
Definition at line 1452 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, m_timestamp, and timestamp::resolution().
Referenced by test().
const bool configuration_manager::use_default | ( | void | ) | const |
Return whether or not rvm is to try to read it's default configuration file.
Definition at line 1350 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_default.
Referenced by init().
const bool configuration_manager::vault_locking | ( | void | ) | const |
Return the vault-locking selection.
Definition at line 1506 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_vault_locking.
Referenced by vault_manager::select(), and test().
const configuration_manager::overflow_type & configuration_manager::vault_overflow_behavior | ( | void | ) | const |
Return the vault-overflow-behavior.
Definition at line 1470 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_vault_overflow_behavior.
Referenced by vault_manager::prepare(), and test().
const uint16 & configuration_manager::vault_overflow_blocks | ( | void | ) | const |
Return the vault-overflow-blocks.
Definition at line 1479 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_vault_overflow_blocks.
Referenced by vault_manager::overflow(), and test().
const uint16 & configuration_manager::vault_overflow_inodes | ( | void | ) | const |
Return the vault-overflow-inodes.
Definition at line 1488 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_vault_overflow_inodes.
Referenced by vault_manager::overflow(), and test().
const configuration_manager::selection_type & configuration_manager::vault_selection_behavior | ( | void | ) | const |
Return the vault-selection-behavior.
Definition at line 1497 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_vault_selection_behavior.
Referenced by vault_manager::select(), and test().
const configuration_manager::vaults_type & configuration_manager::vaults | ( | void | ) | const |
Return the vaults.
Definition at line 1461 of file rconfig.cc.
References initialized(), INTERNAL_ERROR, and m_vaults.
Referenced by catalog_manager::catalog(), vault_manager::select(), and test().
friend class global_parser [friend] |
Definition at line 292 of file rconfig.h.
Referenced by read_config().
friend class job_parser [friend] |
Definition at line 293 of file rconfig.h.
Referenced by read_job().
action_type configuration_manager::m_action [private] |
uint16 configuration_manager::m_configs_read [private] |
Definition at line 268 of file rconfig.h.
Referenced by clear(), init(), global_parser::read_config(), and read_config().
bool configuration_manager::m_default [private] |
Definition at line 271 of file rconfig.h.
Referenced by clear(), init(), and use_default().
std::string configuration_manager::m_default_file [private] |
Definition at line 269 of file rconfig.h.
Referenced by clear(), default_file(), and init().
job configuration_manager::m_default_job [private] |
Definition at line 287 of file rconfig.h.
Referenced by clear(), default_job(), global_parser::parse_default(), global_parser::parse_include_job(), global_parser::parse_job(), and read_job().
bool configuration_manager::m_delete_old_log_files [private] |
Definition at line 285 of file rconfig.h.
Referenced by clear(), delete_old_log_files(), and global_parser::parse_delete_old_log_files().
bool configuration_manager::m_delete_old_report_files [private] |
Definition at line 286 of file rconfig.h.
Referenced by clear(), delete_old_report_files(), and global_parser::parse_delete_old_report_files().
Definition at line 290 of file rconfig.h.
Referenced by clear(), error_logging_level(), and global_parser::parse_error_logging_level().
bool configuration_manager::m_initialized [private] |
Definition at line 267 of file rconfig.h.
Referenced by clear(), init(), and initialized().
Definition at line 278 of file rconfig.h.
Referenced by clear(), io_poll_interval(), and global_parser::parse_io_poll_interval().
jobs_type configuration_manager::m_jobs [private] |
Definition at line 288 of file rconfig.h.
Referenced by clear(), jobs(), global_parser::parse_include_job(), and global_parser::parse_job().
std::string configuration_manager::m_link_catalog_dir [private] |
Definition at line 274 of file rconfig.h.
Referenced by clear(), link_catalog_dir(), and global_parser::parse_link_catalog_dir().
std::string configuration_manager::m_log_dir [private] |
Definition at line 275 of file rconfig.h.
Referenced by check(), clear(), default_logdir(), log_dir(), and global_parser::parse_log_dir().
Definition at line 289 of file rconfig.h.
Referenced by clear(), logging_level(), and global_parser::parse_logging_level().
std::string configuration_manager::m_rsync_local_path [private] |
Definition at line 276 of file rconfig.h.
Referenced by check(), clear(), global_parser::parse_rsync_local_path(), and rsync_local_path().
Definition at line 277 of file rconfig.h.
Referenced by clear(), global_parser::parse_rsync_parallel(), and rsync_parallel().
class timestamp configuration_manager::m_timestamp [private] |
Definition at line 272 of file rconfig.h.
Referenced by clear(), init(), global_parser::parse_timestamp_resolution(), timestamp(), and timestamp_resolution().
bool configuration_manager::m_vault_locking [private] |
Definition at line 284 of file rconfig.h.
Referenced by clear(), global_parser::parse_vault_locking(), and vault_locking().
Definition at line 280 of file rconfig.h.
Referenced by clear(), global_parser::parse_vault_overflow_behavior(), and vault_overflow_behavior().
Definition at line 281 of file rconfig.h.
Referenced by clear(), global_parser::parse_vault_overflow_blocks(), and vault_overflow_blocks().
Definition at line 282 of file rconfig.h.
Referenced by clear(), global_parser::parse_vault_overflow_inodes(), and vault_overflow_inodes().
Definition at line 283 of file rconfig.h.
Referenced by clear(), global_parser::parse_vault_selection_behavior(), and vault_selection_behavior().
std::vector<std::string> configuration_manager::m_vaults [private] |