rvm  1.11
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | Friends | List of all members
job Class Reference

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

#include <rconfig.h>

Collaboration diagram for job:
Collaboration graph

Public Types

enum  rsync_connection_type { connection_remote, connection_local, connection_server, connection_ssh_local }
 
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. More...
 
 job (const job &a_job)
 C'tor. More...
 
void clear (void)
 Clear values. More...
 
void assign (const job &a_job)
 Assign values from another job instance. More...
 
joboperator= (const job &a_job)
 Assignment. More...
 
const std::string generate_archive_path (const std::string &a_path) const
 Generate the archive-path subdirectory for this job. More...
 
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. More...
 
const std::string generate_job_id (void) const
 Generate a unique ID string for this job. More...
 
const std::vector< std::string > generate_rsync_options_vector (void) const
 Generate rsync command line options. More...
 
const std::vector< std::string > generate_ssh_options_vector (void) const
 Generate ssh command line options. More...
 
const std::string common_pathname (void) const
 Find the common pathname among all job paths (may be an empty string) More...
 
void check (void)
 Perform sanity checks for the configuration settings of this job. More...
 

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

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

Definition at line 152 of file rconfig.h.

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

Definition at line 153 of file rconfig.h.

Member Enumeration Documentation

Enumerator
behavior_ok 
behavior_fail 
behavior_retry 
behavior_retry_without_hardlinks 

Definition at line 145 of file rconfig.h.

Enumerator
connection_remote 
connection_local 
connection_server 
connection_ssh_local 

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)
void job::check ( void  )
void job::clear ( void  )
const std::string job::common_pathname ( void  ) const

Find the common pathname among all job paths (may be an empty string)

Definition at line 764 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
const std::string job::generate_job_id ( void  ) const
const std::vector< std::string > job::generate_rsync_options_vector ( void  ) const

Generate rsync command line options.

Definition at line 872 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 728 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::vector< std::string > job::generate_ssh_options_vector ( void  ) const

Generate ssh command line options.

Definition at line 944 of file rconfig.cc.

References ssh_options.

Referenced by job_archiver::mf_do_chores().

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

Assignment.

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

Member Data Documentation

class archive_path job::archive_path

Definition at line 167 of file rconfig.h.

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

uint16 job::config_line

Definition at line 166 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 165 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 164 of file rconfig.h.

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

std::string job::default_config_path

Definition at line 163 of file rconfig.h.

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

excludes_type job::excludes
std::string job::groupname
std::string job::hostname
includes_type job::includes

Definition at line 169 of file rconfig.h.

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

std::string job::jobname
paths_type job::paths
class rsync_behavior job::rsync_behavior

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

bool job::rsync_multi_hardlink

Definition at line 177 of file rconfig.h.

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

uint16 job::rsync_multi_hardlink_max

Definition at line 178 of file rconfig.h.

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

std::string job::rsync_options
std::string job::rsync_remote_module

Definition at line 183 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 182 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 184 of file rconfig.h.

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

std::string job::rsync_remote_user
uint16 job::rsync_retry_count

Definition at line 185 of file rconfig.h.

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

uint16 job::rsync_retry_delay

Definition at line 186 of file rconfig.h.

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

uint16 job::rsync_timeout

Definition at line 187 of file rconfig.h.

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

std::string job::ssh_options

Definition at line 180 of file rconfig.h.

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


The documentation for this class was generated from the following files: