pub enum NodeDecl {
Integer {
name: String,
addressing: Addressing,
len: u32,
access: AccessMode,
min: i64,
max: i64,
inc: Option<i64>,
unit: Option<String>,
bitfield: Option<BitField>,
selectors: Vec<String>,
selected_if: Vec<(String, Vec<String>)>,
},
Float {
name: String,
addressing: Addressing,
access: AccessMode,
min: f64,
max: f64,
unit: Option<String>,
scale: Option<(i64, i64)>,
offset: Option<f64>,
selectors: Vec<String>,
selected_if: Vec<(String, Vec<String>)>,
},
Enum {
name: String,
addressing: Addressing,
access: AccessMode,
entries: Vec<EnumEntryDecl>,
default: Option<String>,
selectors: Vec<String>,
selected_if: Vec<(String, Vec<String>)>,
},
Boolean {
name: String,
addressing: Addressing,
len: u32,
access: AccessMode,
bitfield: BitField,
selectors: Vec<String>,
selected_if: Vec<(String, Vec<String>)>,
},
Command {
name: String,
address: u64,
len: u32,
},
Category {
name: String,
children: Vec<String>,
},
SwissKnife(SwissKnifeDecl),
}Expand description
Declaration of a node extracted from the GenICam XML description.
Variants§
Integer
Integer feature backed by a fixed register block.
Float
Floating point feature backed by an integer register with scaling.
Enum
Enumeration feature exposing a list of named integer values.
Boolean
Boolean feature backed by a single bit/byte register.
Command
Command feature that triggers an action when written.
Category
Category used to organise features.
SwissKnife(SwissKnifeDecl)
Computed value backed by an arithmetic expression referencing other nodes.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for NodeDecl
impl RefUnwindSafe for NodeDecl
impl Send for NodeDecl
impl Sync for NodeDecl
impl Unpin for NodeDecl
impl UnwindSafe for NodeDecl
Blanket Implementations§
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