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

Unified Diff: third_party/mojo/src/mojo/public/interfaces/bindings/interface_control_messages.mojom

Issue 1058033002: NOT TO COMMITTED: Update mojo sdk to rev 0018e6a91b75bcb941c867f8a7aa1753c3b53a13 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 9 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: third_party/mojo/src/mojo/public/interfaces/bindings/interface_control_messages.mojom
diff --git a/third_party/mojo/src/mojo/public/interfaces/bindings/interface_control_messages.mojom b/third_party/mojo/src/mojo/public/interfaces/bindings/interface_control_messages.mojom
new file mode 100644
index 0000000000000000000000000000000000000000..1ddccfc0612b898964f69d893fad4bbc21a3fc09
--- /dev/null
+++ b/third_party/mojo/src/mojo/public/interfaces/bindings/interface_control_messages.mojom
@@ -0,0 +1,89 @@
+// Copyright 2015 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+module mojo.internal;
+
+// For each message pipe representing a user-defined interface, some control
+// functions are provided at the same end of the message pipe as the
+// user-defined interface, providing information about the user-defined
+// interface and controlling behavior of the message pipe.
+
+////////////////////////////////////////////////////////////////////////////////
+// Run@0xFFFFFFFF(RunInput input) => (RunOutput? output);
+//
+// This control function runs the input command. If the command is not
+// supported, |output| is set to null; otherwise |output| stores the result,
+// whose type depends on the input.
+//
+// TODO(yzshen): Once union support is ready, switch the following definition
+// to:
+// struct RunMessageParams {
+// RunInput input;
+// };
+// union RunInput {
+// QueryVersion query_version;
+// };
+//
+// struct RunResponseMessageParams {
+// RunOutput? output;
+// };
+// union RunOutput {
+// QueryVersionResult query_version_result;
+// };
+
+const uint32 kRunMessageId = 0xFFFFFFFF;
+
+struct RunMessageParams {
+ // The reserved fields make the layout compatible with the RunInput union
+ // described above.
+ uint32 reserved0; // Must be set to 16.
+ uint32 reserved1; // Must be set to 0;
+ QueryVersion query_version;
+};
+
+struct RunResponseMessageParams {
+ // The reserved fields make the layout compatible with the RunOutput union
+ // described above.
+ uint32 reserved0; // Must be set to 16.
+ uint32 reserved1; // Must be set to 0.
+ QueryVersionResult query_version_result;
+};
+
+// Queries the max supported version of the user-defined interface.
+struct QueryVersion {
+};
+struct QueryVersionResult {
+ uint32 version;
+};
+
+////////////////////////////////////////////////////////////////////////////////
+// RunOrClosePipe@0xFFFFFFFE(RunOrClosePipeInput input);
+//
+// This control function runs the input command. If the operation fails or the
+// command is not supported, the message pipe is closed.
+//
+// TODO(yzshen): Once union support is ready, switch the following definition
+// to:
+// struct RunOrClosePipeMessageParams {
+// RunOrClosePipeInput input;
+// };
+// union RunOrClosePipeInput {
+// RequireVersion require_version;
+// };
+
+const uint32 kRunOrClosePipeMessageId = 0xFFFFFFFE;
+
+struct RunOrClosePipeMessageParams {
+ // The reserved fields make the layout compatible with the RunOrClosePipeInput
+ // union described above.
+ uint32 reserved0; // Must be set to 16.
+ uint32 reserved1; // Must be set to 0.
+ RequireVersion require_version;
+};
+
+// If the specified version of the user-defined interface is not supported, the
+// function fails and the pipe is closed.
+struct RequireVersion {
+ uint32 version;
+};

Powered by Google App Engine
This is Rietveld 408576698