naiveproxy/mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom

70 lines
1.9 KiB
Plaintext
Raw Normal View History

2018-01-28 19:30:36 +03:00
// 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.test;
import "mojo/public/interfaces/bindings/tests/ping_service.mojom";
interface FooInterface {};
struct StructContainsAssociated {
associated FooInterface? foo_interface;
associated FooInterface& foo_request;
array<associated FooInterface> foo_interfaces;
array<associated FooInterface&> foo_requests;
};
union UnionContainsAssociated {
associated FooInterface foo_interface;
associated FooInterface& foo_request;
array<associated FooInterface> foo_interfaces;
array<associated FooInterface&> foo_requests;
};
interface InterfacePassesAssociated {
PassFoo(associated FooInterface foo_interface,
associated FooInterface& foo_request) =>
(associated FooInterface foo_interface,
associated FooInterface& foo_request);
PassStruct(StructContainsAssociated foo_struct) =>
(StructContainsAssociated foo_struct);
PassUnion(UnionContainsAssociated foo_union) =>
(UnionContainsAssociated foo_union);
};
interface IntegerSender {
Echo(int32 value) => (int32 value);
Send(int32 value);
};
interface StringSender {
Echo(string value) => (string value);
Send(string value);
};
interface IntegerSenderConnection {
GetSender(associated IntegerSender& sender);
AsyncGetSender() => (associated IntegerSender sender);
};
interface IntegerSenderConnectionAtBothEnds {
GetSender(associated IntegerSender& sender);
SetSender(associated IntegerSender sender) => (int32 value);
};
interface SenderConnection {
GetIntegerSender(associated IntegerSender& sender);
GetStringSender(associated StringSender& sender);
};
interface AssociatedPingProvider {
GetPing(associated PingService& request);
};
interface AssociatedPingProviderProvider {
GetPingProvider(associated AssociatedPingProvider& request);
};