(name.c_str(), po::value<std::string>(), description.c_str());
}
-void add_snap_id_option(po::options_description *opt) {
+void add_snap_id_option(po::options_description *opt,
+ ArgumentModifier modifier) {
+ std::string name = SNAPSHOT_ID;
+ std::string description = "snapshot id";
+ switch (modifier) {
+ case ARGUMENT_MODIFIER_NONE:
+ case ARGUMENT_MODIFIER_DEST:
+ break;
+ case ARGUMENT_MODIFIER_SOURCE:
+ description = "source " + description;
+ break;
+ }
+
opt->add_options()
- (SNAPSHOT_ID.c_str(), po::value<uint64_t>(), "snapshot id");
+ (name.c_str(), po::value<uint64_t>(), description.c_str());
}
void add_pool_options(boost::program_options::options_description *pos,
void add_snap_option(boost::program_options::options_description *opt,
ArgumentModifier modifier);
-void add_snap_id_option(boost::program_options::options_description *opt);
+void add_snap_id_option(boost::program_options::options_description *opt,
+ ArgumentModifier modifier);
void add_pool_options(boost::program_options::options_description *pos,
boost::program_options::options_description *opt,
at::add_image_or_snap_spec_options(positional, options,
at::ARGUMENT_MODIFIER_NONE);
at::add_image_id_option(options);
- at::add_snap_id_option(options);
+ at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
options->add_options()
("all,a", po::bool_switch(), "list all children (include trash)");
options->add_options()
("exclusive", po::bool_switch(), "disable automatic exclusive lock transitions")
("quiesce", po::bool_switch(), "use quiesce hooks")
("quiesce-hook", po::value<std::string>(), "quiesce hook path");
- at::add_snap_id_option(options);
+ at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
add_device_specific_options(options);
}
at::add_namespace_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_image_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_snap_option(options, at::ARGUMENT_MODIFIER_NONE);
- at::add_snap_id_option(options);
+ at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
add_device_specific_options(options);
}
("exclusive", po::bool_switch(), "disable automatic exclusive lock transitions")
("quiesce", po::bool_switch(), "use quiesce hooks")
("quiesce-hook", po::value<std::string>(), "quiesce hook path");
- at::add_snap_id_option(options);
+ at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
add_device_specific_options(options);
}
at::add_namespace_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_image_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_snap_option(options, at::ARGUMENT_MODIFIER_NONE);
- at::add_snap_id_option(options);
+ at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
add_device_specific_options(options);
}
po::options_description *options) {
at::add_snap_spec_options(positional, options, at::ARGUMENT_MODIFIER_NONE);
at::add_image_id_option(options);
- at::add_snap_id_option(options);
+ at::add_snap_id_option(options, at::ARGUMENT_MODIFIER_NONE);
at::add_no_progress_option(options);
options->add_options()