pub enum NodeDecl {
Integer {Show 17 fields
name: String,
meta: NodeMeta,
addressing: Option<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>)>,
pvalue: Option<String>,
p_max: Option<String>,
p_min: Option<String>,
value: Option<i64>,
predicates: PredicateRefs,
},
Float {Show 15 fields
name: String,
meta: NodeMeta,
addressing: Option<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>)>,
pvalue: Option<String>,
encoding: FloatEncoding,
byte_order: ByteOrder,
predicates: PredicateRefs,
},
Enum {
name: String,
meta: NodeMeta,
addressing: Option<Addressing>,
access: AccessMode,
entries: Vec<EnumEntryDecl>,
default: Option<String>,
selectors: Vec<String>,
selected_if: Vec<(String, Vec<String>)>,
pvalue: Option<String>,
predicates: PredicateRefs,
},
Boolean {
name: String,
meta: NodeMeta,
addressing: Option<Addressing>,
len: u32,
access: AccessMode,
bitfield: Option<BitField>,
selectors: Vec<String>,
selected_if: Vec<(String, Vec<String>)>,
pvalue: Option<String>,
on_value: Option<i64>,
off_value: Option<i64>,
predicates: PredicateRefs,
},
Command {
name: String,
meta: NodeMeta,
address: Option<u64>,
len: u32,
pvalue: Option<String>,
command_value: Option<i64>,
predicates: PredicateRefs,
},
Category {
name: String,
meta: NodeMeta,
children: Vec<String>,
predicates: PredicateRefs,
},
SwissKnife(SwissKnifeDecl),
Converter(ConverterDecl),
IntConverter(IntConverterDecl),
String(StringDecl),
}Expand description
Declaration of a node extracted from the GenICam XML description.
Variants§
Integer
Integer feature backed by a register block or delegated via pValue.
Fields
addressing: Option<Addressing>Addressing metadata (absent when delegated via pvalue).
access: AccessModeAccess privileges.
selected_if: Vec<(String, Vec<String>)>Selector gating rules in the form (selector name, allowed values).
predicates: PredicateRefsPredicate refs gating implementation / availability / lock state.
Float
Floating point feature backed by an integer register with scaling, a native IEEE 754 register, or delegated via pValue.
Fields
addressing: Option<Addressing>Addressing metadata (absent when delegated via pvalue).
access: AccessModeencoding: FloatEncodingHow the register payload should be interpreted — native IEEE 754
or scaled integer. Defaults to FloatEncoding::ScaledInteger to
preserve existing behaviour for XML that relied on it.
byte_order: ByteOrderByte order of the register payload. Defaults to ByteOrder::Big
(the GenICam default).
predicates: PredicateRefsPredicate refs gating implementation / availability / lock state.
Enum
Enumeration feature exposing a list of named integer values.
Fields
addressing: Option<Addressing>Addressing metadata (absent when delegated via pvalue).
access: AccessModeentries: Vec<EnumEntryDecl>predicates: PredicateRefsPredicate refs gating implementation / availability / lock state.
Boolean
Boolean feature backed by a single bit/byte register or delegated via pValue.
Fields
addressing: Option<Addressing>Addressing metadata (absent when delegated via pvalue).
access: AccessModepredicates: PredicateRefsPredicate refs gating implementation / availability / lock state.
Command
Command feature that triggers an action when written.
Fields
predicates: PredicateRefsPredicate refs gating implementation / availability / lock state.
Category
Category used to organise features.
Fields
predicates: PredicateRefsPredicate refs gating implementation / availability.
SwissKnife(SwissKnifeDecl)
Computed value backed by an arithmetic expression referencing other nodes.
Converter(ConverterDecl)
Converter transforming raw values to/from user-facing floating-point values.
IntConverter(IntConverterDecl)
IntConverter transforming raw values to/from user-facing integer values.
String(StringDecl)
StringReg for string-typed register access.