-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathComponentProxy.cs
58 lines (54 loc) · 1.72 KB
/
ComponentProxy.cs
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
[ProxyClass]
public class ComponentProxy : Component
{
protected async override Task ReceiveAsyncInternal(Proto.IContext context)
{
if (await HandleSystemMessages(context))
return;
var msg = FormatMessage(context.Message);
if (msg is HomeCenter.Model.Messages.ActorMessage ic)
{
ic.Context = context;
}
;
if (msg is CapabilitiesQuery query_0)
{
var result = Handle(query_0);
context.Respond(result);
return;
}
else if (msg is SupportedStatesQuery query_1)
{
var result = Handle(query_1);
context.Respond(result);
return;
}
else if (msg is StateQuery query_2)
{
var result = Handle(query_2);
context.Respond(result);
return;
}
if (msg is SystemStartedEvent event_0)
{
await OnSystemStarted(event_0).ConfigureAwait(false);
return;
}
else if (msg is Event event_1)
{
await Handle(event_1).ConfigureAwait(false);
return;
}
else if (msg is SystemStartedEvent event_2)
{
await OnSystemStarted(event_2).ConfigureAwait(false);
return;
}
await UnhandledMessage(msg);
}
public ComponentProxy(IMessageBroker messageBroker, ILogger<ComponentProxy> logger)
{
Logger = logger;
MessageBroker = messageBroker;
}
}