pub enum PeerHandlerRequest {
    WatchNetworkInformation {
        responder: PeerHandlerWatchNetworkInformationResponder,
    },
    WatchNextCall {
        responder: PeerHandlerWatchNextCallResponder,
    },
    RequestOutgoingCall {
        action: CallAction,
        responder: PeerHandlerRequestOutgoingCallResponder,
    },
    QueryOperator {
        responder: PeerHandlerQueryOperatorResponder,
    },
    SubscriberNumberInformation {
        responder: PeerHandlerSubscriberNumberInformationResponder,
    },
    SetNrecMode {
        enabled: bool,
        responder: PeerHandlerSetNrecModeResponder,
    },
    ReportHeadsetBatteryLevel {
        level: u8,
        control_handle: PeerHandlerControlHandle,
    },
    GainControl {
        control: ClientEnd<HeadsetGainMarker>,
        control_handle: PeerHandlerControlHandle,
    },
}
Expand description

The call manager or the hands-free server component will serve a call handler protocol for each connected headset that it chooses to manage calls through.

If the peer handler is closed by either channel endpoint, all protocols associated with this peer handler are closed. This includes any Call, and HeadsetGain protocols. Channels closed by a server end will include an epitaph ZX_ERR_HANDLE_CLOSED in this situation.

Variants§

§

WatchNetworkInformation

Hanging get to provide the Hfp service with an update on the NetworkInformation. Any fields in update that are not present will be treated as unmodified by the update.

The call manager or audio gateway peer should provide a fully populated update when it is called for the first time.

The most up-to-date NetworkInformation is used during the connection initialization process of the peer, and updates are propagated to the peer if it supports AG Indicators.

§

WatchNextCall

Hanging get which returns when a new call is initiated by the call manager or audio gateway peer, or an ongoing call is transferred to the headset. RequestOutgoingCall can be called before or after WatchNextCall.

§

RequestOutgoingCall

Used to request an outgoing call be initiated by the call manager or audio gateway peer. RequestOutgoingCall shall complete after the outgoing call has been initiated and the corresponding Call protocol has been returned via a WatchNextCall result.

An error is returned if the call could not be placed as requested.

  • ZX_ERR_NOT_SUPPORTED can be used if the system does not support the requested action.

  • ZX_ERR_ALREADY_EXISTS can be used if there is alreadya call in progress and the system does not support additional calls.

§

QueryOperator

Request the name of the network operator for the call manager or audio gateway peer. A null value is returned if there is no operator name available.

§

SubscriberNumberInformation

Request subscriber numbers from the call manager or audio gateway peer. There can be zero or more numbers returned. Sending more than 128 numbers is not supported at this time.

§

SetNrecMode

Request by the HF to enable or disable the Noise Reduction/Echo Cancellation functionality on the AG based on the enabled boolean. A ZX_ERR_NOT_SUPPORTED error is returned if Noice Reduction/Echo Cancellation is not supported by the device.

Fields

§enabled: bool
§

ReportHeadsetBatteryLevel

Headset battery level from 0 ~ 100 See https://www.bluetooth.com/specifications/assigned-numbers/hands-free-profile/

Fields

§level: u8
§

GainControl

Tear off protocol for Headset Gain.

Only one HeadsetGain protocol can be active for a PeerHandler protocol at any given time. Older HeadsetGain protocols are given preference. If a HeadsetGain protocol is active when a new GainControl request is made, the new HeadsetGain protocol will be closed immediately.

Fields

§control: ClientEnd<HeadsetGainMarker>

Implementations§

Trait Implementations§

source§

impl Debug for PeerHandlerRequest

source§

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

Formats the value using the given formatter. Read more

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
§

impl<T> Encode<Ambiguous1> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
§

impl<T> Encode<Ambiguous2> for T

§

unsafe fn encode( self, _encoder: &mut Encoder<'_>, _offset: usize, _depth: Depth ) -> Result<(), Error>

Encodes the object into the encoder’s buffers. Any handles stored in the object are swapped for Handle::INVALID. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

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>,

§

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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more