From d0c7d0826f14b37ce06582eb3cb20915275caea5 Mon Sep 17 00:00:00 2001 From: Tomi Valkeinen Date: Fri, 6 Nov 2015 22:19:44 +0200 Subject: card: use object vectors --- libkms++/card.cpp | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'libkms++/card.cpp') diff --git a/libkms++/card.cpp b/libkms++/card.cpp index 038d494..06a237f 100644 --- a/libkms++/card.cpp +++ b/libkms++/card.cpp @@ -153,11 +153,7 @@ void Card::print_short() const Property* Card::get_prop(const string& name) const { - for (auto pair : m_obmap) { - auto prop = dynamic_cast(pair.second); - if (!prop) - continue; - + for (auto prop : m_properties) { if (name == prop->name()) return prop; } @@ -167,10 +163,8 @@ Property* Card::get_prop(const string& name) const Connector* Card::get_first_connected_connector() const { - for(auto pair : m_obmap) { - auto c = dynamic_cast(pair.second); - - if (c && c->connected()) + for(auto c : m_connectors) { + if (c->connected()) return c; } @@ -192,12 +186,7 @@ const vector Card::get_objects() const Crtc* Card::get_crtc_by_index(uint32_t idx) const { - for(auto pair : m_obmap) { - auto crtc = dynamic_cast(pair.second); - if (crtc && crtc->idx() == idx) - return crtc; - } - throw invalid_argument(string("Crtc #") + to_string(idx) + " not found"); + return m_crtcs[idx]; } Connector* Card::get_connector(uint32_t id) const { return dynamic_cast(get_object(id)); } -- cgit v1.2.3