pub struct Capabilities {
pub model: Model,
pub push_mode: Option<PushMode>,
pub camera_transport: Option<CameraTransport>,
pub hardware: Option<HardwareFeatures>,
pub developer_mode: Option<DeveloperMode>,
pub acs_policy: Option<AcsPolicy>,
pub evidence: Option<EvidenceGrade>,
pub registry_status: RegistryStatus,
}Expand description
Resolved capabilities for a (model, firmware). Unknown facts are None.
Fields§
§model: Model§push_mode: Option<PushMode>§camera_transport: Option<CameraTransport>§hardware: Option<HardwareFeatures>§developer_mode: Option<DeveloperMode>§acs_policy: Option<AcsPolicy>§evidence: Option<EvidenceGrade>§registry_status: RegistryStatusImplementations§
Source§impl Capabilities
impl Capabilities
Sourcepub fn control_permission(&self) -> Result<ControlPermit, ControlRefusal>
pub fn control_permission(&self) -> Result<ControlPermit, ControlRefusal>
Whether — and under what condition — control commands may be sent.
Safety is decided from registry-match quality and the control boundary,
never from EvidenceGrade: an unknown model, firmware newer than
known, or a model without a confirmed control boundary all refuse.
Sourcepub fn control_allowed(&self) -> bool
pub fn control_allowed(&self) -> bool
Convenience: whether control is permitted at all.
Sourcepub fn control_assessment(&self) -> ControlAssessment
pub fn control_assessment(&self) -> ControlAssessment
A soft, agent-facing assessment of whether control is expected to
work — the degrade-not-wall counterpart to [control_permission].
The one difference: a firmware merely newer than the registry knows
degrades to ControlAssessment::NewerFirmwareUntested (a warning) here
instead of a hard refusal, so a routine firmware update doesn’t wall off
an otherwise-working CLI — the LAN command set is very stable across
point releases. Genuinely unknown models, a missing control boundary, and
Developer Mode being unavailable still refuse, exactly as in
[control_permission].
Trait Implementations§
Source§impl Clone for Capabilities
impl Clone for Capabilities
Source§fn clone(&self) -> Capabilities
fn clone(&self) -> Capabilities
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for Capabilities
impl Debug for Capabilities
impl Eq for Capabilities
Source§impl PartialEq for Capabilities
impl PartialEq for Capabilities
Source§fn eq(&self, other: &Capabilities) -> bool
fn eq(&self, other: &Capabilities) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for Capabilities
Auto Trait Implementations§
impl Freeze for Capabilities
impl RefUnwindSafe for Capabilities
impl Send for Capabilities
impl Sync for Capabilities
impl Unpin for Capabilities
impl UnsafeUnpin for Capabilities
impl UnwindSafe for Capabilities
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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.