bool quiet() const { return _quiet; }
bool verbose() const { return _verbose; }
bool debug() const { return _debug; }
- const boost::optional<BackupConfig::TargetMode>& target_mode() { return _target_mode; }
+ const boost::optional<BackupConfig::TargetMode>& target_mode() const { return _target_mode; }
bool automatic() const { return _automatic; }
bool utc() const { return _utc; }
bool iso() const { return _iso; }
void
- command_delete(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
+ command_delete(const GlobalOptions& global_options, GetOpts& get_opts, const BackupConfigs& backup_configs,
ProxySnappers* snappers)
{
SnapshotDelete snapshot_operation(global_options, get_opts, backup_configs,
void
- command_list_configs(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
+ command_list_configs(const GlobalOptions& global_options, GetOpts& get_opts, const BackupConfigs& backup_configs,
ProxySnappers* snappers)
{
ParsedOpts opts = get_opts.parse("list-configs", GetOpts::no_options);
void
- command_list(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
+ command_list(const GlobalOptions& global_options, GetOpts& get_opts, const BackupConfigs& backup_configs,
ProxySnappers* snappers)
{
ParsedOpts opts = get_opts.parse("list", GetOpts::no_options);
void
command_restore(const GlobalOptions& global_options, GetOpts& get_opts,
- BackupConfigs& backup_configs, ProxySnappers* snappers)
+ const BackupConfigs& backup_configs, ProxySnappers* snappers)
{
SnapshotRestore snapshot_operation(global_options, get_opts, backup_configs,
snappers);
void
- command_transfer_and_delete(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
- ProxySnappers* snappers)
+ command_transfer_and_delete(const GlobalOptions& global_options, GetOpts& get_opts,
+ const BackupConfigs& backup_configs, ProxySnappers* snappers)
{
SnapshotTransferAndDelete snapshot_operation(global_options, get_opts,
backup_configs, snappers);
void
- command_transfer(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
+ command_transfer(const GlobalOptions& global_options, GetOpts& get_opts, const BackupConfigs& backup_configs,
ProxySnappers* snappers)
{
SnapshotTransfer snapshot_operation(global_options, get_opts, backup_configs,
}
void command_visualize(const GlobalOptions& global_options, GetOpts& get_opts,
- BackupConfigs& backup_configs, ProxySnappers* snappers)
+ const BackupConfigs& backup_configs, ProxySnappers* snappers)
{
// Drawing a graph for multiple backup configs is not supported.
if (backup_configs.size() != 1)
"command.")));
}
- BackupConfig& backup_config = backup_configs.front();
+ const BackupConfig& backup_config = backup_configs.front();
// Check and parse arguments
const vector<Option> options = { Option("rankdir", required_argument, 'r') };
help_list_configs();
void
- command_list_configs(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
+ command_list_configs(const GlobalOptions& global_options, GetOpts& get_opts, const BackupConfigs& backup_configs,
ProxySnappers* snappers);
help_list();
void
- command_list(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
+ command_list(const GlobalOptions& global_options, GetOpts& get_opts, const BackupConfigs& backup_configs,
ProxySnappers* snappers);
help_transfer();
void
- command_transfer(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
+ command_transfer(const GlobalOptions& global_options, GetOpts& get_opts, const BackupConfigs& backup_configs,
ProxySnappers* snappers);
help_restore();
void
- command_restore(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
+ command_restore(const GlobalOptions& global_options, GetOpts& get_opts, const BackupConfigs& backup_configs,
ProxySnappers* snappers);
help_delete();
void
- command_delete(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
+ command_delete(const GlobalOptions& global_options, GetOpts& get_opts, const BackupConfigs& backup_configs,
ProxySnappers* snappers);
help_transfer_and_delete();
void
- command_transfer_and_delete(const GlobalOptions& global_options, GetOpts& get_opts, BackupConfigs& backup_configs,
- ProxySnappers* snappers);
+ command_transfer_and_delete(const GlobalOptions& global_options, GetOpts& get_opts,
+ const BackupConfigs& backup_configs, ProxySnappers* snappers);
void help_visualize();
void command_visualize(const GlobalOptions& global_options, GetOpts& get_opts,
- BackupConfigs& backup_configs, ProxySnappers* snappers);
+ const BackupConfigs& backup_configs, ProxySnappers* snappers);
}
/*
- * Copyright (c) [2024-2025] SUSE LLC
+ * Copyright (c) [2024-2026] SUSE LLC
*
* All Rights Reserved.
*
struct Cmd
{
- typedef void (*cmd_func_t)(const GlobalOptions& global_options, GetOpts& get_opts,
- BackupConfigs& backup_configs, ProxySnappers* snappers);
+ using cmd_func_t = void (*)(const GlobalOptions& global_options, GetOpts& get_opts,
+ const BackupConfigs& backup_configs, ProxySnappers* snappers);
- typedef void (*help_func_t)();
+ using help_func_t = void (*)();
Cmd(const string& name, cmd_func_t cmd_func, help_func_t help_func, bool needs_snapper)
: name(name), cmd_func(cmd_func), help_func(help_func), needs_snapper(needs_snapper)
vector<string>
-get_backup_configs(const GlobalOptions& global_options, const Cmd* cmd)
+get_backup_config_names(const GlobalOptions& global_options, const Cmd* cmd)
{
if (cmd->name == "list-configs")
return read_backup_config_names();
}
+BackupConfigs
+get_backup_configs(const GlobalOptions& global_options, const vector<string>& names)
+{
+ BackupConfigs backup_configs;
+
+ for (const string& name : names)
+ {
+ BackupConfig backup_config(name);
+
+ if (global_options.target_mode() &&
+ backup_config.target_mode != global_options.target_mode().value())
+ continue;
+
+ if (global_options.automatic() && !backup_config.automatic)
+ continue;
+
+ backup_configs.push_back(backup_config);
+ }
+
+ return backup_configs;
+}
+
+
int
main(int argc, char** argv)
{
try
{
- const vector<string> names = get_backup_configs(global_options, &*cmd);
-
- BackupConfigs backup_configs;
-
- for (const string& name : names)
- {
- BackupConfig backup_config(name);
-
- if (global_options.target_mode() &&
- backup_config.target_mode != global_options.target_mode().value())
- continue;
-
- if (global_options.automatic() && !backup_config.automatic)
- continue;
-
- backup_configs.push_back(backup_config);
- }
+ const vector<string> names = get_backup_config_names(global_options, &*cmd);
+ const BackupConfigs backup_configs = get_backup_configs(global_options, names);
unique_ptr<ProxySnappers> snappers;