mirror of
https://github.com/klzgrad/naiveproxy.git
synced 2024-12-01 01:36:09 +03:00
68 lines
1.9 KiB
Plaintext
68 lines
1.9 KiB
Plaintext
// 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_control;
|
|
|
|
// 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;
|
|
};
|