| // 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.test; |
| |
| struct Point { |
| int32 x; |
| int32 y; |
| }; |
| |
| enum Direction : uint32 { |
| Up = 0; |
| Down = 1; |
| Left = 2; |
| Right = 3; |
| }; |
| |
| struct ArraysOfPoints { |
| array<Point>:4 p; |
| ArraysOfPoints? more_points; |
| }; |
| |
| struct VectorOfPoints { |
| vector<Point>:4 p; |
| }; |
| |
| struct VectorOfDirections { |
| vector<Direction>:4 d; |
| }; |
| |
| union Points { |
| Point one_point; |
| ArraysOfPoints many_points; |
| }; |
| |
| const uint32 NumberOfDirections = 4; |
| |
| protocol Drawing { |
| Draw(Point p, Direction d); |
| DrawLots(Points ps); |
| -> DrawSucceeded(uint32 draws); |
| }; |