Skip to main content

Event

Enum Event 

Source
#[non_exhaustive]
pub enum Event {
Show 74 variants DeviceConfigChanged { device: DeviceUid, }, DeviceConfigComplete { device: DeviceUid, }, DeviceOnlineChanged { device: DeviceUid, online: bool, }, DeviceTemperatureChanged { device: DeviceUid, temperatures: Vec<u8>, }, FirmwareVersionChanged { device: DeviceUid, version: FirmwareVersion, }, SystemStatusChanged { device: DeviceUid, status: u16, message: String, }, NetworkStatusChanged { device: DeviceUid, status: NetworkPortStatus, }, V2ipStatsChanged { device: DeviceUid, stats: V2ipDeviceStats, }, V2ipSourcesChanged { device: DeviceUid, sources: Vec<V2ipStreamSources>, }, V2ipDetailsChanged { device: DeviceUid, details: DeviceV2ipDetails, }, V2ipSinkChanged { device: DeviceUid, sink: DeviceV2ipSink, }, MultiviewerStatusChanged { device: DeviceUid, status: MultiviewerStatus, }, AudioEndpointsChanged { device: DeviceUid, endpoints: AudioEndpoints, }, MeshMasterChanged { device: DeviceUid, master: DeviceUid, }, TopologyChanged { device: DeviceUid, topology: Vec<TopologyEntry>, }, AmpDolbySettingsChanged { device: DeviceUid, settings: AmpDolbySettings, }, PduStateChanged { device: DeviceUid, state: PduState, }, SetupStatusChanged { device: DeviceUid, completed: bool, }, InstallerIdChanged { device: DeviceUid, installer_id: u16, }, TilingChanged { device: DeviceUid, tiling: V2ipTilingConfig, }, RcSettingsChanged { device: DeviceUid, settings: RcSettings, }, V2ipLinkChanged { device: DeviceUid, target: DeviceUid, }, MultiviewerCommand { device: DeviceUid, command: MultiviewerCommand, }, AudioSelectInput { device: DeviceUid, change: AudioChangeSource, }, AudioEndpointMute { device: DeviceUid, endpoint: u16, muted: bool, }, AudioEndpointTrigger { device: DeviceUid, endpoint: u16, active: bool, }, AudioEndpointVolume { device: DeviceUid, endpoint: u16, volume: u32, }, DiscoverRequest { device: DeviceUid, }, SetRouteRequested { device: DeviceUid, request: SetRouteRequest, }, EdidRequested { device: DeviceUid, request: EdidRequest, }, EdidReceived { device: DeviceUid, edid: EdidRecord, }, BayNameChangeRequested { device: DeviceUid, change: BayNameChange, }, EdidProfileChangeRequested { device: DeviceUid, change: EdidProfileChange, }, RebootRequested { device: DeviceUid, request: RebootRequest, }, FactoryResetRequested { device: DeviceUid, request: FactoryResetRequest, }, MonitoringPulse { device: DeviceUid, }, UpgradeFpgaRequested { device: DeviceUid, }, DetectBaysRequested { device: DeviceUid, }, PowerSaveRequested { device: DeviceUid, request: V2ipPowerSaveRequest, }, KeyTransmitRequested { device: DeviceUid, request: KeyTransmitRequest, }, ActionTransmitRequested { device: DeviceUid, request: ActionTransmitRequest, }, IrTransmitRequested { device: DeviceUid, request: IrTransmitRequest, }, BlacklistChanged { device: DeviceUid, change: V2ipBlacklistChange, }, VideoWallCommand { device: DeviceUid, command: VideoWallCommand, }, BayRegistered { bay: BayUid, }, VideoSourceChanged { bay: BayUid, source: Option<BayUid>, }, AudioSourceChanged { bay: BayUid, source: Option<BayUid>, }, VolumeChanged { bay: BayUid, volume: VolumeMuteStatus, }, PowerChanged { bay: BayUid, power: PowerStatus, }, NameChanged { bay: BayUid, name: String, }, SignalDetectedChanged { bay: BayUid, detected: bool, }, FaultyChanged { bay: BayUid, faulty: bool, }, HiddenChanged { bay: BayUid, hidden: bool, }, PoePoweredChanged { bay: BayUid, powered: bool, }, HdbtConnectedChanged { bay: BayUid, connected: bool, }, SignalTypeChanged { bay: BayUid, signal_type: String, }, HpdDetectedChanged { bay: BayUid, detected: bool, }, CecDetectedChanged { bay: BayUid, detected: bool, }, ArcChanged { bay: BayUid, arc: ArcStatus, }, EdidProfileChanged { bay: BayUid, profile: EdidProfile, }, RcTypeChanged { bay: BayUid, rc_type: RcType, }, KeyPressed { bay: BayUid, key: RcKey, }, ActionReceived { bay: BayUid, action: RcAction, }, MirrorStatusChanged { bay: BayUid, mirror: BayMirrorStatus, }, AmpZoneSettingsChanged { bay: BayUid, settings: AmpZoneSettings, }, VolumeStep { bay: BayUid, up: bool, }, AudioClipped { bay: BayUid, clip: AudioClip, }, IrCaptured { bay: BayUid, capture: IrCapture, }, FilteredDevicesChanged { bay: BayUid, filtered: Vec<DeviceUid>, }, AudioEndpointChanged { bay: BayUid, endpoint: u8, }, EncoderDisabledChanged { bay: BayUid, disabled: bool, }, DecoderDisabledChanged { bay: BayUid, disabled: bool, }, BayLinked { bay: BayUid, linked_serial: String, bay_name: String, features: LinkFeature, }, BayUnlinked { bay: BayUid, linked_serial: String, bay_name: String, },
}
Expand description

Something that changed, or a request that arrived.

Events are collected while the state lock is held and dispatched after it is released, so a handler may call back into the library.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

DeviceConfigChanged

The device’s configuration changed.

Fields

§device: DeviceUid

The device the event concerns.

§

DeviceConfigComplete

The device has reported every part of its configuration.

Fields

§device: DeviceUid

The device the event concerns.

§

DeviceOnlineChanged

The device started or stopped answering.

Fields

§device: DeviceUid

The device the event concerns.

§online: bool
§

DeviceTemperatureChanged

The device reported new temperatures.

Fields

§device: DeviceUid

The device the event concerns.

§temperatures: Vec<u8>
§

FirmwareVersionChanged

A firmware component reported its version.

Fields

§device: DeviceUid

The device the event concerns.

§

SystemStatusChanged

The device reported a system status.

Fields

§device: DeviceUid

The device the event concerns.

§status: u16
§message: String
§

NetworkStatusChanged

A network port reported its link state.

Fields

§device: DeviceUid

The device the event concerns.

§

V2ipStatsChanged

The device reported V2IP statistics.

Fields

§device: DeviceUid

The device the event concerns.

§

V2ipSourcesChanged

The streams the device’s source bays advertise changed.

Fields

§device: DeviceUid

The device the event concerns.

§

V2ipDetailsChanged

The device’s V2IP encoder configuration changed.

Fields

§device: DeviceUid

The device the event concerns.

§

V2ipSinkChanged

The streams the device’s sink is subscribed to changed.

Fields

§device: DeviceUid

The device the event concerns.

§

MultiviewerStatusChanged

A multiviewer reported its state.

Fields

§device: DeviceUid

The device the event concerns.

§

AudioEndpointsChanged

The device reported its audio endpoint tree.

Fields

§device: DeviceUid

The device the event concerns.

§endpoints: AudioEndpoints
§

MeshMasterChanged

The device reported its mesh master.

Fields

§device: DeviceUid

The device the event concerns.

§master: DeviceUid
§

TopologyChanged

The device reported its view of the mesh topology.

Fields

§device: DeviceUid

The device the event concerns.

§topology: Vec<TopologyEntry>
§

AmpDolbySettingsChanged

A ProAmp8 reported its Dolby settings.

Fields

§device: DeviceUid

The device the event concerns.

§

PduStateChanged

A PDU reported its electrical state.

Fields

§device: DeviceUid

The device the event concerns.

§state: PduState
§

SetupStatusChanged

Installer setup was completed or cleared.

Fields

§device: DeviceUid

The device the event concerns.

§completed: bool
§

InstallerIdChanged

The installer id changed.

Fields

§device: DeviceUid

The device the event concerns.

§installer_id: u16
§

TilingChanged

The sink was told to show a window.

Fields

§device: DeviceUid

The device the event concerns.

§

RcSettingsChanged

A source bay’s remote-control configuration changed.

Fields

§device: DeviceUid

The device the event concerns.

§settings: RcSettings
§

V2ipLinkChanged

A V2IP device was linked to a remote peer.

Fields

§device: DeviceUid

The device the event concerns.

§target: DeviceUid
§

MultiviewerCommand

A multiviewer command arrived.

Fields

§device: DeviceUid

The device the event concerns.

§

AudioSelectInput

An audio endpoint was switched to a new source.

Fields

§device: DeviceUid

The device the event concerns.

§

AudioEndpointMute

An audio endpoint was muted or unmuted.

Fields

§device: DeviceUid

The device the event concerns.

§endpoint: u16
§muted: bool
§

AudioEndpointTrigger

An audio endpoint’s trigger changed.

Fields

§device: DeviceUid

The device the event concerns.

§endpoint: u16
§active: bool
§

AudioEndpointVolume

An audio endpoint’s volume changed.

Fields

§device: DeviceUid

The device the event concerns.

§endpoint: u16
§volume: u32
§

DiscoverRequest

A peer asked every device to announce itself.

Fields

§device: DeviceUid

The device the event concerns.

§

SetRouteRequested

A peer asked a device to switch a sink.

Fields

§device: DeviceUid

The device the event concerns.

§

EdidRequested

A peer asked a device for its EDID.

Fields

§device: DeviceUid

The device the event concerns.

§request: EdidRequest
§

EdidReceived

A device answered with its EDID.

Fields

§device: DeviceUid

The device the event concerns.

§

BayNameChangeRequested

A peer asked a device to rename a bay.

Fields

§device: DeviceUid

The device the event concerns.

§

EdidProfileChangeRequested

A peer asked a device to switch its EDID profile.

Fields

§device: DeviceUid

The device the event concerns.

§

RebootRequested

A peer asked a device to reboot.

Fields

§device: DeviceUid

The device the event concerns.

§

FactoryResetRequested

A peer asked devices to factory-reset.

Fields

§device: DeviceUid

The device the event concerns.

§

MonitoringPulse

A device sent its monitoring pulse.

Fields

§device: DeviceUid

The device the event concerns.

§

UpgradeFpgaRequested

A peer asked a device to upgrade its FPGA.

Fields

§device: DeviceUid

The device the event concerns.

§

DetectBaysRequested

A peer asked a device to re-detect its bays.

Fields

§device: DeviceUid

The device the event concerns.

§

PowerSaveRequested

A peer asked a sink to enter or leave power save.

Fields

§device: DeviceUid

The device the event concerns.

§

KeyTransmitRequested

A peer asked a device to send a remote-control key.

Fields

§device: DeviceUid

The device the event concerns.

§

ActionTransmitRequested

A peer asked a device to perform a remote-control action.

Fields

§device: DeviceUid

The device the event concerns.

§

IrTransmitRequested

A peer asked a device to blast raw infrared.

Fields

§device: DeviceUid

The device the event concerns.

§

BlacklistChanged

A device was added to or removed from the source blacklist.

Fields

§device: DeviceUid

The device the event concerns.

§

VideoWallCommand

A video wall command arrived.

Fields

§device: DeviceUid

The device the event concerns.

§

BayRegistered

A bay was seen for the first time.

Fields

§bay: BayUid

The bay the event concerns.

§

VideoSourceChanged

The bay’s routed video source changed.

Fields

§bay: BayUid

The bay the event concerns.

§source: Option<BayUid>
§

AudioSourceChanged

The bay’s routed audio source changed.

Fields

§bay: BayUid

The bay the event concerns.

§source: Option<BayUid>
§

VolumeChanged

The bay’s volume or mute state changed.

Fields

§bay: BayUid

The bay the event concerns.

§

PowerChanged

The attached device’s power state changed.

Fields

§bay: BayUid

The bay the event concerns.

§

NameChanged

The bay was renamed.

Fields

§bay: BayUid

The bay the event concerns.

§name: String
§

SignalDetectedChanged

A signal appeared or disappeared.

Fields

§bay: BayUid

The bay the event concerns.

§detected: bool
§

FaultyChanged

The bay started or stopped reporting a fault.

Fields

§bay: BayUid

The bay the event concerns.

§faulty: bool
§

HiddenChanged

The bay was hidden or shown.

Fields

§bay: BayUid

The bay the event concerns.

§hidden: bool
§

PoePoweredChanged

Power over Ethernet started or stopped supplying the bay.

Fields

§bay: BayUid

The bay the event concerns.

§powered: bool
§

HdbtConnectedChanged

The HDBaseT link came up or went down.

Fields

§bay: BayUid

The bay the event concerns.

§connected: bool
§

SignalTypeChanged

The signal format description changed.

Fields

§bay: BayUid

The bay the event concerns.

§signal_type: String
§

HpdDetectedChanged

Hot-plug detect was asserted or released.

Fields

§bay: BayUid

The bay the event concerns.

§detected: bool
§

CecDetectedChanged

A CEC device answered or stopped answering.

Fields

§bay: BayUid

The bay the event concerns.

§detected: bool
§

ArcChanged

The audio return channel changed.

Fields

§bay: BayUid

The bay the event concerns.

§

EdidProfileChanged

The input’s EDID profile changed.

Fields

§bay: BayUid

The bay the event concerns.

§profile: EdidProfile
§

RcTypeChanged

The input’s remote-control type changed.

Fields

§bay: BayUid

The bay the event concerns.

§rc_type: RcType
§

KeyPressed

A remote-control key was pressed on the bay.

Fields

§bay: BayUid

The bay the event concerns.

§key: RcKey
§

ActionReceived

A remote-control action was received on the bay.

Fields

§bay: BayUid

The bay the event concerns.

§action: RcAction
§

MirrorStatusChanged

The bay started or stopped mirroring another output.

Fields

§bay: BayUid

The bay the event concerns.

§

AmpZoneSettingsChanged

A ProAmp8 zone’s settings changed.

Fields

§bay: BayUid

The bay the event concerns.

§

VolumeStep

A volume step was requested on the bay.

Fields

§bay: BayUid

The bay the event concerns.

§up: bool
§

AudioClipped

The bay detected audio clipping.

Fields

§bay: BayUid

The bay the event concerns.

§

IrCaptured

Raw infrared was captured on the bay.

Fields

§bay: BayUid

The bay the event concerns.

§capture: IrCapture
§

FilteredDevicesChanged

The devices filtered out of this sink’s picker changed.

Fields

§bay: BayUid

The bay the event concerns.

§filtered: Vec<DeviceUid>
§

AudioEndpointChanged

The audio endpoint the bay carries changed.

Fields

§bay: BayUid

The bay the event concerns.

§endpoint: u8
§

EncoderDisabledChanged

The bay’s V2IP encoder was enabled or disabled.

Fields

§bay: BayUid

The bay the event concerns.

§disabled: bool
§

DecoderDisabledChanged

The bay’s V2IP decoder was enabled or disabled.

Fields

§bay: BayUid

The bay the event concerns.

§disabled: bool
§

BayLinked

The bay was linked to a bay on another device.

linked_serial is the serial of the device at the other end of the link, and bay_name the name of the bay whose link record changed: this bay on the device that reported the change, and the far bay on its peer. Both ends are told, so both fire.

Fields

§bay: BayUid

The bay the event concerns.

§linked_serial: String
§bay_name: String
§features: LinkFeature
§

BayUnlinked

The bay’s link to another device was removed.

The arguments describe the link that was removed, and mean what they do on Event::BayLinked.

Fields

§bay: BayUid

The bay the event concerns.

§linked_serial: String
§bay_name: String

Trait Implementations§

Source§

impl Clone for Event

Source§

fn clone(&self) -> Event

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 Event

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Event

Source§

fn eq(&self, other: &Event) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for Event

Auto Trait Implementations§

§

impl Freeze for Event

§

impl RefUnwindSafe for Event

§

impl Send for Event

§

impl Sync for Event

§

impl Unpin for Event

§

impl UnsafeUnpin for Event

§

impl UnwindSafe for Event

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 = !

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.