22 #define ERR_OUT(e) std::cerr << e; 
   27         char const * argv[256] = { 0 };
 
   30         std::vector<std::string> opt_vec;
 
   32         argv[argc++] = 
"<program>";
 
   33         argv[argc++] = 
"--archive";
 
   61         assert(
config.
jobs()[0].groupname == 
"group-A");
 
   63         assert(
config.
jobs()[0].rsync_behavior.default_value()
 
   65         assert(
config.
jobs()[0].rsync_behavior.map_value().size() == 9);
 
   77         assert(
config.
jobs()[0].rsync_hardlink == 
true);
 
   78         assert(
config.
jobs()[0].rsync_multi_hardlink == 
false);
 
   79         assert(
config.
jobs()[0].rsync_multi_hardlink_max == 20);
 
   80         assert(
config.
jobs()[0].rsync_options == 
"--some  -options for-rsync some more \"options for\" the\\trsync\\ program");
 
   82         opt_vec = 
config.
jobs()[0].generate_rsync_options_vector();
 
   83         assert(opt_vec[0] == 
"--some");
 
   84         assert(opt_vec[1] == 
"-options");
 
   85         assert(opt_vec[2] == 
"for-rsync");
 
   86         assert(opt_vec[3] == 
"some");
 
   87         assert(opt_vec[4] == 
"more");
 
   88         assert(opt_vec[5] == 
"options for");
 
   89         assert(opt_vec[6] == 
"the\trsync program");
 
   90         assert(opt_vec.size() == 7);
 
   91         assert(
config.
jobs()[0].rsync_remote_user == 
"");
 
   92         assert(
config.
jobs()[0].rsync_remote_port == 0);
 
   94         assert(
config.
jobs()[1].groupname == 
"group-A");
 
   96         assert(
config.
jobs()[1].rsync_behavior.default_value()
 
   98         assert(
config.
jobs()[1].rsync_behavior.map_value().size() == 1);
 
   99         assert(
config.
jobs()[1].rsync_behavior.map_value().find(5)->second
 
  102         assert(
config.
jobs()[1].rsync_hardlink == 
false);
 
  103         assert(
config.
jobs()[1].rsync_remote_user == 
"alice");
 
  104         assert(
config.
jobs()[1].rsync_remote_port == 4338);
 
  105         assert(
config.
jobs()[2].hostname == 
"host-C");
 
  106         assert(
config.
jobs()[2].rsync_hardlink == 
true);
 
  107         assert(
config.
jobs()[2].rsync_multi_hardlink == 
true);
 
  108         assert(
config.
jobs()[2].rsync_multi_hardlink_max == 7);
 
  110         assert(
config.
jobs()[3].rsync_options == 
"--some  -options for-rsync -e \"-i foo\"");
 
  112         opt_vec = 
config.
jobs()[3].generate_rsync_options_vector();
 
  113         assert(opt_vec[0] == 
"--some");
 
  114         assert(opt_vec[1] == 
"-options");
 
  115         assert(opt_vec[2] == 
"for-rsync");
 
  116         assert(opt_vec[3] == 
"-e");
 
  117         assert(opt_vec[4] == 
"-i foo");
 
  119         assert(
config.
jobs()[4].rsync_options == 
"--some  -options for-rsync --rsh=\"/usr/bin/rsh -i foo\"");
 
  121         opt_vec = 
config.
jobs()[4].generate_rsync_options_vector();
 
  122         assert(opt_vec[0] == 
"--some");
 
  123         assert(opt_vec[1] == 
"-options");
 
  124         assert(opt_vec[2] == 
"for-rsync");
 
  125         assert(opt_vec[3] == 
"--rsh=/usr/bin/rsh -i foo");
 
  128 int main(
int argc, 
char const * argv[])
 
void init(int argc, char const *argv[])
Initialize the configuration manager from rvm's command line options. 
rsync_connection_type rsync_connection
Basic types definitions and templates. 
const value_type default_value(void) const 
Return the default action. 
void default_file(const std::string &a_path)
Set the default configuration filename. 
class rsync_behavior rsync_behavior
const map_type & map_value(void) const 
Return an std::map of exit codes to actions. 
void default_logdir(const std::string &a_path)
Return the default log-dir. 
std::string rsync_remote_user
configuration_manager config
The global configuration manager instance. 
int main(int argc, char const *argv[])
const job & default_job(void) const 
Return the default job configuration. 
const jobs_type & jobs(void) const 
Return a list of jobs. 
std::string rsync_options