blob: 0853745da3c8faf1082493b5a14a844ac4c315f4 [file] [log] [blame]
/*
* Copyright (C) 2016 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package android.hardware.tests.pointer@1.0;
interface IGraph {
struct Node {
int32_t data;
};
struct Edge {
ref<Node> left;
ref<Node> right;
};
struct Graph {
vec<Node> nodes;
vec<Edge> edges;
};
struct Theta {
int32_t data;
};
struct Alpha {
ref<Theta> s_ptr;
};
struct Beta {
ref<Theta> s_ptr;
};
struct Gamma {
ref<Alpha> a_ptr;
ref<Beta> b_ptr;
};
passANode(Node n);
passAGraph(Graph g);
passTwoGraphs(ref<Graph> g1, ref<Graph> g2);
giveAGraph() generates (Graph g);
passAGamma(Gamma c);
passASimpleRef(ref<Alpha> a);
passASimpleRefS(ref<Theta> s);
giveASimpleRef() generates (ref<Alpha> a);
getErrors() generates (int32_t errors);
};