Beispiel #1
0
 private void    HandleClientAskCLIAvailable(Client sender, Packet _packet)
 {
     using (var h = ResponsePacketHandler.Get <ServerAnswerCLIAvailablePacket>(sender, _packet as ClientAskCLIAvailablePacket))
     {
         try
         {
             h.response.hasCLI = this.cli != null;
         }
         catch (Exception ex)
         {
             h.HandleException(ex);
         }
     }
 }
Beispiel #2
0
        private void    HandleClientUnsubscribeLogs(Client sender, Packet _packet)
        {
            ClientUnsubscribeLogsPacket packet = _packet as ClientUnsubscribeLogsPacket;

            using (var h = ResponsePacketHandler.Get <AckPacket>(sender, packet))
            {
                try
                {
                    this.UnsubscribeClient(sender);
                }
                catch (Exception ex)
                {
                    h.HandleException(ex);
                }
            }
        }
Beispiel #3
0
        private void    HandleClientRequestCommandNodesPacket(Client sender, Packet _packet)
        {
            ClientRequestCommandNodesPacket packet = _packet as ClientRequestCommandNodesPacket;

            using (var h = ResponsePacketHandler.Get <ServerSendCommandNodesPacket>(sender, packet))
            {
                try
                {
                    if (this.cli == null)
                    {
                        h.Throw(Errors.CLI_NotAvailable, "Root commands has been requested but there is no CommandLineInterpreter.");
                    }

                    h.response.root = new RemoteCommand(this.cli.parser.Root);
                }
                catch (Exception ex)
                {
                    h.HandleException(ex);
                }
            }
        }
Beispiel #4
0
        private void    HandleClientSendCommandPacket(Client sender, Packet _packet)
        {
            ClientSendCommandPacket packet = _packet as ClientSendCommandPacket;

            using (var h = ResponsePacketHandler.Get <ServerSendCommandResponsePacket>(sender, packet))
            {
                try
                {
                    if (this.cli == null)
                    {
                        h.Throw(Errors.CLI_NotAvailable, "A command has been requested but there is no CommandLineInterpreter.");
                    }

                    h.response.requestId   = packet.requestId;
                    h.response.returnValue = this.cli.parser.Exec(packet.command, ref h.response.response);
                }
                catch (Exception ex)
                {
                    h.HandleException(ex);
                }
            }
        }
Beispiel #5
0
        public ReceiverBuilder AddResponseHandler <TOperation>(ResponsePacketHandler <TOperation> handler) where TOperation : BaseOperation
        {
            AddHandler(handler);

            return(this);
        }