aldrin_core/message/
kind.rs

1use 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}