job Class Reference

Hold configuration data for a single job. More...

#include <rconfig.h>

Collaboration diagram for job:

Collaboration graph
[legend]
List of all members.

Public Types

typedef std::vector< std::string > excludes_type
typedef std::vector< std::string > includes_type
typedef std::vector< std::string > paths_type
enum  rsync_connection_type { connection_remote, connection_local, connection_server }
enum  rsync_behavior_type { behavior_ok, behavior_fail, behavior_retry, behavior_retry_without_hardlinks }

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.
joboperator= (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::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
archive_path archive_path
excludes_type excludes
includes_type includes
std::string groupname
std::string hostname
std::string jobname
paths_type paths
rsync_behavior rsync_behavior
rsync_connection_type rsync_connection
bool rsync_hardlink
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_timeout

Friends

class parser

Detailed Description

Hold configuration data for a single job.

Definition at line 136 of file rconfig.h.


Member Typedef Documentation

typedef std::vector<std::string> job::excludes_type
 

Definition at line 150 of file rconfig.h.

typedef std::vector<std::string> job::includes_type
 

Definition at line 151 of file rconfig.h.

typedef std::vector<std::string> job::paths_type
 

Definition at line 152 of file rconfig.h.


Member Enumeration Documentation

enum job::rsync_behavior_type
 

Enumeration values:
behavior_ok 
behavior_fail 
behavior_retry 
behavior_retry_without_hardlinks 

Definition at line 144 of file rconfig.h.

enum job::rsync_connection_type
 

Enumeration values:
connection_remote 
connection_local 
connection_server 

Definition at line 139 of file rconfig.h.


Constructor & Destructor Documentation

job::job  ) 
 

C'tor.

Definition at line 557 of file rconfig.cc.

References clear().

Here is the call graph for this function:

job::job const job a_job  ) 
 

C'tor.

Definition at line 563 of file rconfig.cc.

References assign(), and clear().

Here is the call graph for this function:


Member Function Documentation

void job::assign const job a_job  ) 
 

Assign values from another job instance.

Definition at line 596 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_options, rsync_remote_module, rsync_remote_path, rsync_remote_port, rsync_remote_user, rsync_retry_count, and rsync_timeout.

Referenced by job(), and operator=().

Here is the call graph for this function:

void job::check void   ) 
 

Perform sanity checks for the configuration settings of this job.

Definition at line 864 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().

Here is the call graph for this function:

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_options, rsync_remote_module, rsync_remote_path, rsync_remote_port, rsync_remote_user, rsync_retry_count, 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 756 of file rconfig.cc.

References paths, same(), and TRY_nomem.

Referenced by generate_job_id().

Here is the call graph for this function:

const std::string job::generate_archive_path const std::string &  a_path  )  const
 

Generate the archive-path subdirectory for this job.

Definition at line 633 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(), and job_archiver::mf_do_chores().

Here is the call graph for this function:

const std::string job::generate_job_id void   )  const
 

Generate a unique ID string for this job.

Definition at line 792 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().

Here is the call graph for this function:

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 720 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().

job & job::operator= const job a_job  ) 
 

Assignment.

Definition at line 625 of file rconfig.cc.

References assign().

Here is the call graph for this function:


Friends And Related Function Documentation

friend class parser [friend]
 

Definition at line 192 of file rconfig.h.


Member Data Documentation

class archive_path job::archive_path
 

Definition at line 166 of file rconfig.h.

Referenced by assign(), and job_parser::parse_clear().

uint16 job::config_line
 

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().

uint16 job::default_config_line
 

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().

excludes_type job::excludes
 

Definition at line 167 of file rconfig.h.

Referenced by assign(), clear(), job_archiver::mf_do_chores(), and job_parser::parse_clear().

std::string job::groupname
 

Definition at line 169 of file rconfig.h.

Referenced by assign(), clear(), generate_archive_path(), generate_job_id(), and job_parser::parse_clear().

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(), and job_parser::parse_clear().

includes_type job::includes
 

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().

paths_type job::paths
 

Definition at line 172 of file rconfig.h.

Referenced by assign(), check(), clear(), common_pathname(), job_archiver::mf_do_chores(), and job_parser::parse_clear().

class rsync_behavior job::rsync_behavior
 

Definition at line 173 of file rconfig.h.

Referenced by assign(), job_archiver::mf_do_chores(), and job_parser::parse_clear().

rsync_connection_type job::rsync_connection
 

Definition at line 174 of file rconfig.h.

Referenced by assign(), check(), clear(), generate_source_path(), and job_archiver::mf_do_chores().

bool job::rsync_hardlink
 

Definition at line 175 of file rconfig.h.

Referenced by assign(), clear(), and job_archiver::mf_do_chores().

std::string job::rsync_options
 

Definition at line 176 of file rconfig.h.

Referenced by assign(), clear(), job_archiver::mf_do_chores(), and job_parser::parse_clear().

std::string job::rsync_remote_module
 

Definition at line 179 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 178 of file rconfig.h.

Referenced by assign(), clear(), job_archiver::mf_do_chores(), and job_parser::parse_clear().

uint16 job::rsync_remote_port
 

Definition at line 180 of file rconfig.h.

Referenced by assign(), clear(), generate_source_path(), and job_parser::parse_clear().

std::string job::rsync_remote_user
 

Definition at line 177 of file rconfig.h.

Referenced by assign(), clear(), generate_source_path(), and job_parser::parse_clear().

uint16 job::rsync_retry_count
 

Definition at line 181 of file rconfig.h.

Referenced by assign(), clear(), and job_archiver::mf_do_chores().

uint16 job::rsync_timeout
 

Definition at line 182 of file rconfig.h.

Referenced by assign(), clear(), and job_archiver::mf_do_chores().


The documentation for this class was generated from the following files:
Generated on Fri Jun 23 16:56:53 2006 for rvm by  doxygen 1.4.2