コード例 #1
0
        void ICallbackHandler.HandlePreviewPartIdUpdateRequest(PreviewPartIdUpdateRequestFromMQ previewPartIdUpdateRequest, MessagePartInfo messagePartInfo)
        {
            onRequestReceived();

            assembleMessageParts(
                ref previewPartIdUpdateMessagePartInfo,
                ref previewPartIdUpdateMessageParts,
                messagePartInfo,
                previewPartIdUpdateRequest,
                () =>
            {
                List <string> previewPartIds = new List <string>();
                foreach (var messagePart in previewPartIdUpdateMessageParts)
                {
                    previewPartIds.AddRange(messagePart.PreviewPartIds);
                }

                var request = new PreviewPartIdUpdateRequestFromMQ()
                {
                    PreviewPartIds = previewPartIds.ToArray()
                };

                callbackHandler.QueuePreviewPartIdUpdateRequest(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);
            }
        }