X-Git-Url: https://git.ti.com/gitweb?p=android%2Fexternal-libkmsxx.git;a=blobdiff_plain;f=kms%2B%2B%2Fsrc%2Fdrmpropobject.cpp;h=f5a3c978b4dd28da9636b66b53d42642f0c94235;hp=f2edf8bbfe30a883b9bcf26b5621b15886d166e1;hb=a706f157b86e90696808025db01de99646d51a77;hpb=9916712a62169606d845510028a3ea6f84bd442f diff --git a/kms++/src/drmpropobject.cpp b/kms++/src/drmpropobject.cpp index f2edf8b..f5a3c97 100644 --- a/kms++/src/drmpropobject.cpp +++ b/kms++/src/drmpropobject.cpp @@ -45,6 +45,18 @@ void DrmPropObject::refresh_props() drmModeFreeObjectProperties(props); } +Property* DrmPropObject::get_prop(const string& name) const +{ + for (auto pair : m_prop_values) { + auto prop = card().get_prop(pair.first); + + if (name == prop->name()) + return prop; + } + + throw invalid_argument(string("property ") + name + " not found"); +} + uint64_t DrmPropObject::get_prop_value(uint32_t id) const { return m_prop_values.at(id); @@ -75,7 +87,7 @@ int DrmPropObject::set_prop_value(uint32_t id, uint64_t value) int DrmPropObject::set_prop_value(const string &name, uint64_t value) { - Property* prop = card().get_prop(name); + Property* prop = get_prop(name); if (prop == nullptr) throw invalid_argument("property not found: " + name);