Skip to main content

DynamicData

Struct DynamicData 

Source
pub struct DynamicData { /* private fields */ }
Expand description

XTypes 1.3 §7.5.6 DynamicData.

Data instance of a DynamicType. The type must be passed at construction (DynamicDataFactory::create_data); afterwards members can be read/written via set_<T>_value(member_id, value) / get_<T>_value.

Implementations§

Source§

impl DynamicData

Source

pub fn dynamic_type(&self) -> &DynamicType

Spec §7.5.6.2.1 type().

Source

pub fn equals(&self, other: &Self) -> bool

Spec §7.5.6.2.6 equals(other) — Deep.

Source

pub fn item_count(&self) -> u32

Spec §7.5.6.2.4 get_item_count().

Source

pub fn get_value(&self, member_id: MemberId) -> Option<&DynamicValue>

Generic read of a member’s raw DynamicValue, or None if unset.

The reflective codec (crate::dynamic::codec) uses this to walk a fully-populated value without the per-kind typed getters.

Source

pub fn set_value_raw(&mut self, member_id: MemberId, value: DynamicValue)

Insert a raw DynamicValue for member_id WITHOUT TryConstruct bound-application — a faithful set for the reflective decoder, which reconstructs exactly what was on the wire. Unknown ids are accepted (the decoder only ever passes ids from the type’s own members).

Source

pub fn set_member_ids(&self) -> Vec<MemberId>

The member ids that currently carry a value, in member (index) order of the type. Used by the reflective encoder to emit members deterministically.

Source§

impl DynamicData

Source

pub fn get_boolean_value( &self, member_id: MemberId, ) -> Result<bool, DynamicError>

Spec §7.5.6.3 get_Bool_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_boolean_value( &mut self, member_id: MemberId, value: bool, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Bool_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_byte_value(&self, member_id: MemberId) -> Result<u8, DynamicError>

Spec §7.5.6.3 get_Byte_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_byte_value( &mut self, member_id: MemberId, value: u8, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Byte_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_int8_value(&self, member_id: MemberId) -> Result<i8, DynamicError>

Spec §7.5.6.3 get_Int8_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_int8_value( &mut self, member_id: MemberId, value: i8, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Int8_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_uint8_value(&self, member_id: MemberId) -> Result<u8, DynamicError>

Spec §7.5.6.3 get_UInt8_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_uint8_value( &mut self, member_id: MemberId, value: u8, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_UInt8_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_int16_value(&self, member_id: MemberId) -> Result<i16, DynamicError>

Spec §7.5.6.3 get_Int16_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_int16_value( &mut self, member_id: MemberId, value: i16, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Int16_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_uint16_value(&self, member_id: MemberId) -> Result<u16, DynamicError>

Spec §7.5.6.3 get_UInt16_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_uint16_value( &mut self, member_id: MemberId, value: u16, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_UInt16_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_int32_value(&self, member_id: MemberId) -> Result<i32, DynamicError>

Spec §7.5.6.3 get_Int32_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_int32_value( &mut self, member_id: MemberId, value: i32, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Int32_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_uint32_value(&self, member_id: MemberId) -> Result<u32, DynamicError>

Spec §7.5.6.3 get_UInt32_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_uint32_value( &mut self, member_id: MemberId, value: u32, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_UInt32_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_int64_value(&self, member_id: MemberId) -> Result<i64, DynamicError>

Spec §7.5.6.3 get_Int64_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_int64_value( &mut self, member_id: MemberId, value: i64, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Int64_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_uint64_value(&self, member_id: MemberId) -> Result<u64, DynamicError>

Spec §7.5.6.3 get_UInt64_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_uint64_value( &mut self, member_id: MemberId, value: u64, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_UInt64_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_float32_value( &self, member_id: MemberId, ) -> Result<f32, DynamicError>

Spec §7.5.6.3 get_Float32_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_float32_value( &mut self, member_id: MemberId, value: f32, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Float32_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_float64_value( &self, member_id: MemberId, ) -> Result<f64, DynamicError>

Spec §7.5.6.3 get_Float64_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_float64_value( &mut self, member_id: MemberId, value: f64, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Float64_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_char8_value(&self, member_id: MemberId) -> Result<u8, DynamicError>

Spec §7.5.6.3 get_Char8_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_char8_value( &mut self, member_id: MemberId, value: u8, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Char8_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_char16_value(&self, member_id: MemberId) -> Result<u16, DynamicError>

Spec §7.5.6.3 get_Char16_value.

§Errors

BadParameter on an unknown id, Inconsistent on a type mismatch.

Source

pub fn set_char16_value( &mut self, member_id: MemberId, value: u16, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_Char16_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_string_value( &self, member_id: MemberId, ) -> Result<String, DynamicError>

Spec §7.5.6.3 get_string_value.

§Errors

Type-Mismatch.

Source

pub fn set_string_value( &mut self, member_id: MemberId, value: impl Into<String>, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_string_value.

§Errors

Type mismatch / unknown id.

Source

pub fn get_wstring_value( &self, member_id: MemberId, ) -> Result<Vec<u16>, DynamicError>

Spec §7.5.6.3 get_wstring_value.

§Errors

Type-Mismatch.

Source

pub fn set_wstring_value( &mut self, member_id: MemberId, value: Vec<u16>, ) -> Result<(), DynamicError>

Spec §7.5.6.3 set_wstring_value.

§Errors

Type mismatch / unknown id.

Source§

impl DynamicData

Source

pub fn get_complex_value( &self, member_id: MemberId, ) -> Result<&DynamicData, DynamicError>

Spec §7.5.6.5.1 get_complex_value(member_id).

Returns a read view onto the composite member.

§Errors

Type mismatch or member not set.

Source

pub fn set_complex_value( &mut self, member_id: MemberId, value: DynamicData, ) -> Result<(), DynamicError>

Spec §7.5.6.5.2 set_complex_value(member_id, data).

§Errors

Type mismatch or member does not exist.

Source

pub fn get_sequence_length( &self, member_id: MemberId, ) -> Result<u32, DynamicError>

Returns the number of elements of a sequence member.

§Errors

Type mismatch or member not set.

Source

pub fn set_sequence_value( &mut self, member_id: MemberId, value: Vec<DynamicData>, ) -> Result<(), DynamicError>

Sets a sequence completely.

§Errors

Type mismatch.

Source

pub fn get_sequence_element( &self, member_id: MemberId, index: u32, ) -> Result<&DynamicData, DynamicError>

Returns an element of a sequence member.

§Errors

Index out of bounds / type mismatch.

Source§

impl DynamicData

Source

pub fn loan_value( &mut self, member_id: MemberId, ) -> Result<DataLoan, DynamicError>

Spec §7.5.6.1 loan_value(member_id).

Creates a DataLoan handle. Until return_loaned_value is called, another loan operation on the same member is not allowed.

§Errors

Member not found, or member already on loan.

Source

pub fn return_loaned_value( &mut self, loan: DataLoan, ) -> Result<(), DynamicError>

Spec §7.5.6.1 return_loaned_value(loan).

§Errors

LoanError if the loan is unknown or already returned.

Trait Implementations§

Source§

impl Clone for DynamicData

Source§

fn clone(&self) -> DynamicData

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for DynamicData

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.