platform_hardware_interfaces/tests/pointer/1.0/IGraph.hal
Yifan Hong fe2b098355 Tests for Reference Support.
Bug: 31300815 pointer support
Bug: 31349114 nested types
Bug: 31757611 Parcel ref# cap

Test: `make hidl_test && adb sync && adb shell hidl_test`
      Only works with a kernel patch.

Change-Id: I48351b1bf861a4d2d77f823f7242524156cde1e7
2016-09-29 14:57:22 -07:00

57 lines
1.3 KiB
Text

/*
* 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);
};