WebSocket++
0.8.2
C++ websocket client/server library
websocketpp
transport
stub
base.hpp
1
/*
2
* Copyright (c) 2014, Peter Thorson. All rights reserved.
3
*
4
* Redistribution and use in source and binary forms, with or without
5
* modification, are permitted provided that the following conditions are met:
6
* * Redistributions of source code must retain the above copyright
7
* notice, this list of conditions and the following disclaimer.
8
* * Redistributions in binary form must reproduce the above copyright
9
* notice, this list of conditions and the following disclaimer in the
10
* documentation and/or other materials provided with the distribution.
11
* * Neither the name of the WebSocket++ Project nor the
12
* names of its contributors may be used to endorse or promote products
13
* derived from this software without specific prior written permission.
14
*
15
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
16
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18
* ARE DISCLAIMED. IN NO EVENT SHALL PETER THORSON BE LIABLE FOR ANY
19
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
20
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
21
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
22
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
24
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25
*
26
*/
27
28
#ifndef WEBSOCKETPP_TRANSPORT_STUB_BASE_HPP
29
#define WEBSOCKETPP_TRANSPORT_STUB_BASE_HPP
30
31
#include <websocketpp/common/system_error.hpp>
32
#include <websocketpp/common/cpp11.hpp>
33
34
#include <string>
35
36
namespace
websocketpp
{
37
namespace
transport {
39
namespace
stub {
40
42
namespace
error {
43
enum
value
{
46
general
= 1,
47
49
not_implemented
50
};
51
53
class
category
:
public
lib::error_category {
54
public
:
55
category
() {}
56
57
char
const
* name()
const
_WEBSOCKETPP_NOEXCEPT_TOKEN_ {
58
return
"websocketpp.transport.stub"
;
59
}
60
61
std::string message(
int
value
)
const
{
62
switch
(
value
) {
63
case
general
:
64
return
"Generic stub transport policy error"
;
65
case
not_implemented
:
66
return
"feature not implemented"
;
67
default
:
68
return
"Unknown"
;
69
}
70
}
71
};
72
74
inline
lib::error_category
const
&
get_category
() {
75
static
category
instance;
76
return
instance;
77
}
78
80
inline
lib::error_code
make_error_code
(
error::value
e) {
81
return
lib::error_code(
static_cast<
int
>
(e),
get_category
());
82
}
83
84
}
// namespace error
85
}
// namespace stub
86
}
// namespace transport
87
}
// namespace websocketpp
88
_WEBSOCKETPP_ERROR_CODE_ENUM_NS_START_
89
template
<>
struct
is_error_code_enum<
websocketpp
::
transport::stub::error::value
>
90
{
91
static
bool
const
value
=
true
;
92
};
93
_WEBSOCKETPP_ERROR_CODE_ENUM_NS_END_
94
95
#endif // WEBSOCKETPP_TRANSPORT_STUB_BASE_HPP
websocketpp::transport::stub::error::value
value
Definition:
base.hpp:43
websocketpp::transport::stub::error::make_error_code
lib::error_code make_error_code(error::value e)
Get an error code with the given value and the stub transport category.
Definition:
base.hpp:80
websocketpp::transport::stub::error::category
stub transport error category
Definition:
base.hpp:53
websocketpp::close::status::value
uint16_t value
The type of a close code value.
Definition:
close.hpp:49
websocketpp::transport::stub::error::not_implemented
@ not_implemented
not implemented
Definition:
base.hpp:49
websocketpp::transport::stub::error::general
@ general
Definition:
base.hpp:46
websocketpp
Namespace for the WebSocket++ project.
Definition:
base64.hpp:41
websocketpp::transport::stub::error::get_category
lib::error_category const & get_category()
Get a reference to a static copy of the stub transport error category.
Definition:
base.hpp:74
Generated by
1.8.20