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 sendRunOrClosePipeMessage(receiver, runOrClosePipeMessageParams) { |
9 var messageName = mojo.interface_control2.kRunOrClosePipeMessageId; | 9 var messageName = mojo.interfaceControl2.kRunOrClosePipeMessageId; |
10 var payloadSize = | 10 var payloadSize = |
11 mojo.interface_control2.RunOrClosePipeMessageParams.encodedSize; | 11 mojo.interfaceControl2.RunOrClosePipeMessageParams.encodedSize; |
12 var builder = new internal.MessageV0Builder(messageName, payloadSize); | 12 var builder = new internal.MessageV0Builder(messageName, payloadSize); |
13 builder.encodeStruct(mojo.interface_control2.RunOrClosePipeMessageParams, | 13 builder.encodeStruct(mojo.interfaceControl2.RunOrClosePipeMessageParams, |
14 runOrClosePipeMessageParams); | 14 runOrClosePipeMessageParams); |
15 var message = builder.finish(); | 15 var message = builder.finish(); |
16 receiver.accept(message); | 16 receiver.accept(message); |
17 } | 17 } |
18 | 18 |
19 function validateControlResponse(message) { | 19 function validateControlResponse(message) { |
20 var messageValidator = new internal.Validator(message); | 20 var messageValidator = new internal.Validator(message); |
21 var error = messageValidator.validateMessageIsResponse(); | 21 var error = messageValidator.validateMessageIsResponse(); |
22 if (error != internal.validationError.NONE) { | 22 if (error != internal.validationError.NONE) { |
23 throw error; | 23 throw error; |
24 } | 24 } |
25 | 25 |
26 if (message.getName() != mojo.interface_control2.kRunMessageId) { | 26 if (message.getName() != mojo.interfaceControl2.kRunMessageId) { |
27 throw new Error("Control message name is not kRunMessageId"); | 27 throw new Error("Control message name is not kRunMessageId"); |
28 } | 28 } |
29 | 29 |
30 // Validate payload. | 30 // Validate payload. |
31 error = mojo.interface_control2.RunResponseMessageParams.validate( | 31 error = mojo.interfaceControl2.RunResponseMessageParams.validate( |
32 messageValidator, message.getHeaderNumBytes()); | 32 messageValidator, message.getHeaderNumBytes()); |
33 if (error != internal.validationError.NONE) { | 33 if (error != internal.validationError.NONE) { |
34 throw error; | 34 throw error; |
35 } | 35 } |
36 } | 36 } |
37 | 37 |
38 function acceptRunResponse(message) { | 38 function acceptRunResponse(message) { |
39 validateControlResponse(message); | 39 validateControlResponse(message); |
40 | 40 |
41 var reader = new internal.MessageReader(message); | 41 var reader = new internal.MessageReader(message); |
42 var runResponseMessageParams = reader.decodeStruct( | 42 var runResponseMessageParams = reader.decodeStruct( |
43 mojo.interface_control2.RunResponseMessageParams); | 43 mojo.interfaceControl2.RunResponseMessageParams); |
44 | 44 |
45 return Promise.resolve(runResponseMessageParams); | 45 return Promise.resolve(runResponseMessageParams); |
46 } | 46 } |
47 | 47 |
48 /** | 48 /** |
49 * Sends the given run message through the receiver. | 49 * Sends the given run message through the receiver. |
50 * Accepts the response message from the receiver and decodes the message | 50 * Accepts the response message from the receiver and decodes the message |
51 * struct to RunResponseMessageParams. | 51 * struct to RunResponseMessageParams. |
52 * | 52 * |
53 * @param {Router} receiver. | 53 * @param {Router} receiver. |
54 * @param {RunMessageParams} runMessageParams to be sent via a message. | 54 * @param {RunMessageParams} runMessageParams to be sent via a message. |
55 * @return {Promise} that resolves to a RunResponseMessageParams. | 55 * @return {Promise} that resolves to a RunResponseMessageParams. |
56 */ | 56 */ |
57 function sendRunMessage(receiver, runMessageParams) { | 57 function sendRunMessage(receiver, runMessageParams) { |
58 var messageName = mojo.interface_control2.kRunMessageId; | 58 var messageName = mojo.interfaceControl2.kRunMessageId; |
59 var payloadSize = mojo.interface_control2.RunMessageParams.encodedSize; | 59 var payloadSize = mojo.interfaceControl2.RunMessageParams.encodedSize; |
60 // |requestID| is set to 0, but is later properly set by Router. | 60 // |requestID| is set to 0, but is later properly set by Router. |
61 var builder = new internal.MessageV1Builder(messageName, | 61 var builder = new internal.MessageV1Builder(messageName, |
62 payloadSize, internal.kMessageExpectsResponse, 0); | 62 payloadSize, internal.kMessageExpectsResponse, 0); |
63 builder.encodeStruct(mojo.interface_control2.RunMessageParams, | 63 builder.encodeStruct(mojo.interfaceControl2.RunMessageParams, |
64 runMessageParams); | 64 runMessageParams); |
65 var message = builder.finish(); | 65 var message = builder.finish(); |
66 | 66 |
67 return receiver.acceptAndExpectResponse(message).then(acceptRunResponse); | 67 return receiver.acceptAndExpectResponse(message).then(acceptRunResponse); |
68 } | 68 } |
69 | 69 |
70 function ControlMessageProxy(receiver) { | 70 function ControlMessageProxy(receiver) { |
71 this.receiver = receiver; | 71 this.receiver = receiver; |
72 } | 72 } |
73 | 73 |
74 ControlMessageProxy.prototype.queryVersion = function() { | 74 ControlMessageProxy.prototype.queryVersion = function() { |
75 var runMessageParams = new mojo.interface_control2.RunMessageParams(); | 75 var runMessageParams = new mojo.interfaceControl2.RunMessageParams(); |
76 runMessageParams.input = new mojo.interface_control2.RunInput(); | 76 runMessageParams.input = new mojo.interfaceControl2.RunInput(); |
77 runMessageParams.input.query_version = | 77 runMessageParams.input.queryVersion = |
78 new mojo.interface_control2.QueryVersion(); | 78 new mojo.interfaceControl2.QueryVersion(); |
79 | 79 |
80 return sendRunMessage(this.receiver, runMessageParams).then(function( | 80 return sendRunMessage(this.receiver, runMessageParams).then(function( |
81 runResponseMessageParams) { | 81 runResponseMessageParams) { |
82 return runResponseMessageParams.output.query_version_result.version; | 82 return runResponseMessageParams.output.queryVersionResult.version; |
83 }); | 83 }); |
84 }; | 84 }; |
85 | 85 |
86 ControlMessageProxy.prototype.requireVersion = function(version) { | 86 ControlMessageProxy.prototype.requireVersion = function(version) { |
87 var runOrClosePipeMessageParams = new | 87 var runOrClosePipeMessageParams = new |
88 mojo.interface_control2.RunOrClosePipeMessageParams(); | 88 mojo.interfaceControl2.RunOrClosePipeMessageParams(); |
89 runOrClosePipeMessageParams.input = new | 89 runOrClosePipeMessageParams.input = new |
90 mojo.interface_control2.RunOrClosePipeInput(); | 90 mojo.interfaceControl2.RunOrClosePipeInput(); |
91 runOrClosePipeMessageParams.input.require_version = new | 91 runOrClosePipeMessageParams.input.requireVersion = new |
92 mojo.interface_control2.RequireVersion({'version': version}); | 92 mojo.interfaceControl2.RequireVersion({'version': version}); |
93 sendRunOrClosePipeMessage(this.receiver, runOrClosePipeMessageParams); | 93 sendRunOrClosePipeMessage(this.receiver, runOrClosePipeMessageParams); |
94 }; | 94 }; |
95 | 95 |
96 internal.ControlMessageProxy = ControlMessageProxy; | 96 internal.ControlMessageProxy = ControlMessageProxy; |
97 })(); | 97 })(); |
OLD | NEW |