pub struct Solo2 { /* private fields */ }Expand description
A SoloKeys Solo 2 device, in regular mode.
From an inventory perspective, the core identifier is a UUID (16 bytes / 128 bits).
From an interface perspective, either the CTAP or PCSC transport must be available. Therefore, it is an invariant that at least one is interface, and the device itself implements Transport.
Implementations§
Source§impl Solo2
impl Solo2
pub fn transport_preference() -> TransportPreference
pub fn prefer_ctap()
pub fn prefer_pcsc()
Sourcepub fn into_lpc55(self) -> Result<Lpc55>
pub fn into_lpc55(self) -> Result<Lpc55>
NB: Requires user tap
Trait Implementations§
Source§impl Transport for Solo2
impl Transport for Solo2
Source§fn call(&mut self, instruction: u8, data: &[u8]) -> Result<Vec<u8>>
fn call(&mut self, instruction: u8, data: &[u8]) -> Result<Vec<u8>>
The minimal higher-level interface to a transport.
Source§fn call_iso(
&mut self,
class: u8,
instruction: u8,
p1: u8,
p2: u8,
data: &[u8],
) -> Result<Vec<u8>>
fn call_iso( &mut self, class: u8, instruction: u8, p1: u8, p2: u8, data: &[u8], ) -> Result<Vec<u8>>
Call in the funny ISO 7816 fashion with three extra parameters.
Note that only the PCSC transport implements this, not the CTAP transport.
fn select(&mut self, aid: Vec<u8>) -> Result<()>
Source§impl UuidSelectable for Solo2
impl UuidSelectable for Solo2
Auto Trait Implementations§
impl !RefUnwindSafe for Solo2
impl !Sync for Solo2
impl !UnwindSafe for Solo2
impl Freeze for Solo2
impl Send for Solo2
impl Unpin for Solo2
impl UnsafeUnpin for Solo2
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more