Flags indicating the features that are supported by a given CI device. More...
#include <juce_CIDeviceFeatures.h>

Public Member Functions | |
| DeviceFeatures ()=default | |
| Constructs a DeviceFeatures object with no flags enabled. | |
| DeviceFeatures (std::byte f) | |
| Constructs a DeviceFeatures object, taking flag values from the "Capability Inquiry
Category Supported" byte in a CI Discovery message. | |
| std::byte | getSupportedCapabilities () const |
| Returns the feature flags formatted into a bitfield suitable for use as the "Capability
Inquiry Category Supported" byte in a CI Discovery message. | |
| bool | isProcessInquirySupported () const |
| bool | isProfileConfigurationSupported () const |
| bool | isPropertyExchangeSupported () const |
| bool | operator!= (const DeviceFeatures &other) const |
| Returns true if any flags in this and other differ. | |
| bool | operator== (const DeviceFeatures &other) const |
| Returns true if this and other both have the same flags set. | |
| DeviceFeatures | withProcessInquirySupported (bool x=true) const |
| Returns a new DeviceFeatures instance with process inquiry marked as supported. | |
| DeviceFeatures | withProfileConfigurationSupported (bool x=true) const |
| Returns a new DeviceFeatures instance with profile configuration marked as supported. | |
| DeviceFeatures | withPropertyExchangeSupported (bool x=true) const |
| Returns a new DeviceFeatures instance with property exchange marked as supported. | |
Private Types | |
| enum | Flags { profileConfiguration = 1 << 2 , propertyExchange = 1 << 3 , processInquiry = 1 << 4 } |
Private Member Functions | |
| bool | getFlag (Flags f) const |
| DeviceFeatures | withFlag (Flags f, bool value) const |
Private Attributes | |
| uint8_t | flags = 0 |
Flags indicating the features that are supported by a given CI device.
@tags{Audio}
|
private |
|
default |
Constructs a DeviceFeatures object with no flags enabled.
|
inlineexplicit |
Constructs a DeviceFeatures object, taking flag values from the "Capability Inquiry Category Supported" byte in a CI Discovery message.
References flags.
Referenced by isProcessInquirySupported(), isProfileConfigurationSupported(), and isPropertyExchangeSupported().
|
inline |
Returns the feature flags formatted into a bitfield suitable for use as the "Capability Inquiry Category Supported" byte in a CI Discovery message.
References flags.
|
inline |
References getFlag(), and processInquiry.
|
inline |
References getFlag(), and profileConfiguration.
|
inline |
References getFlag(), and propertyExchange.
|
inline |
Returns true if any flags in this and other differ.
References operator==().
|
inline |
Returns true if this and other both have the same flags set.
References flags.
Referenced by operator!=().
|
inlineprivate |
References flags, and juce::withMember().
Referenced by withProcessInquirySupported(), withProfileConfigurationSupported(), and withPropertyExchangeSupported().
|
inline |
Returns a new DeviceFeatures instance with process inquiry marked as supported.
References processInquiry, and withFlag().
|
inline |
Returns a new DeviceFeatures instance with profile configuration marked as supported.
References profileConfiguration, and withFlag().
|
inline |
Returns a new DeviceFeatures instance with property exchange marked as supported.
References propertyExchange, and withFlag().
|
private |
Referenced by getFlag(), getSupportedCapabilities(), operator==(), and withFlag().