#ifndef QUERY_CONNECTION_IMPL_HPP #define QUERY_CONNECTION_IMPL_HPP #include "matador/sql/connection_info.hpp" namespace matador::sql { class connection_impl { public: virtual ~connection_impl() = default; virtual void open() = 0; virtual void close() = 0; virtual bool is_open() = 0; virtual void execute(const std::string &stmt) = 0; virtual void prepare(const std::string &stmt) = 0; protected: explicit connection_impl(connection_info info); [[nodiscard]] const connection_info &info() const; private: connection_info info_; }; } #endif //QUERY_CONNECTION_IMPL_HPP