cli helpers: in run function, take function as argument instead

This commit is contained in:
Joakim Frostegård 2020-04-09 17:54:09 +02:00
parent ac52668a3d
commit 8dfd49af0d
2 changed files with 5 additions and 5 deletions

View file

@ -7,7 +7,7 @@ static GLOBAL: mimalloc::MiMalloc = mimalloc::MiMalloc;
fn main(){ fn main(){
cli_helpers::run_with_cli_and_config( cli_helpers::run_with_cli_and_config::<aquatic::config::Config>(
"aquatic: udp bittorrent tracker", "aquatic: udp bittorrent tracker",
aquatic::run, aquatic::run,
) )

View file

@ -36,11 +36,11 @@ fn default_config_as_toml<T>() -> String
} }
pub fn run_with_cli_and_config<T, F>( pub fn run_with_cli_and_config<T>(
title: &str, title: &str,
// Function that takes config file and runs application // Function that takes config file and runs application
f: F, f: fn(T),
) where T: Default + Serialize + DeserializeOwned, F: Fn(T) { ) where T: Default + Serialize + DeserializeOwned {
let args: Vec<String> = ::std::env::args().collect(); let args: Vec<String> = ::std::env::args().collect();
match AppOptions::parse_args_default(&args[1..]){ match AppOptions::parse_args_default(&args[1..]){
@ -77,4 +77,4 @@ fn print_help(title: &str, opt_error: Option<&str>){
} }
println!("\n{}", AppOptions::usage()); println!("\n{}", AppOptions::usage());
} }