From 66429ef50279f0085d5637ceca7dae57bca5e981 Mon Sep 17 00:00:00 2001 From: Jyri Sarha Date: Tue, 20 Oct 2015 16:47:46 +0300 Subject: libkms++/encoder: Add methods for getting details of the DRM object --- libkms++/encoder.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'libkms++/encoder.cpp') diff --git a/libkms++/encoder.cpp b/libkms++/encoder.cpp index 81eba71..6f79e4f 100644 --- a/libkms++/encoder.cpp +++ b/libkms++/encoder.cpp @@ -18,6 +18,18 @@ struct EncoderPriv drmModeEncoderPtr drm_encoder; }; +static const map encoder_types = { +#define DEF_ENC(c) { DRM_MODE_ENCODER_##c, #c } + DEF_ENC(NONE), + DEF_ENC(DAC), + DEF_ENC(TMDS), + DEF_ENC(LVDS), + DEF_ENC(TVDAC), + DEF_ENC(VIRTUAL), + DEF_ENC(DSI), +#undef DEF_ENC +}; + Encoder::Encoder(Card &card, uint32_t id) :DrmObject(card, id, DRM_MODE_OBJECT_ENCODER) { @@ -63,4 +75,10 @@ vector Encoder::get_possible_crtcs() const return crtcs; } + +const string& Encoder::get_encoder_type() const +{ + return encoder_types.at(m_priv->drm_encoder->encoder_type); +} + } -- cgit v1.2.3