#pragma once #include #include #include #include "decls.h" namespace kms { class Card { public: Card(); ~Card(); Card(const Card& other) = delete; Card& operator=(const Card& other) = delete; int fd() const { return m_fd; } Connector* get_first_connected_connector() const; DrmObject* get_object(uint32_t id) const; Crtc* get_crtc(uint32_t id) const; Crtc* get_crtc_by_index(uint32_t idx) const; Encoder* get_encoder(uint32_t id) const; Property* get_prop(uint32_t id) const; Property* get_prop(const char *name) const; bool master() const { return m_master; } bool has_atomic() const { return m_has_atomic; } void print_short() const; std::vector get_connectors() const; std::vector get_objects() const; std::vector get_planes() const; private: std::map m_obmap; int m_fd; bool m_master; bool m_has_atomic; }; }