Hold configuration data for a single job. More...
#include <rconfig.h>
Public Types | |
enum | rsync_connection_type { connection_remote, connection_local, connection_server } |
enum | rsync_behavior_type { behavior_ok, behavior_fail, behavior_retry, behavior_retry_without_hardlinks } |
typedef std::vector< std::string > | excludes_type |
typedef std::vector< std::string > | includes_type |
typedef std::vector< std::string > | paths_type |
Public Member Functions | |
job () | |
C'tor. | |
job (const job &a_job) | |
C'tor. | |
void | clear (void) |
Clear values. | |
void | assign (const job &a_job) |
Assign values from another job instance. | |
job & | operator= (const job &a_job) |
Assignment. | |
const std::string | generate_archive_path (const std::string &a_path) const |
Generate the archive-path subdirectory for this job. | |
const std::string | generate_source_path (const std::string &a_path) const |
Generate the source path to be passed to rsync on the command line. | |
const std::string | generate_job_id (void) const |
Generate a unique ID string for this job. | |
const std::vector< std::string > | generate_rsync_options_vector (void) const |
const std::string | common_pathname (void) const |
Find the common pathname among all job paths (may be an empty string). | |
void | check (void) |
Perform sanity checks for the configuration settings of this job. | |
Public Attributes | |
std::string | default_config_path |
uint16 | default_config_line |
std::string | config_path |
uint16 | config_line |
class archive_path | archive_path |
excludes_type | excludes |
includes_type | includes |
std::string | groupname |
std::string | hostname |
std::string | jobname |
paths_type | paths |
class rsync_behavior | rsync_behavior |
rsync_connection_type | rsync_connection |
bool | rsync_hardlink |
bool | rsync_multi_hardlink |
uint16 | rsync_multi_hardlink_max |
std::string | rsync_options |
std::string | rsync_remote_user |
std::string | rsync_remote_path |
std::string | rsync_remote_module |
uint16 | rsync_remote_port |
uint16 | rsync_retry_count |
uint16 | rsync_retry_delay |
uint16 | rsync_timeout |
Friends | |
class | parser |
Hold configuration data for a single job.
Definition at line 136 of file rconfig.h.
typedef std::vector<std::string> job::excludes_type |
typedef std::vector<std::string> job::includes_type |
typedef std::vector<std::string> job::paths_type |
job::job | ( | ) |
C'tor.
Definition at line 557 of file rconfig.cc.
References clear().
job::job | ( | const job & | a_job | ) |
C'tor.
Definition at line 563 of file rconfig.cc.
References assign(), and clear().
void job::assign | ( | const job & | a_job | ) |
Assign values from another job instance.
Definition at line 599 of file rconfig.cc.
References archive_path, clear(), config_line, config_path, default_config_line, default_config_path, excludes, groupname, hostname, includes, jobname, paths, rsync_behavior, rsync_connection, rsync_hardlink, rsync_multi_hardlink, rsync_multi_hardlink_max, rsync_options, rsync_remote_module, rsync_remote_path, rsync_remote_port, rsync_remote_user, rsync_retry_count, rsync_retry_delay, and rsync_timeout.
Referenced by job(), and operator=().
void job::check | ( | void | ) |
Perform sanity checks for the configuration settings of this job.
Definition at line 941 of file rconfig.cc.
References config, connection_remote, connection_server, ERROR, ERROR_INSTANCE, generate_archive_path(), hostname, configuration_manager::jobs(), paths, error::push_back(), rsync_connection, rsync_remote_module, and TRY_nomem.
Referenced by global_parser::parse_job(), global_parser::read_job(), and configuration_manager::read_job().
void job::clear | ( | void | ) |
Clear values.
Definition at line 570 of file rconfig.cc.
References config_line, config_path, connection_remote, default_config_line, default_config_path, excludes, groupname, hostname, includes, jobname, paths, rsync_connection, rsync_hardlink, rsync_multi_hardlink, rsync_multi_hardlink_max, rsync_options, rsync_remote_module, rsync_remote_path, rsync_remote_port, rsync_remote_user, rsync_retry_count, rsync_retry_delay, and rsync_timeout.
Referenced by assign(), configuration_manager::clear(), job(), and global_parser::parse_default().
const std::string job::common_pathname | ( | void | ) | const |
Find the common pathname among all job paths (may be an empty string).
Definition at line 762 of file rconfig.cc.
References paths, same(), and TRY_nomem.
Referenced by generate_job_id().
const std::string job::generate_archive_path | ( | const std::string & | a_path | ) | const |
Generate the archive-path subdirectory for this job.
Definition at line 639 of file rconfig.cc.
References ERROR, groupname, archive_path_element::groupname, hostname, archive_path_element::hostname, INTERNAL_ERROR, jobname, archive_path_element::jobname, archive_path_element::literal, archive_path_element::pathname, archive_path_element::permutation, permute_path(), reform_path(), and TRY_nomem.
Referenced by check(), job_archiver::mf_do_chores(), and job_archiver::start().
const std::string job::generate_job_id | ( | void | ) | const |
Generate a unique ID string for this job.
Definition at line 798 of file rconfig.cc.
References common_pathname(), ERROR, groupname, archive_path_element::groupname, hostname, archive_path_element::hostname, INTERNAL_ERROR, jobname, archive_path_element::jobname, archive_path_element::literal, archive_path_element::pathname, archive_path_element::permutation, permute_path(), reform_path(), and TRY_nomem.
Referenced by job_archiver::id(), and job_archiver::start().
const std::vector< std::string > job::generate_rsync_options_vector | ( | void | ) | const |
Definition at line 869 of file rconfig.cc.
References rsync_options.
Referenced by job_archiver::mf_do_chores().
const std::string job::generate_source_path | ( | const std::string & | a_path | ) | const |
Generate the source path to be passed to rsync on the command line.
Definition at line 726 of file rconfig.cc.
References connection_remote, connection_server, hostname, rsync_connection, rsync_remote_module, rsync_remote_port, rsync_remote_user, and TRY_nomem.
Referenced by job_archiver::mf_do_chores().
Assignment.
Definition at line 631 of file rconfig.cc.
References assign().
Definition at line 166 of file rconfig.h.
Referenced by assign(), job_parser::parse_clear(), and test().
Definition at line 165 of file rconfig.h.
Referenced by assign(), clear(), global_parser::parse_job(), and global_parser::read_job().
std::string job::config_path |
Definition at line 164 of file rconfig.h.
Referenced by assign(), clear(), global_parser::parse_job(), and global_parser::read_job().
Definition at line 163 of file rconfig.h.
Referenced by assign(), clear(), and global_parser::parse_default().
std::string job::default_config_path |
Definition at line 162 of file rconfig.h.
Referenced by assign(), clear(), and global_parser::parse_default().
Definition at line 167 of file rconfig.h.
Referenced by assign(), clear(), job_archiver::mf_do_chores(), job_parser::parse_clear(), and test().
std::string job::groupname |
Definition at line 169 of file rconfig.h.
Referenced by assign(), clear(), generate_archive_path(), generate_job_id(), job_parser::parse_clear(), and test().
std::string job::hostname |
Definition at line 170 of file rconfig.h.
Referenced by assign(), check(), clear(), generate_archive_path(), generate_job_id(), generate_source_path(), job_parser::parse_clear(), and test().
Definition at line 168 of file rconfig.h.
Referenced by assign(), clear(), job_archiver::mf_do_chores(), and job_parser::parse_clear().
std::string job::jobname |
Definition at line 171 of file rconfig.h.
Referenced by assign(), clear(), generate_archive_path(), generate_job_id(), and job_parser::parse_clear().
Definition at line 172 of file rconfig.h.
Referenced by assign(), check(), clear(), common_pathname(), job_archiver::mf_do_chores(), job_parser::parse_clear(), job_archiver::start(), and test().
Definition at line 173 of file rconfig.h.
Referenced by assign(), job_archiver::mf_do_chores(), job_parser::parse_clear(), and test().
Definition at line 174 of file rconfig.h.
Referenced by assign(), check(), clear(), generate_source_path(), job_archiver::mf_do_chores(), and test().
bool job::rsync_hardlink |
Definition at line 176 of file rconfig.h.
Referenced by assign(), clear(), and job_archiver::mf_do_chores().
Definition at line 177 of file rconfig.h.
Referenced by assign(), clear(), and job_archiver::mf_do_chores().
std::string job::rsync_options |
Definition at line 178 of file rconfig.h.
Referenced by assign(), clear(), generate_rsync_options_vector(), job_parser::parse_clear(), and test().
std::string job::rsync_remote_module |
Definition at line 181 of file rconfig.h.
Referenced by assign(), check(), clear(), generate_source_path(), and job_parser::parse_clear().
std::string job::rsync_remote_path |
Definition at line 180 of file rconfig.h.
Referenced by assign(), clear(), job_archiver::mf_do_chores(), and job_parser::parse_clear().
Definition at line 182 of file rconfig.h.
Referenced by assign(), clear(), generate_source_path(), job_parser::parse_clear(), and test().
std::string job::rsync_remote_user |
Definition at line 179 of file rconfig.h.
Referenced by assign(), clear(), generate_source_path(), job_parser::parse_clear(), and test().
Definition at line 183 of file rconfig.h.
Referenced by assign(), clear(), and job_archiver::mf_do_chores().
Definition at line 184 of file rconfig.h.
Referenced by assign(), clear(), and job_archiver::mf_do_chores().
Definition at line 185 of file rconfig.h.
Referenced by assign(), clear(), and job_archiver::mf_do_chores().