pub struct UlcpDeviceConfigRecord {
pub radio: UlcpRadioSettingsRecord,
pub ident_role: Option<u8>,
pub ident_mobile: Option<bool>,
pub dev_discoverable: Option<bool>,
pub repeater: Option<UlcpRepeaterSettingsRecord>,
pub tz_offset_min: Option<i16>,
pub gnss: Option<UlcpGnssSettingsRecord>,
pub advert: Option<UlcpAdvertSettingsRecord>,
}Expand description
Complete desired configuration of a device’s own domain: what it is and what it does when no phone is attached.
This is the commissioning counterpart to UlcpRadioSettingsRecord,
which describes only the radio. Every capability-gated field must be
present exactly when the device advertises the matching capability, so
the record always states a whole desired configuration rather than a
patch — a property that a future template feature can lean on.
Fields§
§radio: UlcpRadioSettingsRecordThe live radio profile, applied with the same disable-first,
enable-last ordering MobileUlcpSession::configure uses.
ident_role: Option<u8>PROP_IDENT_ROLE, or None to let the device derive its
advertised role from what it is actually doing. Requires
CAP_IDENT.
ident_mobile: Option<bool>PROP_IDENT_MOBILE. Present exactly when the device advertises
CAP_IDENT.
dev_discoverable: Option<bool>PROP_DEV_DISCOVERABLE: whether the device identity answers
Identity Requests. Present exactly when the device advertises
CAP_DEV_IDENTITY.
repeater: Option<UlcpRepeaterSettingsRecord>The flood-forwarding policy. Present exactly when the device
advertises CAP_REPEATER.
tz_offset_min: Option<i16>PROP_TZ_OFFSET in minutes east of UTC. Present exactly when the
device advertises CAP_TIME.
The clock itself is not here: it is live state rather than
configuration, is never saved, and is set with
MobileUlcpSession::set_time.
gnss: Option<UlcpGnssSettingsRecord>The positioning policy. Present exactly when the device advertises
CAP_GNSS.
advert: Option<UlcpAdvertSettingsRecord>The advertisement policy. Present exactly when the device
advertises CAP_ADVERT.
Trait Implementations§
Source§impl Clone for UlcpDeviceConfigRecord
impl Clone for UlcpDeviceConfigRecord
Source§fn clone(&self) -> UlcpDeviceConfigRecord
fn clone(&self) -> UlcpDeviceConfigRecord
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<UT> ConvertError<UT> for UlcpDeviceConfigRecord
impl<UT> ConvertError<UT> for UlcpDeviceConfigRecord
fn try_convert_unexpected_callback_error( e: UnexpectedUniFFICallbackError, ) -> Result<Self>
Source§impl Debug for UlcpDeviceConfigRecord
impl Debug for UlcpDeviceConfigRecord
Source§impl<UT> FfiConverter<UT> for UlcpDeviceConfigRecord
impl<UT> FfiConverter<UT> for UlcpDeviceConfigRecord
Source§const TYPE_ID_META: MetadataBuffer
const TYPE_ID_META: MetadataBuffer
Source§type FfiType = RustBuffer
type FfiType = RustBuffer
Source§fn lower(v: Self) -> RustBuffer
fn lower(v: Self) -> RustBuffer
Source§fn try_lift(buf: RustBuffer) -> Result<Self>
fn try_lift(buf: RustBuffer) -> Result<Self>
Source§impl<UT> Lift<UT> for UlcpDeviceConfigRecord
impl<UT> Lift<UT> for UlcpDeviceConfigRecord
Source§impl<UT> LiftRef<UT> for UlcpDeviceConfigRecord
impl<UT> LiftRef<UT> for UlcpDeviceConfigRecord
Source§impl<UT> LiftReturn<UT> for UlcpDeviceConfigRecord
impl<UT> LiftReturn<UT> for UlcpDeviceConfigRecord
Source§type ReturnType = <UlcpDeviceConfigRecord as Lift<UT>>::FfiType
type ReturnType = <UlcpDeviceConfigRecord as Lift<UT>>::FfiType
Source§fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
fn try_lift_successful_return(v: Self::ReturnType) -> Result<Self>
Source§fn lift_foreign_return(
ffi_return: Self::ReturnType,
call_status: RustCallStatus,
) -> Self
fn lift_foreign_return( ffi_return: Self::ReturnType, call_status: RustCallStatus, ) -> Self
Source§fn lift_error(_buf: RustBuffer) -> Self
fn lift_error(_buf: RustBuffer) -> Self
Source§fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
fn handle_callback_unexpected_error(e: UnexpectedUniFFICallbackError) -> Self
Source§impl<UT> Lower<UT> for UlcpDeviceConfigRecord
impl<UT> Lower<UT> for UlcpDeviceConfigRecord
type FfiType = <UlcpDeviceConfigRecord as FfiConverter<UT>>::FfiType
fn lower(obj: Self) -> Self::FfiType
fn write(obj: Self, buf: &mut Vec<u8>)
Source§fn lower_into_rust_buffer(obj: Self) -> RustBuffer
fn lower_into_rust_buffer(obj: Self) -> RustBuffer
Source§impl<UT> LowerError<UT> for UlcpDeviceConfigRecord
impl<UT> LowerError<UT> for UlcpDeviceConfigRecord
Source§fn lower_error(obj: Self) -> RustBuffer
fn lower_error(obj: Self) -> RustBuffer
Source§impl<UT> LowerReturn<UT> for UlcpDeviceConfigRecord
impl<UT> LowerReturn<UT> for UlcpDeviceConfigRecord
Source§type ReturnType = <UlcpDeviceConfigRecord as Lower<UT>>::FfiType
type ReturnType = <UlcpDeviceConfigRecord as Lower<UT>>::FfiType
Source§fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
fn lower_return(v: Self) -> Result<Self::ReturnType, RustCallError>
Source§fn handle_failed_lift(
error: LiftArgsError,
) -> Result<Self::ReturnType, RustCallError>
fn handle_failed_lift( error: LiftArgsError, ) -> Result<Self::ReturnType, RustCallError>
Source§impl PartialEq for UlcpDeviceConfigRecord
impl PartialEq for UlcpDeviceConfigRecord
Source§impl<UT> TypeId<UT> for UlcpDeviceConfigRecord
impl<UT> TypeId<UT> for UlcpDeviceConfigRecord
impl Eq for UlcpDeviceConfigRecord
impl StructuralPartialEq for UlcpDeviceConfigRecord
Auto Trait Implementations§
impl Freeze for UlcpDeviceConfigRecord
impl RefUnwindSafe for UlcpDeviceConfigRecord
impl Send for UlcpDeviceConfigRecord
impl Sync for UlcpDeviceConfigRecord
impl Unpin for UlcpDeviceConfigRecord
impl UnwindSafe for UlcpDeviceConfigRecord
Blanket Implementations§
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§unsafe fn clone_to_uninit(&self, dest: *mut u8)
unsafe fn clone_to_uninit(&self, dest: *mut u8)
clone_to_uninit)Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.