query/include/matador/sql/connection_impl.hpp

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