query/include/matador/sql/connection_impl.hpp

31 lines
611 B
C++

#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(const connection_info &info);
[[nodiscard]] const connection_info &info() const;
private:
const connection_info & info_;
};
}
#endif //QUERY_CONNECTION_IMPL_HPP