Table of Contents

Namespace AppleTvControlLibrary.Protocol

Classes

CompanionApi

High level implementation of the Companion API: system info, session lifecycle, HID input, media control (volume), attention state, app listing/launching, and account listing/switching.

CompanionProtocol

Protocol logic related to Companion: frame dispatch, XID/frame-type based response correlation, and OPACK-level send/receive plumbing built on top of CompanionConnection.

ConnectionClosedEventArgs

Event data for ConnectionFaulted and ConnectionClosed.

ProtocolException

Raised when a Companion protocol exchange fails.

Structs

FrameIdentifier

Identifies a pending exchange either by XID (regular OPACK messages) or by the FrameType that is expected in response (auth messages, which never have an XID since parallel authentication attempts are impossible).

Interfaces

ICompanionProtocolListener

Listener interface for a Companion protocol instance.

Enums

HidCommand

HID command constants.

InputAction

Type of input when pressing a button.

KeyboardFocusState

All supported keyboard (RTI text input) focus states.

MediaControlCapabilities

Bitmask flags advertised by the _iMC event (_mcF field), indicating which media controls the currently active app on the device supports. Notably, Volume being clear means the device has no Companion-addressable volume/mute control at all (audio is managed over HDMI-CEC instead), so callers must check this before using GetVolume/SetVolume.

MediaControlCommand

Media Control command constants, used for playback and volume control (as opposed to the remote-button surface exposed by HidCommand).

MessageType

Type of an OPACK message exchanged over a Companion connection.

SystemStatus

Current system state, as returned by FetchAttentionState().

TouchAction

Touch action constants.