drm_hwcomposer: Add DrmConnector::name function
Connectors usually are referred by names, but libdrm stores type and
id only as a numbers so for more convenience conversion function from
integerst to string should be added.
Signed-off-by: Roman Kovalivskyi <roman.kovalivskyi@globallogic.com>
diff --git a/drm/drmconnector.cpp b/drm/drmconnector.cpp
index 543827d..bca7575 100644
--- a/drm/drmconnector.cpp
+++ b/drm/drmconnector.cpp
@@ -22,6 +22,9 @@
#include <errno.h>
#include <stdint.h>
+#include <array>
+#include <sstream>
+
#include <log/log.h>
#include <xf86drmMode.h>
@@ -35,6 +38,7 @@
encoder_(current_encoder),
display_(-1),
type_(c->connector_type),
+ type_id_(c->connector_type_id),
state_(c->connection),
mm_width_(c->mmWidth),
mm_height_(c->mmHeight),
@@ -112,6 +116,18 @@
return internal() || external() || writeback();
}
+std::string DrmConnector::name() const {
+ constexpr std::array names = {"None", "VGA", "DVI-I", "DVI-D",
+ "DVI-A", "Composite", "SVIDEO", "LVDS",
+ "Component", "DIN", "DP", "HDMI-A",
+ "HDMI-B", "TV", "eDP", "Virtual",
+ "DSI"};
+
+ std::ostringstream name_buf;
+ name_buf << names[type_] << "-" << type_id_;
+ return name_buf.str();
+}
+
int DrmConnector::UpdateModes() {
int fd = drm_->fd();