Example #1
0
        private void MessageReceived(BackendToDebugger message)
        {
            LogMessage(message);

            if (message.SeqNo != IncomingSeq)
            {
                throw new InvalidDataException($"NSE sequence number mismatch; got {message.SeqNo} expected {IncomingSeq}");
            }

            IncomingSeq++;

            switch (message.MsgCase)
            {
            case BackendToDebugger.MsgOneofCase.ConnectResponse:
                OnBackendConnected(message.ConnectResponse);
                break;

            case BackendToDebugger.MsgOneofCase.BreakpointTriggered:
                BreakpointTriggered(message.BreakpointTriggered);
                break;

            case BackendToDebugger.MsgOneofCase.EvaluateResponse:
                OnEvaluateFinished(message.ReplySeqNo, message.EvaluateResponse);
                break;

            case BackendToDebugger.MsgOneofCase.ContextUpdated:
                OnContextUpdated(message.ContextUpdated);
                break;

            case BackendToDebugger.MsgOneofCase.ModInfoResponse:
                OnModInfo(message.ModInfoResponse);
                break;

            case BackendToDebugger.MsgOneofCase.DebugOutput:
                OnDebugOutput(message.DebugOutput);
                break;

            case BackendToDebugger.MsgOneofCase.Results:
                OnResults(message.ReplySeqNo, message.Results);
                break;

            case BackendToDebugger.MsgOneofCase.DebuggerReady:
                OnDebuggerReady(message.DebuggerReady);
                break;

            case BackendToDebugger.MsgOneofCase.SourceResponse:
                OnSourceResponse(message.ReplySeqNo, message.SourceResponse);
                break;

            case BackendToDebugger.MsgOneofCase.GetVariablesResponse:
                OnGetVariablesFinished(message.ReplySeqNo, message.GetVariablesResponse);
                break;

            default:
                throw new InvalidOperationException($"Unknown message from NSE: {message.MsgCase}");
            }
        }
        private void MessageReceived(BackendToDebugger message)
        {
            LogMessage(message);

            if (message.SeqNo != IncomingSeq)
            {
                throw new InvalidDataException($"DBG sequence number mismatch; got {message.SeqNo} expected {IncomingSeq}");
            }

            IncomingSeq++;


            switch (message.MsgCase)
            {
            case BackendToDebugger.MsgOneofCase.VersionInfo:
                OnBackendInfo(message.VersionInfo);
                break;

            case BackendToDebugger.MsgOneofCase.Results:
                break;

            case BackendToDebugger.MsgOneofCase.StoryLoaded:
                OnStoryLoaded();
                break;

            case BackendToDebugger.MsgOneofCase.DebugSessionEnded:
                OnDebugSessionEnded();
                break;

            case BackendToDebugger.MsgOneofCase.BreakpointTriggered:
                BreakpointTriggered(message.BreakpointTriggered);
                break;

            case BackendToDebugger.MsgOneofCase.GlobalBreakpointTriggered:
                GlobalBreakpointTriggered(message.GlobalBreakpointTriggered);
                break;

            case BackendToDebugger.MsgOneofCase.SyncStoryData:
                OnStorySyncData(message.SyncStoryData);
                break;

            case BackendToDebugger.MsgOneofCase.SyncStoryFinished:
                OnStorySyncFinished();
                break;

            case BackendToDebugger.MsgOneofCase.DebugOutput:
                OnDebugOutput(message.DebugOutput);
                break;

            case BackendToDebugger.MsgOneofCase.BeginDatabaseContents:
                OnBeginDatabaseContents(message.BeginDatabaseContents);
                break;

            case BackendToDebugger.MsgOneofCase.DatabaseRow:
                OnDatabaseRow(message.DatabaseRow);
                break;

            case BackendToDebugger.MsgOneofCase.EndDatabaseContents:
                OnEndDatabaseContents(message.EndDatabaseContents);
                break;

            case BackendToDebugger.MsgOneofCase.EvaluateRow:
                OnEvaluateRow(message.ReplySeqNo, message.EvaluateRow);
                break;

            case BackendToDebugger.MsgOneofCase.EvaluateFinished:
                OnEvaluateFinished(message.ReplySeqNo, message.EvaluateFinished);
                break;

            default:
                throw new InvalidOperationException($"Unknown message from DBG: {message.MsgCase}");
            }
        }