diff options
author | Daniel Mueller <deso@posteo.net> | 2020-04-04 10:44:29 -0700 |
---|---|---|
committer | Daniel Mueller <deso@posteo.net> | 2020-04-04 10:44:29 -0700 |
commit | c0ae9e64695b44d372657e1a6521145bde5498d3 (patch) | |
tree | 7c8605b5f32b7018895c8622ff4d3e25221fba68 | |
parent | 83d3e90248e9995e6c37c314b10597bccd394341 (diff) | |
download | nitrocli-c0ae9e64695b44d372657e1a6521145bde5498d3.tar.gz nitrocli-c0ae9e64695b44d372657e1a6521145bde5498d3.tar.bz2 |
Move dependencies to args and commands modules into generated code
We are aiming to rid the arg_defs module of dependencies to the rest of
the crate in an attempt to make the file fully free standing. The last
remaining references into the crate are used to hook up the functionality
backing the respective commands. Luckily for us, this "gluing" of
functionality to types is really only required in the macro-generated
code (which we do not care about as part of this exercise) and so with
this change we remove the use declarations from the top of the file and
reference the respective functionality in an absolute manner instead.
-rw-r--r-- | src/arg_defs.rs | 49 |
1 files changed, 23 insertions, 26 deletions
diff --git a/src/arg_defs.rs b/src/arg_defs.rs index c58d230..c63fd82 100644 --- a/src/arg_defs.rs +++ b/src/arg_defs.rs @@ -17,9 +17,6 @@ // * along with this program. If not, see <http://www.gnu.org/licenses/>. * // ************************************************************************* -use crate::args; -use crate::commands; - /// Provides access to a Nitrokey device #[derive(structopt::StructOpt)] #[structopt(name = "nitrocli")] @@ -69,9 +66,9 @@ Command! {Command, [ /// Interacts with the device's hidden volume Hidden(HiddenArgs) => |ctx, args: HiddenArgs| args.subcmd.execute(ctx), /// Lists the attached Nitrokey devices - List(ListArgs) => |ctx, args: ListArgs| commands::list(ctx, args.no_connect), + List(ListArgs) => |ctx, args: ListArgs| crate::commands::list(ctx, args.no_connect), /// Locks the connected Nitrokey device - Lock => commands::lock, + Lock => crate::commands::lock, /// Accesses one-time passwords Otp(OtpArgs) => |ctx, args: OtpArgs| args.subcmd.execute(ctx), /// Manages the Nitrokey PINs @@ -79,9 +76,9 @@ Command! {Command, [ /// Accesses the password safe Pws(PwsArgs) => |ctx, args: PwsArgs| args.subcmd.execute(ctx), /// Performs a factory reset - Reset => commands::reset, + Reset => crate::commands::reset, /// Prints the status of the connected Nitrokey device - Status => commands::status, + Status => crate::commands::status, /// Interacts with the device's unencrypted volume Unencrypted(UnencryptedArgs) => |ctx, args: UnencryptedArgs| args.subcmd.execute(ctx), ]} @@ -94,9 +91,9 @@ pub struct ConfigArgs { Command! {ConfigCommand, [ /// Prints the Nitrokey configuration - Get => commands::config_get, + Get => crate::commands::config_get, /// Changes the Nitrokey configuration - Set(ConfigSetArgs) => args::config_set, + Set(ConfigSetArgs) => crate::args::config_set, ]} #[derive(Debug, PartialEq, structopt::StructOpt)] @@ -170,9 +167,9 @@ pub struct EncryptedArgs { Command! {EncryptedCommand, [ /// Closes the encrypted volume on a Nitrokey Storage - Close => commands::encrypted_close, + Close => crate::commands::encrypted_close, /// Opens the encrypted volume on a Nitrokey Storage - Open => commands::encrypted_open, + Open => crate::commands::encrypted_open, ]} #[derive(Debug, PartialEq, structopt::StructOpt)] @@ -183,13 +180,13 @@ pub struct HiddenArgs { Command! {HiddenCommand, [ /// Closes the hidden volume on a Nitrokey Storage - Close => commands::hidden_close, + Close => crate::commands::hidden_close, /// Creates a hidden volume on a Nitrokey Storage Create(HiddenCreateArgs) => |ctx, args: HiddenCreateArgs| { - commands::hidden_create(ctx, args.slot, args.start, args.end) + crate::commands::hidden_create(ctx, args.slot, args.start, args.end) }, /// Opens the hidden volume on a Nitrokey Storage - Open => commands::hidden_open, + Open => crate::commands::hidden_open, ]} #[derive(Debug, PartialEq, structopt::StructOpt)] @@ -218,16 +215,16 @@ pub struct OtpArgs { Command! {OtpCommand, [ /// Clears a one-time password slot Clear(OtpClearArgs) => |ctx, args: OtpClearArgs| { - commands::otp_clear(ctx, args.slot, args.algorithm) + crate::commands::otp_clear(ctx, args.slot, args.algorithm) }, /// Generates a one-time password Get(OtpGetArgs) => |ctx, args: OtpGetArgs| { - commands::otp_get(ctx, args.slot, args.algorithm, args.time) + crate::commands::otp_get(ctx, args.slot, args.algorithm, args.time) }, /// Configures a one-time password slot - Set(OtpSetArgs) => args::otp_set, + Set(OtpSetArgs) => crate::args::otp_set, /// Prints the status of the one-time password slots - Status(OtpStatusArgs) => |ctx, args: OtpStatusArgs| commands::otp_status(ctx, args.all), + Status(OtpStatusArgs) => |ctx, args: OtpStatusArgs| crate::commands::otp_status(ctx, args.all), ]} #[derive(Debug, PartialEq, structopt::StructOpt)] @@ -322,11 +319,11 @@ pub struct PinArgs { Command! {PinCommand, [ /// Clears the cached PINs - Clear => commands::pin_clear, + Clear => crate::commands::pin_clear, /// Changes a PIN - Set(PinSetArgs) => |ctx, args: PinSetArgs| commands::pin_set(ctx, args.pintype), + Set(PinSetArgs) => |ctx, args: PinSetArgs| crate::commands::pin_set(ctx, args.pintype), /// Unblocks and resets the user PIN - Unblock => commands::pin_unblock, + Unblock => crate::commands::pin_unblock, ]} /// PIN type requested from pinentry. @@ -354,17 +351,17 @@ pub struct PwsArgs { Command! {PwsCommand, [ /// Clears a password safe slot - Clear(PwsClearArgs) => |ctx, args: PwsClearArgs| commands::pws_clear(ctx, args.slot), + Clear(PwsClearArgs) => |ctx, args: PwsClearArgs| crate::commands::pws_clear(ctx, args.slot), /// Reads a password safe slot Get(PwsGetArgs) => |ctx, args: PwsGetArgs| { - commands::pws_get(ctx, args.slot, args.name, args.login, args.password, args.quiet) + crate::commands::pws_get(ctx, args.slot, args.name, args.login, args.password, args.quiet) }, /// Writes a password safe slot Set(PwsSetArgs) => |ctx, args: PwsSetArgs| { - commands::pws_set(ctx, args.slot, &args.name, &args.login, &args.password) + crate::commands::pws_set(ctx, args.slot, &args.name, &args.login, &args.password) }, /// Prints the status of the password safe slots - Status(PwsStatusArgs) => |ctx, args: PwsStatusArgs| commands::pws_status(ctx, args.all), + Status(PwsStatusArgs) => |ctx, args: PwsStatusArgs| crate::commands::pws_status(ctx, args.all), ]} #[derive(Debug, PartialEq, structopt::StructOpt)] @@ -419,7 +416,7 @@ pub struct UnencryptedArgs { Command! {UnencryptedCommand, [ /// Changes the configuration of the unencrypted volume on a Nitrokey Storage Set(UnencryptedSetArgs) => |ctx, args: UnencryptedSetArgs| { - commands::unencrypted_set(ctx, args.mode) + crate::commands::unencrypted_set(ctx, args.mode) }, ]} |