rvm 1.08
Public Types | Public Member Functions | Public Attributes | Friends

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

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

Enumerator:
behavior_ok 
behavior_fail 
behavior_retry 
behavior_retry_without_hardlinks 

Definition at line 144 of file rconfig.h.

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

Here is the call graph for this function:

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 762 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 639 of file rconfig.cc.

References ERROR, groupname, hostname, INTERNAL_ERROR, 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().

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 798 of file rconfig.cc.

References common_pathname(), ERROR, groupname, hostname, INTERNAL_ERROR, 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 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().

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:


Friends And Related Function Documentation

friend class parser [friend]

Definition at line 196 of file rconfig.h.


Member Data Documentation

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

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
std::string job::hostname

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

Definition at line 175 of file rconfig.h.

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

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

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

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

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


The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines