| Index: mojo/public/interfaces/bindings/new_bindings/interface_control_messages.mojom
|
| diff --git a/mojo/public/interfaces/bindings/new_bindings/interface_control_messages.mojom b/mojo/public/interfaces/bindings/new_bindings/interface_control_messages.mojom
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..e03ffd658954bd2eb2f771445be2a7ebeb1cc66c
|
| --- /dev/null
|
| +++ b/mojo/public/interfaces/bindings/new_bindings/interface_control_messages.mojom
|
| @@ -0,0 +1,67 @@
|
| +// 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.
|
| +
|
| +[JavaPackage="org.chromium.mojo.bindings.interfacecontrol"]
|
| +module mojo.interface_control2;
|
| +
|
| +// For each user-defined interface, some control functions are provided by the
|
| +// interface endpoints at both sides.
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// 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.
|
| +
|
| +const uint32 kRunMessageId = 0xFFFFFFFF;
|
| +
|
| +struct RunMessageParams {
|
| + RunInput input;
|
| +};
|
| +union RunInput {
|
| + QueryVersion query_version;
|
| + FlushForTesting flush_for_testing;
|
| +};
|
| +
|
| +struct RunResponseMessageParams {
|
| + RunOutput? output;
|
| +};
|
| +union RunOutput {
|
| + QueryVersionResult query_version_result;
|
| +};
|
| +
|
| +// Queries the max supported version of the user-defined interface.
|
| +// Sent by the interface client side.
|
| +struct QueryVersion {
|
| +};
|
| +struct QueryVersionResult {
|
| + uint32 version;
|
| +};
|
| +
|
| +// Sent by either side of the interface.
|
| +struct FlushForTesting {
|
| +};
|
| +
|
| +////////////////////////////////////////////////////////////////////////////////
|
| +// 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.
|
| +
|
| +const uint32 kRunOrClosePipeMessageId = 0xFFFFFFFE;
|
| +
|
| +struct RunOrClosePipeMessageParams {
|
| + RunOrClosePipeInput input;
|
| +};
|
| +union RunOrClosePipeInput {
|
| + RequireVersion require_version;
|
| +};
|
| +
|
| +// If the specified version of the user-defined interface is not supported, the
|
| +// function fails and the pipe is closed.
|
| +// Sent by the interface client side.
|
| +struct RequireVersion {
|
| + uint32 version;
|
| +};
|
|
|