---
title: DDDevice.Protocol
framework: DeviceDiscoveryExtension
role: symbol
role_heading: Enumeration
path: devicediscoveryextension/dddevice/protocol-swift.enum
---

# DDDevice.Protocol

An identifier for the manner in which an app interacts with a device.

## Declaration

```swift
enum `Protocol`
```

## Overview

Overview The device (DDDevice) protocol property is of this type.

## Topics

### Indicating a device protocol

- [DDDevice.Protocol.dial](devicediscoveryextension/dddevice/protocol-swift.enum/dial.md)
- [DDDevice.Protocol.invalid](devicediscoveryextension/dddevice/protocol-swift.enum/invalid.md)

### Initializers

- [init(rawValue:)](devicediscoveryextension/dddevice/protocol-swift.enum/init(rawvalue:).md)

## Relationships

### Conforms To

- [BitwiseCopyable](swift/bitwisecopyable.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [RawRepresentable](swift/rawrepresentable.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Device information

- [DDDevice](devicediscoveryextension/dddevice.md)
- [DDDevice.Category](devicediscoveryextension/dddevice/category-swift.enum.md)
- [DDDeviceState](devicediscoveryextension/dddevicestate.md)
- [DDDeviceCategoryToString(_:)](devicediscoveryextension/dddevicecategorytostring(_:).md)
- [DDDeviceStateToString(_:)](devicediscoveryextension/dddevicestatetostring(_:).md)
- [DDDeviceProtocolToString(_:)](devicediscoveryextension/dddeviceprotocoltostring(_:).md)
- [DDDeviceProtocolString](devicediscoveryextension/dddeviceprotocolstring.md)
- [DDDeviceMediaPlaybackStateToString(_:)](devicediscoveryextension/dddevicemediaplaybackstatetostring(_:).md)
