#ifndef XCB_RESOURCES_HH #define XCB_RESOURCES_HH #include "xcb_connection.hh" #include #include #include namespace xcb { class Resources { public: virtual ~Resources() = default; virtual std::optional get_string(std::string const& name, std::string const& clazz) = 0; virtual std::optional get_long(std::string const& name, std::string const& clazz) = 0; virtual std::optional get_bool(std::string const& name, std::string const& clazz) = 0; static std::unique_ptr create(shared_conn conn); protected: Resources() = default; Resources(Resources const&) = delete; Resources& operator=(Resources const&) = delete; }; } // namespace xcb #endif // XCB_RESOURCES_HH