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

Unified Diff: mojo/public/java/bindings/src/org/chromium/mojo/bindings/InterfaceControlMessagesHelper.java

Issue 2277853003: Use unions for interface control messages. (Closed)
Patch Set: Created 4 years, 4 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 side-by-side diff with in-line comments
Download patch
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..67f7497cdb045f80f01ef9a1b7ab3506db4630b8 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
@@ -64,11 +64,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 {
+ return false;
yzshen1 2016/08/25 21:08:57 We need to respond with a null output.
Sam McNally 2016/08/25 21:47:50 Done.
+ }
return responder.accept(response.serializeWithHeader(
core, new MessageHeader(InterfaceControlMessagesConstants.RUN_MESSAGE_ID,
@@ -84,6 +89,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;
}
}

Powered by Google App Engine
This is Rietveld 408576698