diff --git a/nut-client/examples/async.rs b/nut-client/examples/async.rs index a8fe5a6..f8e5ff5 100644 --- a/nut-client/examples/async.rs +++ b/nut-client/examples/async.rs @@ -25,6 +25,11 @@ async fn main() -> nut_client::Result<()> { let mut conn = Connection::new(&config).await?; + // Get server information + println!("NUT server:"); + println!("\tVersion: {}", conn.get_server_version().await?); + println!("\tNetwork Version: {}", conn.get_network_version().await?); + // Print a list of all UPS devices println!("Connected UPS devices:"); for (name, description) in conn.list_ups().await? { diff --git a/nut-client/examples/blocking.rs b/nut-client/examples/blocking.rs index 4a48b58..ce72345 100644 --- a/nut-client/examples/blocking.rs +++ b/nut-client/examples/blocking.rs @@ -24,6 +24,11 @@ fn main() -> nut_client::Result<()> { let mut conn = Connection::new(&config)?; + // Get server information + println!("NUT server:"); + println!("\tVersion: {}", conn.get_server_version()?); + println!("\tNetwork Version: {}", conn.get_network_version()?); + // Print a list of all UPS devices println!("Connected UPS devices:"); for (name, description) in conn.list_ups()? { diff --git a/nut-client/src/cmd.rs b/nut-client/src/cmd.rs index f53f21e..9573a4f 100644 --- a/nut-client/src/cmd.rs +++ b/nut-client/src/cmd.rs @@ -15,6 +15,8 @@ pub enum Command<'a> { StartTLS, /// Queries the network version. NetworkVersion, + /// Queries the server version + Version, } impl<'a> Command<'a> { @@ -27,6 +29,7 @@ impl<'a> Command<'a> { Self::List(_) => "LIST", Self::StartTLS => "STARTTLS", Self::NetworkVersion => "NETVER", + Self::Version => "VER", } } @@ -480,6 +483,14 @@ implement_simple_commands! { { |row: String| Ok(row) }, ) } + + /// Queries the server NUT version. + pub fn get_server_version() -> String { + ( + { Command::Version }, + { |row: String| Ok(row) }, + ) + } } implement_action_commands! {