-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMessageType.m4
More file actions
75 lines (71 loc) · 1.41 KB
/
MessageType.m4
File metadata and controls
75 lines (71 loc) · 1.41 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
dnl WHEN FILE IS CHANGED, RUN:
dnl make js-new flutter
changequote(<, >)
define(<ENUM_NAMES>, <
DATA_META,
DATA_META_GAME,
DATA_META_TIME,
DATA_META_OBS,
DATA_META_WIDGETS,
DATA_GAMES,
DATA_GAME,
DATA_GAMEACTIONS,dnl Additional: u8 = gameindex
DATA_GAMEACTION,dnl Additional: u8 = gameindex
DATA_FORMATS,
DATA_FORMAT,
DATA_TEAMS,
DATA_TEAM,
DATA_GROUPS,
DATA_GROUP,
DATA_IM_BOSS,dnl Additional: bool = this client is boss
DATA_TIMESTAMP,
DATA_JSON,
IM_THE_BOSS,
PLS_SEND_META,
PLS_SEND_META_GAME,
PLS_SEND_META_TIME,
PLS_SEND_META_OBS,
PLS_SEND_META_WIDGETS,
PLS_SEND_GAMES,
PLS_SEND_GAME,
PLS_SEND_GAMEACTIONS,
PLS_SEND_GAMEACTION,
PLS_SEND_FORMATS,
PLS_SEND_FORMAT,
PLS_SEND_TEAMS,
PLS_SEND_TEAM,
PLS_SEND_GROUPS,
PLS_SEND_GROUP,
PLS_SEND_IM_BOSS,
PLS_SEND_TIMESTAMP,
PLS_SEND_JSON
>)
dnl
dnl Recursive print macro
define(i, <0>)
ifdef(<TS>, <
define(<next_enum>, <ifelse(<$1>, <>, <>, <$1 = i, define(<i>, incr(i))next_enum(shift($@))>)>)
>)
ifdef(<ZIG>, <
define(<next_enum>, <ifelse(<$1>, <>, <>, <$1 = i, define(<i>, incr(i))next_enum(shift($@))>)>)
>)
ifdef(<DART>, <
define(<next_enum>, <ifelse(<$1>, <>, <>, <$1(i), define(<i>, incr(i))next_enum(shift($@))>)>)
>)
ifdef(<TS>, <
export enum MessageType {
next_enum(ENUM_NAMES)
};
>)
ifdef(<ZIG>, <
pub const MessageType = enum(u8) {
next_enum(ENUM_NAMES)
};
>)
ifdef(<DART>, <
enum MessageType {
next_enum(ENUM_NAMES);
final int value;
const MessageType(this.value);
}
>)