コード例 #1
0
        void ICallbackHandler.HandleChangeHighlightRequest(ChangeHighlightRequestFromMQ changeHighlighRequest, MessagePartInfo messagePartInfo)
        {
            onRequestReceived();

            assembleMessageParts(
                ref changeHighlightMessagePartInfo,
                ref changeHighlightMessageParts,
                messagePartInfo,
                changeHighlighRequest,
                () =>
            {
                List <PreviewPartWithFocusedRange> previewParts = new List <PreviewPartWithFocusedRange>();
                foreach (var messagePart in changeHighlightMessageParts)
                {
                    previewParts.AddRange(messagePart.ActivePreviewParts);
                }

                var request = new ChangeHighlightRequestFromMQ()
                {
                    ActivePreviewParts = previewParts.ToArray()
                };

                callbackHandler.QueueChangeHighlightRequest(request.Convert());
            });
        }
コード例 #2
0
        private void onDataRead(object sender, PipeEventArgs e)
        {
            var     jsonSerializedPipeCommand = Encoding.UTF8.GetString(e.Data);
            var     pipeCommand      = JsonConvert.DeserializeObject <PipeCommand>(jsonSerializedPipeCommand);
            dynamic parsedParameters = JsonConvert.DeserializeObject(pipeCommand.CommandParameters.ToString());

            if (pipeCommand.CommandType == PipeCommandTypes.InvalidRequest)
            {
                var invalidRequestParameters = JsonConvert.DeserializeObject <InvalidRequestParameters>(pipeCommand.CommandParameters.ToString());
                processCommandResponse(invalidRequestParameters.OriginalRequest.CommandType, invalidRequestParameters.Convert());
            }
            else if (pipeCommand.CommandType == PipeCommandTypes.RequestAccepted)
            {
                var requestAcceptedParameters = JsonConvert.DeserializeObject <RequestAcceptedParameters>(pipeCommand.CommandParameters.ToString());
                processCommandResponse(requestAcceptedParameters.CommandType, requestAcceptedParameters.Convert());
            }
            else if (pipeCommand.CommandType == PipeCommandTypes.RequestRefused)
            {
                var requestRefusedParameters = JsonConvert.DeserializeObject <RequestRefusedParameters>(pipeCommand.CommandParameters.ToString());
                processCommandResponse(requestRefusedParameters.CommandType, requestRefusedParameters.Convert());
            }
            else if (pipeCommand.CommandType == PipeCommandTypes.NegotiationResponse)
            {
                negotiationResponse = JsonConvert.DeserializeObject <NegotiationResponseParameters>(pipeCommand.CommandParameters.ToString());
                negotiationResponseReceived.Set();
            }
            else if (pipeCommand.CommandType == PipeCommandTypes.ContentUpdateRequestFromMQ)
            {
                var contentUpdateRequest = JsonConvert.DeserializeObject <ContentUpdateRequestFromMQParameters>(pipeCommand.CommandParameters.ToString()).Convert();
                CallbackHandler.QueueContentUpdateRequest(contentUpdateRequest);
            }
            else if (pipeCommand.CommandType == PipeCommandTypes.ChangeHighlightRequestFromMQ)
            {
                var changeHighlightRequest = JsonConvert.DeserializeObject <ChangeHighlightRequestFromMQParameters>(pipeCommand.CommandParameters.ToString()).Convert();
                CallbackHandler.QueueChangeHighlightRequest(changeHighlightRequest);
            }
            else if (pipeCommand.CommandType == PipeCommandTypes.PreviewPartIdUpdateRequestFromMQ)
            {
                var previewPartIdUpdateRequest = JsonConvert.DeserializeObject <PreviewPartIdUpdateRequestFromMQParameters>(pipeCommand.CommandParameters.ToString()).Convert();
                CallbackHandler.QueuePreviewPartIdUpdateRequest(previewPartIdUpdateRequest);
            }
        }