summaryrefslogtreecommitdiff
path: root/mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom
diff options
context:
space:
mode:
authorHidehiko Abe <hidehiko@google.com>2018-04-23 20:01:13 -0700
committerandroid-build-merger <android-build-merger@google.com>2018-04-23 20:01:13 -0700
commited7128dca79cff94e99465e3c1bc31d91d83c76d (patch)
treebd2d04362f66c36d4279f7a9735ba21ea3a2a021 /mojo/public/interfaces/bindings/tests/test_associated_interfaces.mojom
parentd6187ab7d79d95d101c2ecb83aa98c05bcdcccd1 (diff)
parent0ab20ac2283987e63b0e7c1318db2a5cf7c668d2 (diff)
downloadlibchrome-ed7128dca79cff94e99465e3c1bc31d91d83c76d.tar.gz
Migrate libmojo repository into libchrome, part 2. am: b268b43ac6
am: 0ab20ac228 Change-Id: I1b1afe0c902f1d122b100f5bf56d1df4a94eb090
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);
+};