1/* 2 * Copyright (C) 2016 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package android.hardware.tests.pointer@1.0; 18 19interface IGraph { 20 21 struct Node { 22 int32_t data; 23 }; 24 struct Edge { 25 ref<Node> left; 26 ref<Node> right; 27 }; 28 struct Graph { 29 vec<Node> nodes; 30 vec<Edge> edges; 31 }; 32 33 struct Theta { 34 int32_t data; 35 }; 36 struct Alpha { 37 ref<Theta> s_ptr; 38 }; 39 struct Beta { 40 ref<Theta> s_ptr; 41 }; 42 struct Gamma { 43 ref<Alpha> a_ptr; 44 ref<Beta> b_ptr; 45 }; 46 47 passANode(Node n); 48 passAGraph(Graph g); 49 passTwoGraphs(ref<Graph> g1, ref<Graph> g2); 50 giveAGraph() generates (Graph g); 51 passAGamma(Gamma c); 52 passASimpleRef(ref<Alpha> a); 53 passASimpleRefS(ref<Theta> s); 54 giveASimpleRef() generates (ref<Alpha> a); 55 56 getErrors() generates (int32_t errors); 57}; 58