summaryrefslogtreecommitdiff
path: root/mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom
diff options
context:
space:
mode:
Diffstat (limited to 'mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom')
-rw-r--r--mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom54
1 files changed, 54 insertions, 0 deletions
diff --git a/mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom b/mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom
new file mode 100644
index 0000000000..adc4e7e809
--- /dev/null
+++ b/mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom
@@ -0,0 +1,54 @@
+// 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);
+};