pub struct DeviceCycle {
pub device_type: String,
pub device_id: String,
pub mapping_ids: Vec<Uuid>,
pub active_mapping_id: Option<Uuid>,
pub cycle_gesture: Option<String>,
}Expand description
Device-level Connection cycle. When a row exists for (device_type, device_id), only the mapping identified by active_mapping_id routes
input for that device — the other mappings in mapping_ids sit dormant
until cycled in. Mappings outside the cycle (i.e. not in mapping_ids)
are unaffected and continue to fire normally.
cycle_gesture, if set, is the input primitive that advances the active
pointer to the next entry in mapping_ids order. Both edge and server
emit SwitchActiveConnection to keep state in sync; the receiver applies
the change idempotently.
Fields§
§device_type: String§device_id: String§mapping_ids: Vec<Uuid>Mappings to rotate through, in cycle order. The cycle gesture advances active to the next entry, wrapping at the end.
active_mapping_id: Option<Uuid>Currently-active mapping (must be one of mapping_ids). None
when the cycle is empty (transient — the server normally clears
the cycle row in that case).
cycle_gesture: Option<String>Snake-case InputType name (e.g. "swipe_up", "long_press")
that advances active. None = the cycle exists but only switches
via API; no on-device gesture binding.
Trait Implementations§
Source§impl Clone for DeviceCycle
impl Clone for DeviceCycle
Source§fn clone(&self) -> DeviceCycle
fn clone(&self) -> DeviceCycle
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more