NAP
nap
system_modules
napwebsocket
src
websocketmessage.h
1
/* This Source Code Form is subject to the terms of the Mozilla Public
2
* License, v. 2.0. If a copy of the MPL was not distributed with this
3
* file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4
5
#pragma once
6
7
// Local Includes
8
#include "wspp.h"
9
#include "websocketutils.h"
10
11
// External Includes
12
#include <utility/dllexport.h>
13
14
namespace
nap
15
{
16
// Forward Declares
17
template
<
typename
T>
18
class
WebSocketServerEndPointSetup;
19
template
<
typename
T>
20
class
WebSocketClientEndPointSetup;
21
template
<
typename
T>
22
class
WebSocketClientWrapper;
23
29
class
NAPAPI
WebSocketMessage
final
30
{
31
template
<
typename
T>
32
friend
class
WebSocketServerEndPointSetup
;
33
template
<
typename
T>
34
friend
class
WebSocketClientEndPointSetup
;
35
template
<
typename
T>
36
friend
class
WebSocketClientWrapper
;
37
38
public
:
45
WebSocketMessage
(
const
std::string& message,
EWebSocketOPCode
code,
bool
fin =
true
);
46
53
WebSocketMessage
(std::string&& message,
EWebSocketOPCode
code,
bool
fin =
true
);
54
55
// no default constructor
56
WebSocketMessage
() =
delete
;
57
// Move constructor
58
WebSocketMessage
(
WebSocketMessage
&& other);
59
// Move assignment operator
60
WebSocketMessage
& operator=(
WebSocketMessage
&& other);
61
// Default copy constructor
62
WebSocketMessage
(
const
WebSocketMessage
& other) =
default
;
63
// Default copy assignment operator
64
WebSocketMessage
& operator=(
const
WebSocketMessage
& other) =
default
;
65
69
const
std::string& getPayload()
const
;
70
75
void
appendPayload(
const
std::string& payload);
76
80
EWebSocketOPCode
getCode()
const
;
81
88
bool
getFin()
const
;
89
90
private
:
96
WebSocketMessage
(
wspp::MessagePtr
message);
97
98
std::string mMessage;
99
EWebSocketOPCode
mCode;
100
bool
mFin =
true
;
101
};
102
}
nap::WebSocketClientEndPointSetup
Definition:
websocketclientendpoint.h:39
nap::WebSocketClientWrapper
Definition:
websocketclientendpoint.h:20
nap::WebSocketServerEndPointSetup
Definition:
websocketconnection.h:16
nap::WebSocketMessage
Definition:
websocketmessage.h:29
nap::wspp::MessagePtr
Config::message_type::ptr MessagePtr
internal message format
Definition:
wspp.h:19
nap
Definition:
templateapp.h:17
nap::EWebSocketOPCode
EWebSocketOPCode
Definition:
websocketutils.h:29
Generated by doxygen