19#include <xf86drmMode.h>
32 const QByteArray &
name()
const;
39 uint64_t
value()
const;
68template<
typename Enum>
84 const uint64_t integerValue =
static_cast<uint64_t
>(
value);
86 for (uint64_t mask = 1; integerValue >= mask && mask != 0; mask <<= 1) {
101 for (uint64_t mask = 1;
value >= mask && mask != 0; mask <<= 1) {
106 return static_cast<Enum
>(ret);
114 const uint64_t integer =
static_cast<uint64_t
>(
enumValue);
117 for (uint64_t mask = 1; integer >= mask && mask != 0; mask <<= 1) {
118 if (integer & mask) {
Enum enumForValue(uint64_t value) const
bool setEnumLegacy(Enum value)
bool hasEnum(Enum value) const
uint64_t valueForEnum(Enum enumValue) const
DrmEnumProperty(DrmObject *obj, const QByteArray &name, const QList< QByteArray > &enumNames)
uint64_t minValue() const
bool setPropertyLegacy(uint64_t value)
uint64_t maxValue() const
void update(DrmPropertyList &propertyList)
const QByteArray & name() const
QMap< uint64_t, uint64_t > m_enumToPropertyMap
DrmProperty(DrmObject *obj, const QByteArray &name, const QList< QByteArray > &enumNames={})
DrmObject * drmObject() const
const QList< QByteArray > m_enumNames
drmModePropertyBlobRes * immutableBlob() const
QMap< uint64_t, uint64_t > m_propertyToEnumMap
DrmUniquePtr< drmModePropertyBlobRes > m_immutableBlob
const QByteArray m_propName
std::unique_ptr< T, DrmDeleter< T > > DrmUniquePtr