diff options
Diffstat (limited to 'src/third_party/boost-1.69.0/boost/asio/ssl/detail/password_callback.hpp')
-rw-r--r-- | src/third_party/boost-1.69.0/boost/asio/ssl/detail/password_callback.hpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/src/third_party/boost-1.69.0/boost/asio/ssl/detail/password_callback.hpp b/src/third_party/boost-1.69.0/boost/asio/ssl/detail/password_callback.hpp new file mode 100644 index 00000000000..2a442f34d2f --- /dev/null +++ b/src/third_party/boost-1.69.0/boost/asio/ssl/detail/password_callback.hpp @@ -0,0 +1,68 @@ +// +// ssl/detail/password_callback.hpp +// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +// +// Copyright (c) 2003-2018 Christopher M. Kohlhoff (chris at kohlhoff 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_ASIO_SSL_DETAIL_PASSWORD_CALLBACK_HPP +#define BOOST_ASIO_SSL_DETAIL_PASSWORD_CALLBACK_HPP + +#if defined(_MSC_VER) && (_MSC_VER >= 1200) +# pragma once +#endif // defined(_MSC_VER) && (_MSC_VER >= 1200) + +#include <boost/asio/detail/config.hpp> + +#include <cstddef> +#include <string> +#include <boost/asio/ssl/context_base.hpp> + +#include <boost/asio/detail/push_options.hpp> + +namespace boost { +namespace asio { +namespace ssl { +namespace detail { + +class password_callback_base +{ +public: + virtual ~password_callback_base() + { + } + + virtual std::string call(std::size_t size, + context_base::password_purpose purpose) = 0; +}; + +template <typename PasswordCallback> +class password_callback : public password_callback_base +{ +public: + explicit password_callback(PasswordCallback callback) + : callback_(callback) + { + } + + virtual std::string call(std::size_t size, + context_base::password_purpose purpose) + { + return callback_(size, purpose); + } + +private: + PasswordCallback callback_; +}; + +} // namespace detail +} // namespace ssl +} // namespace asio +} // namespace boost + +#include <boost/asio/detail/pop_options.hpp> + +#endif // BOOST_ASIO_SSL_DETAIL_PASSWORD_CALLBACK_HPP |