blob: 480b67943b0737b6227f5b38f977b2b0e794ca61 [file] [log] [blame]
// 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() -> ();
};