gnss-sim/3rdparty/boost/mysql/detail/engine.hpp

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