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

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.
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::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
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
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

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_connection_type

Enumerator:
connection_remote 
connection_local 
connection_server 

Definition at line 139 of file rconfig.h.

enum job::rsync_behavior_type

Enumerator:
behavior_ok 
behavior_fail 
behavior_retry 
behavior_retry_without_hardlinks 

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

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

Here is the call graph for this function:

job & job::operator= ( const job a_job  ) 

Assignment.

Definition at line 631 of file rconfig.cc.

References assign().

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

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

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

Here is the call graph for this function:

const std::vector< std::string > job::generate_rsync_options_vector ( void   )  const

Definition at line 903 of file rconfig.cc.

References rsync_options.

Referenced by job_archiver::mf_do_chores().

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

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 975 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:


Friends And Related Function Documentation

friend class parser [friend]

Definition at line 196 of file rconfig.h.


Member Data Documentation

std::string job::default_config_path

Definition at line 162 of file rconfig.h.

Referenced by assign(), clear(), and global_parser::parse_default().

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::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::config_line

Definition at line 165 of file rconfig.h.

Referenced by assign(), clear(), global_parser::parse_job(), and global_parser::read_job().

class archive_path job::archive_path

Definition at line 166 of file rconfig.h.

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

excludes_type job::excludes

Definition at line 167 of file rconfig.h.

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

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

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

class rsync_behavior job::rsync_behavior

Definition at line 173 of file rconfig.h.

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

rsync_connection_type job::rsync_connection

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 175 of file rconfig.h.

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

bool job::rsync_multi_hardlink

Definition at line 176 of file rconfig.h.

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

uint16 job::rsync_multi_hardlink_max

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_user

Definition at line 179 of file rconfig.h.

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

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

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

uint16 job::rsync_remote_port

Definition at line 182 of file rconfig.h.

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

uint16 job::rsync_retry_count

Definition at line 183 of file rconfig.h.

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

uint16 job::rsync_retry_delay

Definition at line 184 of file rconfig.h.

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

uint16 job::rsync_timeout

Definition at line 185 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 Thu Jun 5 11:15:22 2008 for rvm by  doxygen 1.5.1