Table of Contents

Namespace AppleTvControlLibrary.Mrp.Protocol

Classes

MrpExtensions

A shared Google.Protobuf.ExtensionRegistry covering every ProtocolMessage extension field generated from the vendored pyatv .proto files, so a ProtocolMessage can be parsed from the wire without silently dropping its typed payload.

MrpInfoSettings

Settings needed to build the initial DEVICE_INFORMATION message. A minimal analogue of pyatv's InfoSettings (pydantic model), exposing only the fields MrpProtocol itself needs.

MrpProtocol

Protocol logic related to MRP: connects, performs the initial DEVICE_INFORMATION exchange, enables encryption via pair-verify, sends the post-encryption bootstrap messages, and provides request/response correlation plus unsolicited-message dispatch on top of the underlying IMrpFrameConnection.

MrpProtocolException

Raised when a Companion-style protocol exchange fails. Reused across MRP for parity with the Companion library's exception surface.

Interfaces

IMrpProtocolListener

Listener interface for unsolicited MRP messages, i.e. any message that does not correlate to an outstanding SendAndReceiveAsync(ProtocolMessage, bool, CancellationToken) call.

Enums

MrpPowerState

Device power state, mirroring pyatv's PowerState constant.

MrpProtocolState

Internal protocol state, mirroring pyatv's ProtocolState.