Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Side by Side Diff: mojo/public/js/lib/control_message_proxy.js

Issue 2788403002: Revert of Introduce InterfaceEndpointClient(IEC), InterfaceEndpointHandle and (Closed)
Patch Set: Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2017 The Chromium Authors. All rights reserved. 1 // Copyright 2017 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 define("mojo/public/js/lib/control_message_proxy", [ 5 define("mojo/public/js/lib/control_message_proxy", [
6 "mojo/public/interfaces/bindings/interface_control_messages.mojom", 6 "mojo/public/interfaces/bindings/interface_control_messages.mojom",
7 "mojo/public/js/codec", 7 "mojo/public/js/codec",
8 "mojo/public/js/validator", 8 "mojo/public/js/validator",
9 ], function(controlMessages, codec, validator) { 9 ], function(controlMessages, codec, validator) {
10 10
11 var Validator = validator.Validator; 11 var Validator = validator.Validator;
12 12
13 function constructRunOrClosePipeMessage(runOrClosePipeInput) { 13 function sendRunOrClosePipeMessage(receiver, runOrClosePipeMessageParams) {
14 var runOrClosePipeMessageParams = new
15 controlMessages.RunOrClosePipeMessageParams();
16 runOrClosePipeMessageParams.input = runOrClosePipeInput;
17
18 var messageName = controlMessages.kRunOrClosePipeMessageId; 14 var messageName = controlMessages.kRunOrClosePipeMessageId;
19 var payloadSize = controlMessages.RunOrClosePipeMessageParams.encodedSize; 15 var payloadSize = controlMessages.RunOrClosePipeMessageParams.encodedSize;
20 var builder = new codec.MessageBuilder(messageName, payloadSize); 16 var builder = new codec.MessageBuilder(messageName, payloadSize);
21 builder.encodeStruct(controlMessages.RunOrClosePipeMessageParams, 17 builder.encodeStruct(controlMessages.RunOrClosePipeMessageParams,
22 runOrClosePipeMessageParams); 18 runOrClosePipeMessageParams);
23 var message = builder.finish(); 19 var message = builder.finish();
24 return message; 20 receiver.accept(message);
25 } 21 }
26 22
27 function validateControlResponse(message) { 23 function validateControlResponse(message) {
28 var messageValidator = new Validator(message); 24 var messageValidator = new Validator(message);
29 var error = messageValidator.validateMessageIsResponse(); 25 var error = messageValidator.validateMessageIsResponse();
30 if (error != validator.validationError.NONE) { 26 if (error != validator.validationError.NONE) {
31 throw error; 27 throw error;
32 } 28 }
33 29
34 if (message.getName() != controlMessages.kRunMessageId) { 30 if (message.getName() != controlMessages.kRunMessageId) {
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 // |requestID| is set to 0, but is later properly set by Router. 64 // |requestID| is set to 0, but is later properly set by Router.
69 var builder = new codec.MessageWithRequestIDBuilder(messageName, 65 var builder = new codec.MessageWithRequestIDBuilder(messageName,
70 payloadSize, codec.kMessageExpectsResponse, 0); 66 payloadSize, codec.kMessageExpectsResponse, 0);
71 builder.encodeStruct(controlMessages.RunMessageParams, runMessageParams); 67 builder.encodeStruct(controlMessages.RunMessageParams, runMessageParams);
72 var message = builder.finish(); 68 var message = builder.finish();
73 69
74 return receiver.acceptAndExpectResponse(message).then(acceptRunResponse); 70 return receiver.acceptAndExpectResponse(message).then(acceptRunResponse);
75 } 71 }
76 72
77 function ControlMessageProxy(receiver) { 73 function ControlMessageProxy(receiver) {
78 this.receiver_ = receiver; 74 this.receiver = receiver;
79 } 75 }
80 76
81 ControlMessageProxy.prototype.queryVersion = function() { 77 ControlMessageProxy.prototype.queryVersion = function() {
82 var runMessageParams = new controlMessages.RunMessageParams(); 78 var runMessageParams = new controlMessages.RunMessageParams();
83 runMessageParams.input = new controlMessages.RunInput(); 79 runMessageParams.input = new controlMessages.RunInput();
84 runMessageParams.input.query_version = new controlMessages.QueryVersion(); 80 runMessageParams.input.query_version = new controlMessages.QueryVersion();
85 81
86 return sendRunMessage(this.receiver_, runMessageParams).then(function( 82 return sendRunMessage(this.receiver, runMessageParams).then(function(
87 runResponseMessageParams) { 83 runResponseMessageParams) {
88 return runResponseMessageParams.output.query_version_result.version; 84 return runResponseMessageParams.output.query_version_result.version;
89 }); 85 });
90 }; 86 };
91 87
92 ControlMessageProxy.prototype.requireVersion = function(version) { 88 ControlMessageProxy.prototype.requireVersion = function(version) {
93 var runOrClosePipeInput = new controlMessages.RunOrClosePipeInput(); 89 var runOrClosePipeMessageParams = new
94 runOrClosePipeInput.require_version = new controlMessages.RequireVersion({ 90 controlMessages.RunOrClosePipeMessageParams();
95 'version': version}); 91 runOrClosePipeMessageParams.input = new
96 var message = constructRunOrClosePipeMessage(runOrClosePipeInput); 92 controlMessages.RunOrClosePipeInput();
97 this.receiver_.accept(message); 93 runOrClosePipeMessageParams.input.require_version = new
94 controlMessages.RequireVersion({'version': version});
95 sendRunOrClosePipeMessage(this.receiver, runOrClosePipeMessageParams);
98 }; 96 };
99 97
100 var exports = {}; 98 var exports = {};
101 exports.ControlMessageProxy = ControlMessageProxy; 99 exports.ControlMessageProxy = ControlMessageProxy;
102 100
103 return exports; 101 return exports;
104 }); 102 });
OLDNEW
« no previous file with comments | « mojo/public/js/lib/control_message_handler.js ('k') | mojo/public/js/lib/interface_endpoint_client.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698