From 5530f2296e345766d25e3f3bb547f842e14ae020 Mon Sep 17 00:00:00 2001 From: Lena Date: Mon, 30 Oct 2023 22:24:42 +0100 Subject: [PATCH] auto implement from on the network security enum i don't know how this didn't work before, but it now does, i guess --- ctru-rs/src/services/ac.rs | 65 ++++++++++++++++++++------------------ 1 file changed, 35 insertions(+), 30 deletions(-) diff --git a/ctru-rs/src/services/ac.rs b/ctru-rs/src/services/ac.rs index 8e0c715..4730e6d 100644 --- a/ctru-rs/src/services/ac.rs +++ b/ctru-rs/src/services/ac.rs @@ -1,6 +1,10 @@ +//! The Automatic Connection (AC) service handles Wi-Fi and network settings. +//! It can: +//! - Connect to a network or slot +//! - Get information about a network, such as its SSID or security settings use crate::error::ResultCode; -/// Handle to the AC service, that handles Wi-Fi and network settings. +/// Handle to the Automatic Connection (AC) service, that handles Wi-Fi and network settings. pub struct Ac(()); impl Ac { @@ -128,7 +132,7 @@ impl Ac { /// /// let ac = Ac::new()?; /// - /// println!("The console is connected to the network \"{}\"", ac.get_wifi_ssid().unwrap()) + /// println!("The console is connected to the network \"{}\"", ac.get_wifi_ssid().unwrap()); /// # /// # Ok(()) /// # } @@ -267,34 +271,34 @@ impl Ac { Ok(String::from_utf8(vec)?) } } - /* - /// Load the selected network slot, if present. - /// - /// Note: this method requires `ac:i` access - /// # Example - /// - /// ``` - /// # let _runner = test_runner::GdbRunner::default(); - /// # use std::error::Error; - /// # fn main() -> Result<(), Box> { - /// # - /// use ctru::services::ac::Ac; - /// - /// let ac = Ac::new()?; - /// - /// ac.load_network_slot(NetworkSlot::Second)?; - /// # - /// # Ok(()) - /// # } - /// ``` - #[doc(alias = "ACI_LoadNetworkSetting")] - pub fn load_network_slot(&self, slot: NetworkSlot) -> crate::Result<()> { - unsafe { - ResultCode(ctru_sys::ACI_LoadNetworkSetting(slot as u32))?; - Ok(()) + /// Load the selected network slot, if present. + /// + /// Note: this method requires `ac:i` access + /// # Example + /// + /// ``` + /// # let _runner = test_runner::GdbRunner::default(); + /// # use std::error::Error; + /// # fn main() -> Result<(), Box> { + /// # + /// use ctru::services::ac::Ac; + /// + /// let ac = Ac::new()?; + /// + /// ac.load_network_slot(NetworkSlot::Second)?; + /// # + /// # Ok(()) + /// # } + /// ``` + #[doc(alias = "ACI_LoadNetworkSetting")] + pub fn load_network_slot(&self, slot: NetworkSlot) -> crate::Result<()> { + unsafe { + ResultCode(ctru_sys::ACI_LoadNetworkSetting(slot as u32))?; + Ok(()) + } } - }*/ + */ } impl Drop for Ac { @@ -327,13 +331,14 @@ pub enum SecurityMode { /// WPA2-AES authentication WPA2_AES = ctru_sys::AC_WPA2_AES, } - /* #[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord)] #[repr(u32)] pub enum NetworkSlot { First = 0, Second = 1, - Third = 2 + Third = 2, } */ + +from_impl!(SecurityMode, ctru_sys::acSecurityMode);