aldrin_core/message/
kind.rs1use num_enum::{IntoPrimitive, TryFromPrimitive};
2
3#[derive(Debug, Copy, Clone, PartialEq, Eq, IntoPrimitive, TryFromPrimitive)]
4#[repr(u8)]
5pub enum MessageKind {
6 Connect = 0,
7 ConnectReply = 1,
8 Shutdown = 2,
9 CreateObject = 3,
10 CreateObjectReply = 4,
11 DestroyObject = 5,
12 DestroyObjectReply = 6,
13 CreateService = 7,
14 CreateServiceReply = 8,
15 DestroyService = 9,
16 DestroyServiceReply = 10,
17 CallFunction = 11,
18 CallFunctionReply = 12,
19 SubscribeEvent = 13,
20 SubscribeEventReply = 14,
21 UnsubscribeEvent = 15,
22 EmitEvent = 16,
23 QueryServiceVersion = 17,
24 QueryServiceVersionReply = 18,
25 CreateChannel = 19,
26 CreateChannelReply = 20,
27 CloseChannelEnd = 21,
28 CloseChannelEndReply = 22,
29 ChannelEndClosed = 23,
30 ClaimChannelEnd = 24,
31 ClaimChannelEndReply = 25,
32 ChannelEndClaimed = 26,
33 SendItem = 27,
34 ItemReceived = 28,
35 AddChannelCapacity = 29,
36 Sync = 30,
37 SyncReply = 31,
38 ServiceDestroyed = 32,
39 CreateBusListener = 33,
40 CreateBusListenerReply = 34,
41 DestroyBusListener = 35,
42 DestroyBusListenerReply = 36,
43 AddBusListenerFilter = 37,
44 RemoveBusListenerFilter = 38,
45 ClearBusListenerFilters = 39,
46 StartBusListener = 40,
47 StartBusListenerReply = 41,
48 StopBusListener = 42,
49 StopBusListenerReply = 43,
50 EmitBusEvent = 44,
51 BusListenerCurrentFinished = 45,
52 Connect2 = 46,
53 ConnectReply2 = 47,
54 AbortFunctionCall = 48,
55 RegisterIntrospection = 49,
56 QueryIntrospection = 50,
57 QueryIntrospectionReply = 51,
58 CreateService2 = 52,
59 QueryServiceInfo = 53,
60 QueryServiceInfoReply = 54,
61 SubscribeService = 55,
62 SubscribeServiceReply = 56,
63 UnsubscribeService = 57,
64 SubscribeAllEvents = 58,
65 SubscribeAllEventsReply = 59,
66 UnsubscribeAllEvents = 60,
67 UnsubscribeAllEventsReply = 61,
68 CallFunction2 = 62,
69}
70
71impl MessageKind {
72 pub fn has_value(self) -> bool {
73 match self {
74 Self::Connect
75 | Self::ConnectReply
76 | Self::CallFunction
77 | Self::CallFunctionReply
78 | Self::EmitEvent
79 | Self::SendItem
80 | Self::ItemReceived
81 | Self::Connect2
82 | Self::ConnectReply2
83 | Self::RegisterIntrospection
84 | Self::QueryIntrospectionReply
85 | Self::CreateService2
86 | Self::QueryServiceInfoReply
87 | Self::CallFunction2 => true,
88
89 Self::Shutdown
90 | Self::CreateObject
91 | Self::CreateObjectReply
92 | Self::DestroyObject
93 | Self::DestroyObjectReply
94 | Self::CreateService
95 | Self::CreateServiceReply
96 | Self::DestroyService
97 | Self::DestroyServiceReply
98 | Self::SubscribeEvent
99 | Self::SubscribeEventReply
100 | Self::UnsubscribeEvent
101 | Self::QueryServiceVersion
102 | Self::QueryServiceVersionReply
103 | Self::CreateChannel
104 | Self::CreateChannelReply
105 | Self::CloseChannelEnd
106 | Self::CloseChannelEndReply
107 | Self::ChannelEndClosed
108 | Self::ClaimChannelEnd
109 | Self::ClaimChannelEndReply
110 | Self::ChannelEndClaimed
111 | Self::AddChannelCapacity
112 | Self::Sync
113 | Self::SyncReply
114 | Self::ServiceDestroyed
115 | Self::CreateBusListener
116 | Self::CreateBusListenerReply
117 | Self::DestroyBusListener
118 | Self::DestroyBusListenerReply
119 | Self::AddBusListenerFilter
120 | Self::RemoveBusListenerFilter
121 | Self::ClearBusListenerFilters
122 | Self::StartBusListener
123 | Self::StartBusListenerReply
124 | Self::StopBusListener
125 | Self::StopBusListenerReply
126 | Self::EmitBusEvent
127 | Self::BusListenerCurrentFinished
128 | Self::AbortFunctionCall
129 | Self::QueryIntrospection
130 | Self::QueryServiceInfo
131 | Self::SubscribeService
132 | Self::SubscribeServiceReply
133 | Self::UnsubscribeService
134 | Self::SubscribeAllEvents
135 | Self::SubscribeAllEventsReply
136 | Self::UnsubscribeAllEvents
137 | Self::UnsubscribeAllEventsReply => false,
138 }
139 }
140}