WebCFace
2.9.0
Web-based Communication Framework & Dashboard-like UI
Loading...
Searching...
No Matches
base.h
Go to the documentation of this file.
1
#pragma once
2
#ifdef WEBCFACE_MESON
3
#include "
webcface-config.h
"
4
#else
5
#include "webcface/common/webcface-config.h"
6
#endif
7
#include "
./fmt.h
"
8
#include "
webcface/common/val_adaptor.h
"
9
10
#ifndef MSGPACK_DEFINE_MAP
11
#define MSGPACK_DEFINE_MAP(...)
12
#endif
13
14
WEBCFACE_NS_BEGIN
15
namespace
message {
16
// 新しいメッセージの定義は
17
// kind追記→struct作成→message.ccに追記→s_client_data.ccに追記→client.ccに追記
18
19
namespace
MessageKind {
20
enum
MessageKindEnum
{
21
unknown
= -1,
22
value
= 0,
23
text
= 1,
24
binary
= 2,
25
view_old
= 3,
26
canvas2d_old
= 4,
27
image
= 5,
28
robot_model
= 6,
29
canvas3d_old
= 7,
30
log
= 8,
31
view
= 9,
32
canvas2d
= 10,
33
canvas3d
= 11,
34
entry
= 20,
35
req
= 40,
36
res
= 60,
37
sync_init
= 80,
38
call
= 81,
39
call_response
= 82,
40
call_result
= 83,
41
func_info
= 84,
42
log_default
= 85,
43
log_req_default
= 86,
44
sync
= 87,
45
sync_init_end
= 88,
46
// svr_version = 88,
47
ping
= 89,
48
ping_status
= 90,
49
ping_status_req
= 91,
50
log_entry_default
= 92,
51
closed
= 93,
52
};
53
}
54
59
template
<
int
k>
60
struct
MessageBase
{
61
static
constexpr
int
kind = k;
62
};
63
64
template
<
typename
T>
65
struct
Res
{};
66
73
template
<
typename
T>
74
struct
Entry
:
public
MessageBase
<T::kind + MessageKind::entry> {
75
unsigned
int
member_id = 0;
76
SharedString
field
;
77
MSGPACK_DEFINE_MAP
(MSGPACK_NVP(
"m"
, member_id), MSGPACK_NVP(
"f"
, field))
78
};
85
template
<
typename
T>
86
struct
Req
:
public
MessageBase
<T::kind + MessageKind::req> {
87
SharedString
member
;
88
SharedString
field
;
89
unsigned
int
req_id = 0;
90
MSGPACK_DEFINE_MAP
(MSGPACK_NVP(
"i"
, req_id), MSGPACK_NVP(
"M"
, member),
91
MSGPACK_NVP(
"f"
, field))
92
};
93
struct
Image
;
94
template
<>
95
struct
Req
<
Image
>;
96
97
}
// namespace message
98
WEBCFACE_NS_END
MSGPACK_DEFINE_MAP
#define MSGPACK_DEFINE_MAP(...)
Definition
base.h:11
webcface::SharedString
u8stringとstringとwstringをshared_ptrで持ち共有する
Definition
encoding.h:67
val_adaptor.h
fmt.h
webcface::message::MessageKind::MessageKindEnum
MessageKindEnum
Definition
base.h:20
webcface::message::MessageKind::log_req_default
@ log_req_default
Definition
base.h:43
webcface::message::MessageKind::ping_status
@ ping_status
Definition
base.h:48
webcface::message::MessageKind::ping_status_req
@ ping_status_req
Definition
base.h:49
webcface::message::MessageKind::text
@ text
Definition
base.h:23
webcface::message::MessageKind::sync_init_end
@ sync_init_end
Definition
base.h:45
webcface::message::MessageKind::req
@ req
Definition
base.h:35
webcface::message::MessageKind::robot_model
@ robot_model
Definition
base.h:28
webcface::message::MessageKind::func_info
@ func_info
Definition
base.h:41
webcface::message::MessageKind::sync_init
@ sync_init
Definition
base.h:37
webcface::message::MessageKind::canvas2d
@ canvas2d
Definition
base.h:32
webcface::message::MessageKind::closed
@ closed
Definition
base.h:51
webcface::message::MessageKind::binary
@ binary
Definition
base.h:24
webcface::message::MessageKind::unknown
@ unknown
Definition
base.h:21
webcface::message::MessageKind::res
@ res
Definition
base.h:36
webcface::message::MessageKind::image
@ image
Definition
base.h:27
webcface::message::MessageKind::value
@ value
Definition
base.h:22
webcface::message::MessageKind::call
@ call
Definition
base.h:38
webcface::message::MessageKind::sync
@ sync
Definition
base.h:44
webcface::message::MessageKind::call_result
@ call_result
Definition
base.h:40
webcface::message::MessageKind::canvas3d_old
@ canvas3d_old
Definition
base.h:29
webcface::message::MessageKind::log
@ log
Definition
base.h:30
webcface::message::MessageKind::ping
@ ping
Definition
base.h:47
webcface::message::MessageKind::log_entry_default
@ log_entry_default
Definition
base.h:50
webcface::message::MessageKind::view
@ view
Definition
base.h:31
webcface::message::MessageKind::canvas2d_old
@ canvas2d_old
Definition
base.h:26
webcface::message::MessageKind::call_response
@ call_response
Definition
base.h:39
webcface::message::MessageKind::log_default
@ log_default
Definition
base.h:42
webcface::message::MessageKind::view_old
@ view_old
Definition
base.h:25
webcface::message::MessageKind::entry
@ entry
Definition
base.h:34
webcface::message::MessageKind::canvas3d
@ canvas3d
Definition
base.h:33
webcface::message::Entry
server->client 新しいvalueなどの報告
Definition
base.h:74
webcface::message::Entry::field
SharedString field
Definition
base.h:76
webcface::message::Image
Definition
image.h:59
webcface::message::MessageBase
型からkindを取得するためだけのベースクラス
Definition
base.h:60
webcface::message::Req
client->server 以降Recvを送るようリクエスト
Definition
base.h:86
webcface::message::Req::field
SharedString field
Definition
base.h:88
webcface::message::Req::member
SharedString member
Definition
base.h:87
webcface::message::Res
Definition
base.h:65
webcface-config.h
WEBCFACE_NS_END
#define WEBCFACE_NS_END
Definition
webcface-config.h:118
WEBCFACE_NS_BEGIN
#define WEBCFACE_NS_BEGIN
Definition
webcface-config.h:117
common
include
webcface
common
internal
message
base.h
Generated on Sun Feb 9 2025 08:20:27 for WebCFace by
1.9.7