OLD | NEW |
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 (function() { | 5 (function() { |
6 var internal = mojo.internal; | 6 var internal = mojo.internal; |
7 | 7 |
8 function sendRunOrClosePipeMessage(receiver, runOrClosePipeMessageParams) { | 8 function constructRunOrClosePipeMessage(runOrClosePipeInput) { |
| 9 var runOrClosePipeMessageParams = new |
| 10 mojo.interfaceControl2.RunOrClosePipeMessageParams(); |
| 11 runOrClosePipeMessageParams.input = runOrClosePipeInput; |
| 12 |
9 var messageName = mojo.interfaceControl2.kRunOrClosePipeMessageId; | 13 var messageName = mojo.interfaceControl2.kRunOrClosePipeMessageId; |
10 var payloadSize = | 14 var payloadSize = |
11 mojo.interfaceControl2.RunOrClosePipeMessageParams.encodedSize; | 15 mojo.interfaceControl2.RunOrClosePipeMessageParams.encodedSize; |
12 var builder = new internal.MessageV0Builder(messageName, payloadSize); | 16 var builder = new internal.MessageV0Builder(messageName, payloadSize); |
13 builder.encodeStruct(mojo.interfaceControl2.RunOrClosePipeMessageParams, | 17 builder.encodeStruct(mojo.interfaceControl2.RunOrClosePipeMessageParams, |
14 runOrClosePipeMessageParams); | 18 runOrClosePipeMessageParams); |
15 var message = builder.finish(); | 19 var message = builder.finish(); |
16 receiver.accept(message); | 20 return message; |
17 } | 21 } |
18 | 22 |
19 function validateControlResponse(message) { | 23 function validateControlResponse(message) { |
20 var messageValidator = new internal.Validator(message); | 24 var messageValidator = new internal.Validator(message); |
21 var error = messageValidator.validateMessageIsResponse(); | 25 var error = messageValidator.validateMessageIsResponse(); |
22 if (error != internal.validationError.NONE) { | 26 if (error != internal.validationError.NONE) { |
23 throw error; | 27 throw error; |
24 } | 28 } |
25 | 29 |
26 if (message.getName() != mojo.interfaceControl2.kRunMessageId) { | 30 if (message.getName() != mojo.interfaceControl2.kRunMessageId) { |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
61 var builder = new internal.MessageV1Builder(messageName, | 65 var builder = new internal.MessageV1Builder(messageName, |
62 payloadSize, internal.kMessageExpectsResponse, 0); | 66 payloadSize, internal.kMessageExpectsResponse, 0); |
63 builder.encodeStruct(mojo.interfaceControl2.RunMessageParams, | 67 builder.encodeStruct(mojo.interfaceControl2.RunMessageParams, |
64 runMessageParams); | 68 runMessageParams); |
65 var message = builder.finish(); | 69 var message = builder.finish(); |
66 | 70 |
67 return receiver.acceptAndExpectResponse(message).then(acceptRunResponse); | 71 return receiver.acceptAndExpectResponse(message).then(acceptRunResponse); |
68 } | 72 } |
69 | 73 |
70 function ControlMessageProxy(receiver) { | 74 function ControlMessageProxy(receiver) { |
71 this.receiver = receiver; | 75 this.receiver_ = receiver; |
72 } | 76 } |
73 | 77 |
74 ControlMessageProxy.prototype.queryVersion = function() { | 78 ControlMessageProxy.prototype.queryVersion = function() { |
75 var runMessageParams = new mojo.interfaceControl2.RunMessageParams(); | 79 var runMessageParams = new mojo.interfaceControl2.RunMessageParams(); |
76 runMessageParams.input = new mojo.interfaceControl2.RunInput(); | 80 runMessageParams.input = new mojo.interfaceControl2.RunInput(); |
77 runMessageParams.input.queryVersion = | 81 runMessageParams.input.queryVersion = |
78 new mojo.interfaceControl2.QueryVersion(); | 82 new mojo.interfaceControl2.QueryVersion(); |
79 | 83 |
80 return sendRunMessage(this.receiver, runMessageParams).then(function( | 84 return sendRunMessage(this.receiver_, runMessageParams).then(function( |
81 runResponseMessageParams) { | 85 runResponseMessageParams) { |
82 return runResponseMessageParams.output.queryVersionResult.version; | 86 return runResponseMessageParams.output.queryVersionResult.version; |
83 }); | 87 }); |
84 }; | 88 }; |
85 | 89 |
86 ControlMessageProxy.prototype.requireVersion = function(version) { | 90 ControlMessageProxy.prototype.requireVersion = function(version) { |
87 var runOrClosePipeMessageParams = new | 91 var runOrClosePipeInput = new mojo.interfaceControl2.RunOrClosePipeInput(); |
88 mojo.interfaceControl2.RunOrClosePipeMessageParams(); | 92 runOrClosePipeInput.requireVersion = |
89 runOrClosePipeMessageParams.input = new | 93 new mojo.interfaceControl2.RequireVersion({'version': version}); |
90 mojo.interfaceControl2.RunOrClosePipeInput(); | 94 var message = constructRunOrClosePipeMessage(runOrClosePipeInput); |
91 runOrClosePipeMessageParams.input.requireVersion = new | 95 this.receiver_.accept(message); |
92 mojo.interfaceControl2.RequireVersion({'version': version}); | |
93 sendRunOrClosePipeMessage(this.receiver, runOrClosePipeMessageParams); | |
94 }; | 96 }; |
95 | 97 |
96 internal.ControlMessageProxy = ControlMessageProxy; | 98 internal.ControlMessageProxy = ControlMessageProxy; |
97 })(); | 99 })(); |
OLD | NEW |