// Copyright 2015 The Chromium Authors
// 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 {
pending_associated_remote<FooInterface>? foo_remote;
pending_associated_receiver<FooInterface> foo_receiver;
array<pending_associated_remote<FooInterface>> foo_remotes;
array<pending_associated_receiver<FooInterface>> foo_receivers;
};
union UnionContainsAssociated {
pending_associated_remote<FooInterface>? foo_remote;
pending_associated_receiver<FooInterface> foo_receiver;
array<pending_associated_remote<FooInterface>> foo_remotes;
array<pending_associated_receiver<FooInterface>> foo_receivers;
};
interface InterfacePassesAssociated {
PassFoo(pending_associated_remote<FooInterface> foo_remote,
pending_associated_receiver<FooInterface> foo_receiver) =>
(pending_associated_remote<FooInterface> foo_remote,
pending_associated_receiver<FooInterface> foo_receiver);
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(pending_associated_receiver<IntegerSender> receiver);
AsyncGetSender() => (pending_associated_remote<IntegerSender> sender);
};
interface IntegerSenderConnectionAtBothEnds {
GetSender(pending_associated_receiver<IntegerSender> receiver);
SetSender(pending_associated_remote<IntegerSender> sender) => (int32 value);
};
interface SenderConnection {
GetIntegerSender(pending_associated_receiver<IntegerSender> receiver);
GetStringSender(pending_associated_receiver<StringSender> receiver);
};
interface AssociatedPingProvider {
GetPing(pending_associated_receiver<PingService> receiver);
};
interface AssociatedPingProviderProvider {
GetPingProvider(pending_associated_receiver<AssociatedPingProvider> receiver);
};