23 , m_enumNames(enumNames)
42 const auto &[prop,
value] = *opt;
45 m_immutable = prop->flags & DRM_MODE_PROP_IMMUTABLE;
46 m_isBlob = prop->flags & DRM_MODE_PROP_BLOB;
48 if (prop->flags & DRM_MODE_PROP_RANGE) {
49 Q_ASSERT(prop->count_values > 1);
56 if (prop->flags & (DRM_MODE_PROP_ENUM | DRM_MODE_PROP_BITMASK)) {
57 for (
int i = 0; i < prop->count_enums; i++) {
58 struct drm_mode_property_enum *en = &prop->enums[i];
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::optional< std::pair< DrmUniquePtr< drmModePropertyRes >, uint64_t > > takeProperty(const QByteArray &name)
drmModePropertyBlobPtr drmModeGetPropertyBlob(int fd, uint32_t blob_id)
int drmModeObjectSetProperty(int fd, uint32_t object_id, uint32_t object_type, uint32_t property_id, uint64_t value)