From d30ec339a102acd479e4327f319416886c7a3473 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Wed, 25 May 2016 11:37:17 +0300 Subject: Split properties from DrmObject into DrmPropObject --- libkms++/drmobject.cpp | 49 ------------------------------------------------- 1 file changed, 49 deletions(-) (limited to 'libkms++/drmobject.cpp') diff --git a/libkms++/drmobject.cpp b/libkms++/drmobject.cpp index 76a7e8c..8abecc7 100644 --- a/libkms++/drmobject.cpp +++ b/libkms++/drmobject.cpp @@ -20,7 +20,6 @@ DrmObject::DrmObject(Card& card, uint32_t object_type) DrmObject::DrmObject(Card& card, uint32_t id, uint32_t object_type, uint32_t idx) :m_card(card), m_id(id), m_object_type(object_type), m_idx(idx) { - refresh_props(); } DrmObject::~DrmObject() @@ -28,54 +27,6 @@ DrmObject::~DrmObject() } -void DrmObject::refresh_props() -{ - auto props = drmModeObjectGetProperties(card().fd(), this->id(), this->object_type()); - - if (props == nullptr) - return; - - for (unsigned i = 0; i < props->count_props; ++i) { - uint32_t prop_id = props->props[i]; - uint64_t prop_value = props->prop_values[i]; - - m_prop_values[prop_id] = prop_value; - } - - drmModeFreeObjectProperties(props); -} - -uint64_t DrmObject::get_prop_value(uint32_t id) const -{ - return m_prop_values.at(id); -} - -uint64_t DrmObject::get_prop_value(const string& name) const -{ - for (auto pair : m_prop_values) { - auto prop = card().get_prop(pair.first); - if (name == prop->name()) - return m_prop_values.at(prop->id()); - } - - throw invalid_argument("property not found: " + name); -} - -int DrmObject::set_prop_value(uint32_t id, uint64_t value) -{ - return drmModeObjectSetProperty(card().fd(), this->id(), this->object_type(), id, value); -} - -int DrmObject::set_prop_value(const string &name, uint64_t value) -{ - Property* prop = card().get_prop(name); - - if (prop == nullptr) - throw invalid_argument("property not found: " + name); - - return set_prop_value(prop->id(), value); -} - void DrmObject::set_id(uint32_t id) { m_id = id; -- cgit v1.2.3