| // Copyright 2018 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| library fidl.examples.bindingstest; |
| |
| struct NoHandleStruct { |
| string foo; |
| int32 bar; |
| vector<uint8> baz; |
| }; |
| |
| struct ExampleStruct { |
| string foo; |
| int32 bar; |
| vector<uint8>? baz; |
| }; |
| |
| table ExampleTable { |
| 1: string foo; |
| 2: int32 bar; |
| 3: vector<uint8> baz; |
| }; |
| |
| xunion ExampleXunion { |
| string foo; |
| int32 bar; |
| vector<uint8> baz; |
| }; |
| |
| [Discoverable] |
| protocol TestServer { |
| OneWayNoArgs(); |
| ReceivedOneWayNoArgs() -> (bool received); |
| |
| OneWayStringArg(string value); |
| ReceivedOneWayString() -> (string value); |
| |
| OneWayThreeArgs(int32 x, uint64 y, NoHandleStruct z); |
| ReceivedOneWayThreeArgs() -> (int32 x, uint64 y, NoHandleStruct z); |
| |
| OneWayExampleTable(ExampleTable value); |
| ReceivedOneWayExampleTable() -> (ExampleTable received); |
| |
| TwoWayNoArgs() -> (); |
| TwoWayStringArg(string value) -> (string value); |
| TwoWayThreeArgs(int32 x, uint64 y, NoHandleStruct z) -> (int32 x, uint64 y, NoHandleStruct z); |
| |
| OneWayExampleXunion(ExampleXunion value); |
| ReceivedOneWayExampleXunion() -> (ExampleXunion received); |
| |
| SendEmptyEvent(); |
| -> EmptyEvent(); |
| |
| SendStringEvent(string value); |
| -> StringEvent(string value); |
| |
| SendThreeArgEvent(int32 x, uint64 y, NoHandleStruct z); |
| -> ThreeArgEvent(int32 x, uint64 y, NoHandleStruct z); |
| |
| SendMultipleEvents(int32 count, float64 intervalSeconds); |
| -> MultipleEvent(int32 index); |
| |
| ReplySlowly(string value, float64 delaySeconds) -> (string value); |
| |
| CloseConnection(float64 delaySeconds); |
| |
| -> NeverEvent(); |
| }; |
| |
| enum EnumOne { |
| ONE = 1; |
| TWO = 2; |
| THREE = 3; |
| }; |
| |
| enum EnumTwo { |
| ONE = 1; |
| TWO = 2; |
| THREE = 3; |
| }; |
| |
| struct HandleStruct { |
| string foo; |
| int32 bar; |
| handle baz; |
| }; |
| |
| union UnionOne { |
| string foo; |
| string bar; |
| uint32 baz; |
| }; |
| |
| union UnionTwo { |
| string foo; |
| string bar; |
| uint32 baz; |
| }; |
| |
| protocol SimpleServer { |
| Ping() -> (); |
| }; |