| Index: mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceControlMessagesHelper.java
|
| diff --git a/mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceControlMessagesHelper.java b/mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceControlMessagesHelper.java
|
| index 939fb93988a2df36618aa4a4de62e7ac8b6f6319..51f543d567eda8288fb140541b865ea9473771fa 100644
|
| --- a/mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceControlMessagesHelper.java
|
| +++ b/mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceControlMessagesHelper.java
|
| @@ -7,6 +7,14 @@ package org.chromium.mojo.bindings;
|
| import org.chromium.mojo.bindings.Callbacks.Callback1;
|
| import org.chromium.mojo.bindings.Interface.Manager;
|
| import org.chromium.mojo.bindings.Interface.Proxy;
|
| +import org.chromium.mojo.bindings.interfacecontrol.InterfaceControlMessagesConstants;
|
| +import org.chromium.mojo.bindings.interfacecontrol.QueryVersionResult;
|
| +import org.chromium.mojo.bindings.interfacecontrol.RunInput;
|
| +import org.chromium.mojo.bindings.interfacecontrol.RunMessageParams;
|
| +import org.chromium.mojo.bindings.interfacecontrol.RunOrClosePipeInput;
|
| +import org.chromium.mojo.bindings.interfacecontrol.RunOrClosePipeMessageParams;
|
| +import org.chromium.mojo.bindings.interfacecontrol.RunOutput;
|
| +import org.chromium.mojo.bindings.interfacecontrol.RunResponseMessageParams;
|
| import org.chromium.mojo.system.Core;
|
|
|
| /**
|
| @@ -64,11 +72,16 @@ public class InterfaceControlMessagesHelper {
|
| */
|
| public static <I extends Interface, P extends Proxy> boolean handleRun(
|
| Core core, Manager<I, P> manager, ServiceMessage message, MessageReceiver responder) {
|
| + Message payload = message.getPayload();
|
| + RunMessageParams query = RunMessageParams.deserialize(payload);
|
| RunResponseMessageParams response = new RunResponseMessageParams();
|
| - response.reserved0 = 16;
|
| - response.reserved1 = 0;
|
| - response.queryVersionResult = new QueryVersionResult();
|
| - response.queryVersionResult.version = manager.getVersion();
|
| + response.output = new RunOutput();
|
| + if (query.input.which() == RunInput.Tag.QueryVersion) {
|
| + response.output.setQueryVersionResult(new QueryVersionResult());
|
| + response.output.getQueryVersionResult().version = manager.getVersion();
|
| + } else {
|
| + response.output = null;
|
| + }
|
|
|
| return responder.accept(response.serializeWithHeader(
|
| core, new MessageHeader(InterfaceControlMessagesConstants.RUN_MESSAGE_ID,
|
| @@ -84,6 +97,9 @@ public class InterfaceControlMessagesHelper {
|
| Manager<I, P> manager, ServiceMessage message) {
|
| Message payload = message.getPayload();
|
| RunOrClosePipeMessageParams query = RunOrClosePipeMessageParams.deserialize(payload);
|
| - return query.requireVersion.version <= manager.getVersion();
|
| + if (query.input.which() == RunOrClosePipeInput.Tag.RequireVersion) {
|
| + return query.input.getRequireVersion().version <= manager.getVersion();
|
| + }
|
| + return false;
|
| }
|
| }
|
|
|