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); } } }
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); } } }
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); } } }
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); } } }
public ReceiverBuilder AddResponseHandler <TOperation>(ResponsePacketHandler <TOperation> handler) where TOperation : BaseOperation { AddHandler(handler); return(this); }