pub enum PropertyValue {
Show 15 variants
Null,
Boolean(bool),
Unsigned(u64),
Signed(i32),
Real(f32),
Double(f64),
OctetString(Vec<u8>),
CharacterString(String),
BitString {
unused_bits: u8,
data: Vec<u8>,
},
Enumerated(u32),
Date(Date),
Time(Time),
ObjectIdentifier(ObjectIdentifier),
List(Vec<PropertyValue>),
ApplicationData(Vec<u8>),
}Expand description
A BACnet application-layer value.
This enum covers all primitive value types that can appear as property values in BACnet objects. Constructed types (lists, sequences) are represented as nested structures.
Variants§
Null
Null value.
Boolean(bool)
Boolean value.
Unsigned(u64)
Unsigned integer (up to 64-bit for BACnet Unsigned64).
Signed(i32)
Signed integer.
Real(f32)
IEEE 754 single-precision float.
Double(f64)
IEEE 754 double-precision float.
OctetString(Vec<u8>)
Octet string (raw bytes).
CharacterString(String)
Character string (UTF-8).
BitString
Bit string (variable length).
Enumerated(u32)
Enumerated value.
Date(Date)
Date value.
Time(Time)
Time value.
ObjectIdentifier(ObjectIdentifier)
Object identifier.
List(Vec<PropertyValue>)
A sequence (array) of property values.
Used when reading an entire array property with arrayIndex absent
(Clause 15.5.1). Each element is encoded as its own application-tagged
value, concatenated in order.
ApplicationData(Vec<u8>)
Raw, already-encoded application-layer bytes for a property whose wire
form is a context-tagged (CHOICE/SEQUENCE) production that the flat
application-tagged model above cannot express — e.g. a framed
BACnetEventParameter or a Recipient_List of BACnetDestination.
The bytes are emitted verbatim by
bacnet_encoding::primitives::encode_property_value and are produced
by decode_application_value when it encounters a context-tagged
element; they always span exactly one complete tagged element,
including its context tag header(s). Objects that serve structured
properties decode these with the matching framed codec in
bacnet-encoding; a property writer that is not expecting this variant
should reject it as INVALID_DATA_TYPE.
Implementations§
Source§impl PropertyValue
impl PropertyValue
Sourcepub fn is_primitive(&self) -> bool
pub fn is_primitive(&self) -> bool
Whether this is a value of a primitive datatype, one application tag
on the wire: every variant except List and ApplicationData.