Skip to main content

BayInfo

Struct BayInfo 

Source
#[non_exhaustive]
pub struct BayInfo {
Show 36 fields pub uid: BayUid, pub port_name: String, pub user_name: String, pub bay_num: u8, pub features: BayFeatures, pub is_input: bool, pub is_output: bool, pub is_audio: bool, pub has_dolby: bool, pub is_local: bool, pub video_source: Option<BayUid>, pub audio_source: Option<BayUid>, pub power_status: Option<PowerStatus>, pub hidden: Option<bool>, pub faulty: Option<bool>, pub zone_powered: Option<bool>, pub hdbt_connected: Option<bool>, pub signal_detected: Option<bool>, pub hpd_detected: Option<bool>, pub cec_detected: Option<bool>, pub encoder_disabled: Option<bool>, pub decoder_disabled: Option<bool>, pub signal_type: Option<String>, pub signal_details: Option<BaySignalDetails>, pub signal_mode: MxrSignalType, pub arc: ArcStatus, pub volume: Option<VolumeMuteStatus>, pub rc_type: Option<RcType>, pub edid_profile: Option<EdidProfile>, pub mirror: BayMirrorStatus, pub audio_endpoint: Option<u8>, pub amp_settings: Option<AmpZoneSettings>, pub filtered: Vec<DeviceUid>, pub linked_bay: Option<BayUid>, pub v2ip_uid: DeviceUid, pub content: Vec<BayContentField>,
}
Expand description

What a bay is, and what is connected to it.

A status this bay has never reported is None, which is not the same as the status being off: a device reports only what it has.

A mesh bay, a OneIP bay on one unit standing for another unit’s input or output, reports that unit’s own bay 0 in the same direction. Only its identity is its own: uid, port_name, bay_num, features, its direction, is_local and v2ip_uid, which names that unit. Every change to that bay is reported for each mesh bay standing for it as well. Until the unit has reported the bay, the rest reads as never reported.

A command about a mesh bay goes to that unit about that bay, and is refused until the unit has reported it. A route keeps naming its source by a port of the device listing the mesh bay.

Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.
§uid: BayUid

How the bay is addressed: its device and its port.

§port_name: String

The name the device gives the port, such as Output 1.

§user_name: String

The name the installer gave the bay, falling back to the port name.

§bay_num: u8

The bay number the device’s own API and topology use.

§features: BayFeatures

What the bay is wired for.

§is_input: bool

Whether the bay takes a signal in.

§is_output: bool

Whether the bay puts a signal out.

§is_audio: bool

Whether the bay carries audio and no video.

§has_dolby: bool

Whether the bay can decode Dolby.

§is_local: bool

Whether the bay is on this device rather than reached through the mesh.

§video_source: Option<BayUid>

The bay routed to this one for video.

§audio_source: Option<BayUid>

The bay routed to this one for audio, which follows the video source until the bay is told otherwise.

§power_status: Option<PowerStatus>

Power state of what is connected.

§hidden: Option<bool>

Whether the bay is hidden from the installation’s user interface.

§faulty: Option<bool>

Whether the device reports the bay as faulty.

§zone_powered: Option<bool>

Whether the amplifier zone the bay drives is powered on.

§hdbt_connected: Option<bool>

Whether an HDBaseT link is up.

§signal_detected: Option<bool>

Whether a signal is present.

§hpd_detected: Option<bool>

Whether hot-plug detect is asserted.

§cec_detected: Option<bool>

Whether a CEC device answered.

§encoder_disabled: Option<bool>

Whether the bay’s encoder is switched off.

§decoder_disabled: Option<bool>

Whether the bay’s decoder is switched off.

§signal_type: Option<String>

The signal as the device describes it, such as 1080p60 444 8.

§signal_details: Option<BaySignalDetails>

The signal as the device measures it.

§signal_mode: MxrSignalType

The signal format the device reports for the bay.

§arc: ArcStatus

Whether audio return is active, and over which connector.

§volume: Option<VolumeMuteStatus>

Volume and mute, for a bay that has them.

A bay with no volume control of its own reads its linked_bay’s, because a link to an amplifier zone is how the mesh says that zone is this bay’s volume.

§rc_type: Option<RcType>

The kind of remote control attached.

§edid_profile: Option<EdidProfile>

The EDID profile the bay presents.

§mirror: BayMirrorStatus

Which bay this one mirrors, if any.

§audio_endpoint: Option<u8>

The audio endpoint this bay feeds, on a device that has them.

§amp_settings: Option<AmpZoneSettings>

Amplifier settings, on an amplifier zone.

§filtered: Vec<DeviceUid>

Devices whose signals this bay refuses.

§linked_bay: Option<BayUid>

The bay on another device this one is linked to, once that bay has been discovered.

A link is mesh configuration rather than a route: it names the bay elsewhere that belongs to this one, such as the amplifier zone carrying a OneIP output’s volume. BayInfo::volume is already read through it.

§v2ip_uid: DeviceUid

The unit a OneIP bay stands for, or the zero uid.

§content: Vec<BayContentField>

What the source on an input is showing, as its unit last reported.

A unit reports this whenever it changes, and keeps it while the source has no signal; check BayInfo::signal_detected before showing it.

Trait Implementations§

Source§

impl Clone for BayInfo

Source§

fn clone(&self) -> Self

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 BayInfo

Source§

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

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

impl PartialEq for BayInfo

Source§

fn eq(&self, other: &Self) -> 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 BayInfo

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

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

fn try_from(value: U) -> Result<T, !>

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.