blob: adc4e7e809e91d79e9bfdc4d95acdbe0edb95c93 [file] [log] [blame]
// 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 IntegerSenderConnection {
GetSender(associated IntegerSender& sender);
AsyncGetSender() => (associated IntegerSender sender);
};
interface AssociatedPingProvider {
GetPing(associated PingService& request);
};
interface AssociatedPingProviderProvider {
GetPingProvider(associated AssociatedPingProvider& request);
};