38 lines
1.0 KiB
C++
38 lines
1.0 KiB
C++
//
|
|
// Copyright (c) 2019-2024 Ruben Perez Hidalgo (rubenperez038 at gmail dot com)
|
|
//
|
|
// Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
//
|
|
|
|
#ifndef BOOST_MYSQL_DETAIL_ENGINE_HPP
|
|
#define BOOST_MYSQL_DETAIL_ENGINE_HPP
|
|
|
|
#include <boost/mysql/detail/any_resumable_ref.hpp>
|
|
|
|
#include <boost/asio/any_completion_handler.hpp>
|
|
#include <boost/asio/any_io_executor.hpp>
|
|
|
|
namespace boost {
|
|
namespace mysql {
|
|
namespace detail {
|
|
|
|
class engine
|
|
{
|
|
public:
|
|
using executor_type = asio::any_io_executor;
|
|
|
|
virtual ~engine() {}
|
|
virtual executor_type get_executor() = 0;
|
|
virtual bool supports_ssl() const = 0;
|
|
virtual void set_endpoint(const void* endpoint) = 0;
|
|
virtual void run(any_resumable_ref resumable, error_code& err) = 0;
|
|
virtual void async_run(any_resumable_ref resumable, asio::any_completion_handler<void(error_code)>) = 0;
|
|
};
|
|
|
|
} // namespace detail
|
|
} // namespace mysql
|
|
} // namespace boost
|
|
|
|
#endif
|