]> Gitweb @ Texas Instruments - Open Source Git Repositories - git.TI.com/gitweb - android/external-libkmsxx.git/blobdiff - libkms++/card.h
card: use object vectors
[android/external-libkmsxx.git] / libkms++ / card.h
index a8db76f50697919edcf1785e697c72876b310311..7232467ce6592a14957d6047d7f725f06bfe9e29 100644 (file)
@@ -23,11 +23,13 @@ public:
        Connector* get_first_connected_connector() const;
 
        DrmObject* get_object(uint32_t id) const;
+       Connector* get_connector(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;
+       Plane* get_plane(uint32_t id) const;
        Property* get_prop(uint32_t id) const;
-       Property* get_prop(const char *name) const;
+       Property* get_prop(const std::string& name) const;
 
        bool master() const { return m_master; }
        bool has_atomic() const { return m_has_atomic; }
@@ -35,15 +37,29 @@ public:
 
        void print_short() const;
 
-       std::vector<Connector*> get_connectors() const;
-       std::vector<DrmObject*> get_objects() const;
-       std::vector<Plane*> get_planes() const;
+       const std::vector<Connector*> get_connectors() const { return m_connectors; }
+       const std::vector<Encoder*> get_encoders() const { return m_encoders; }
+       const std::vector<Crtc*> get_crtcs() const { return m_crtcs; }
+       const std::vector<Plane*> get_planes() const { return m_planes; }
+       const std::vector<Property*> get_properties() const { return m_properties; }
+
+       const std::vector<DrmObject*> get_objects() const;
 
        std::vector<Pipeline> get_connected_pipelines();
 
+       void call_page_flip_handlers();
+
 private:
+       void restore_modes();
+
        std::map<uint32_t, DrmObject*> m_obmap;
 
+       std::vector<Connector*> m_connectors;
+       std::vector<Encoder*> m_encoders;
+       std::vector<Crtc*> m_crtcs;
+       std::vector<Plane*> m_planes;
+       std::vector<Property*> m_properties;
+
        int m_fd;
        bool m_master;