mergerfs/src/mfm.cpp

81 lines
1.4 KiB
C++
Raw Normal View History

2025-08-31 22:40:37 -05:00
#include "mfm.hpp"
#include "mfm_options.hpp"
#include "CLI11.hpp"
static
void
_setup_argparser_dup(CLI::App &app_,
mfm::Opts::Dup &opts_)
{
2025-09-01 00:06:04 -05:00
CLI::App *subcmd;
2025-08-31 22:40:37 -05:00
2025-09-01 00:06:04 -05:00
subcmd = app_.add_subcommand("dup",
"duplicate files");
2025-09-01 00:07:50 -05:00
subcmd->add_option("path",opts_.dirpath)
->description("")
->type_name("PATH")
->check(CLI::ExistingPath)
->required();
2025-08-31 22:40:37 -05:00
}
static
void
_setup_argparser_watch(CLI::App &app_,
mfm::Opts::Watch &opts_)
{
}
static
void
_setup_argparser_migrate(CLI::App &app_,
mfm::Opts::Migrate &opts_)
{
}
static
void
_setup_argparser_rebalance(CLI::App &app_,
mfm::Opts::Rebalance &opts_)
{
}
static
void
_setup_argparser(CLI::App &app_,
mfm::Opts &opts_)
{
_setup_argparser_dup(app_,opts_.dup);
_setup_argparser_migrate(app_,opts_.migrate);
_setup_argparser_rebalance(app_,opts_.rebalance);
_setup_argparser_watch(app_,opts_.watch);
}
int
mfm::main(int argc_,
char **argv_)
{
CLI::App app;
mfm::Opts opts;
app.description("mfm: mergerfs filesystem manager");
app.name("USAGE:: mfm");
::_setup_argparser(app,opts);
try
{
app.parse(argc_,argv_);
}
catch(const CLI::ParseError &e_)
{
return app.exit(e_);
}
return 0;
}