| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
-
- using Command;
- using InABox.Core;
- using InABox.Rpc;
- namespace Receiver;
- public class MainWindowViewModel
- {
- public bool LightOn { get; set; }
-
- public string LightVisibility { get; set; }
-
- public string LightHex { get; set; }
-
- RpcServerPipeTransport Transport { get; set; }
- public MainWindowViewModel()
- {
- Transport = new RpcServerPipeTransport("SwitchTransport");
- Transport.AddHandler<MainWindowViewModel, SwitchCommand, SwitchParameters, SwitchResult>(new SwitchHandler(this));
- Transport.OnOpen += TransportOpen;
- Transport.OnClose += TransportClose;
- Transport.OnException += TransportException;
- Transport.BeforeMessage += TransportBeforeMessage;
- Transport.AfterMessage += TransportAfterMessage;
- Transport.Start();
-
- LightOn = true;
- LightHex = "#0000FF";
-
- if (LightOn == false) LightVisibility = "Hidden";
- else LightVisibility = "Visible";
- }
- private void TransportAfterMessage(IRpcTransport transport, RpcTransportMessageArgs e)
- {
- }
- private void TransportBeforeMessage(IRpcTransport transport, RpcTransportMessageArgs e)
- {
- }
- private void TransportException(IRpcTransport transport, RpcTransportExceptionArgs e)
- {
- }
- private void TransportClose(IRpcTransport transport, RpcTransportCloseArgs e)
- {
- }
- private void TransportOpen(IRpcTransport transport, RpcTransportOpenArgs e)
- {
-
- }
- }
- public class SwitchHandler : RpcCommandHandler<MainWindowViewModel, SwitchCommand, SwitchParameters, SwitchResult>
- {
- public SwitchHandler(MainWindowViewModel sender) : base(sender)
- {
- }
- protected override SwitchResult Execute(IRpcSession session, SwitchParameters parameters, Logger logger)
- {
- Sender.LightOn = parameters.Active;
- var result = new SwitchResult();
- result.LightOn = parameters.Active;
- return result;
- }
- }
|