type_ = DRM_PROPERTY_TYPE_INT;
else if (flags_ & DRM_MODE_PROP_ENUM)
type_ = DRM_PROPERTY_TYPE_ENUM;
+ else if (flags_ & DRM_MODE_PROP_OBJECT)
+ type_ = DRM_PROPERTY_TYPE_OBJECT;
+ else if (flags_ & DRM_MODE_PROP_BLOB)
+ type_ = DRM_PROPERTY_TYPE_BLOB;
}
uint32_t DrmProperty::id() const {
}
int DrmProperty::value(uint64_t *value) const {
+ if (type_ == DRM_PROPERTY_TYPE_BLOB) {
+ *value = value_;
+ return 0;
+ }
+
if (values_.size() == 0)
return -ENOENT;
*value = enums_[value_].value_;
return 0;
+ case DRM_PROPERTY_TYPE_OBJECT:
+ *value = value_;
+ return 0;
+
default:
return -EINVAL;
}