Skip to main content

BayInfo

Struct BayInfo 

Source
#[non_exhaustive]
pub struct BayInfo {
Show 35 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 poe_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,
}
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.

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.

§poe_powered: Option<bool>

Whether the bay is delivering power over the link.

§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 source device a V2IP bay maps to, or the zero uid.

Trait Implementations§

Source§

impl Clone for BayInfo

Source§

fn clone(&self) -> BayInfo

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: &BayInfo) -> 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, <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.