PageRenderTime 16ms CodeModel.GetById 12ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/boost/asio/ssl/detail/verify_callback.hpp

http://hadesmem.googlecode.com/
C++ Header | 70 lines | 45 code | 16 blank | 9 comment | 1 complexity | 2a0d07ae52dc0f1333697079b1d430e3 MD5 | raw file
 1//
 2// ssl/detail/verify_callback.hpp
 3// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 4//
 5// Copyright (c) 2003-2011 Christopher M. Kohlhoff (chris at kohlhoff dot com)
 6//
 7// Distributed under the Boost Software License, Version 1.0. (See accompanying
 8// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 9//
10
11#ifndef BOOST_ASIO_SSL_DETAIL_VERIFY_CALLBACK_HPP
12#define BOOST_ASIO_SSL_DETAIL_VERIFY_CALLBACK_HPP
13
14#if defined(_MSC_VER) && (_MSC_VER >= 1200)
15# pragma once
16#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)
17
18#include <boost/asio/detail/config.hpp>
19
20#if !defined(BOOST_ASIO_ENABLE_OLD_SSL)
21# include <boost/asio/ssl/verify_context.hpp>
22#endif // !defined(BOOST_ASIO_ENABLE_OLD_SSL)
23
24#include <boost/asio/detail/push_options.hpp>
25
26namespace boost {
27namespace asio {
28namespace ssl {
29namespace detail {
30
31#if !defined(BOOST_ASIO_ENABLE_OLD_SSL)
32
33class verify_callback_base
34{
35public:
36  virtual ~verify_callback_base()
37  {
38  }
39
40  virtual bool call(bool preverified, verify_context& ctx) = 0;
41};
42
43template <typename VerifyCallback>
44class verify_callback : public verify_callback_base
45{
46public:
47  explicit verify_callback(VerifyCallback callback)
48    : callback_(callback)
49  {
50  }
51
52  virtual bool call(bool preverified, verify_context& ctx)
53  {
54    return callback_(preverified, ctx);
55  }
56
57private:
58  VerifyCallback callback_;
59};
60
61#endif // !defined(BOOST_ASIO_ENABLE_OLD_SSL)
62
63} // namespace detail
64} // namespace ssl
65} // namespace asio
66} // namespace boost
67
68#include <boost/asio/detail/pop_options.hpp>
69
70#endif // BOOST_ASIO_SSL_DETAIL_VERIFY_CALLBACK_HPP