platform_hardware_interfaces/tests/baz/1.0/IBaz.hal
Steven Moreland c0236f06e7 hidl_test_java interfaces: use generic interfaces
In places where we are passing interfaces, pass around
android.hidl.base.IBase to give flexibility to the test implementation,
specifically in order to avoid passing local binders to Java process,
which is a disabled feature.

Bug: 169369810
Test: atest hidl_test hidl_test_java
Change-Id: I7721a6ec7e72b96915a0dc66aa8e75c327032d1f
2020-10-01 23:20:44 +00:00

127 lines
3.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.baz@1.0;
import IBase;
import IBazCallback;
interface IBaz extends IBase {
enum BitField : uint8_t {
V0 = 1 << 0,
V1 = 1 << 1,
V2 = 1 << 2,
V3 = 1 << 3,
VALL = V0 | V1 | V2 | V3,
};
struct BitFieldTester {
bitfield<BitField> scalar;
vec<bitfield<BitField>> vector;
};
enum SomeOtherEnum : uint8_t {
bar = 66
};
typedef SomeOtherEnum thisIsAnAlias;
typedef IBaz anIBazByAnyOtherName;
struct NastyNester {
struct NestersNasty {
struct NestersNastyNester {
IBaz baz;
vec<NestersNasty> nasties;
};
};
IBaz baz;
};
enum SomeEnum : SomeOtherEnum {
quux = 33,
goober = 192,
blah = goober
};
typedef int32_t[3] ThreeInts;
struct T {
ThreeInts[5] matrix5x3;
int32_t[3][5] matrix3x5;
};
struct NestedStruct {
int32_t a;
vec<T> matrices;
};
struct Quux {
string first;
string last;
};
struct Everything {
int8_t number;
int32_t anotherNumber;
string s;
vec<string> vs;
string[2][2] multidimArray;
string[3] sArray;
Quux anotherStruct;
bitfield<BitField> bf;
};
struct MyHandle {
handle h;
int32_t guard;
};
struct StructWithInterface {
int32_t number;
int8_t[7] array;
string oneString;
vec<string> vectorOfStrings;
interface iface;
};
oneway doThis(float param);
doThatAndReturnSomething(int64_t param) generates (int32_t result);
doQuiteABit(int32_t a, int64_t b, float c, double d) generates (double something);
doSomethingElse(int32_t[15] param) generates (int32_t[32] something);
doStuffAndReturnAString() generates (string something);
mapThisVector(vec<int32_t> param) generates (vec<int32_t> something);
callMe(IBazCallback cb);
callMeLater(IBazCallback cb);
iAmFreeNow();
dieNow();
useAnEnum(SomeEnum zzz) generates (SomeEnum kkk);
haveSomeStrings(string[3] array) generates (string[2] result);
haveAStringVec(vec<string> vector) generates (vec<string> result);
repeatBitfieldVec(vec<bitfield<BitField>> vector) generates (vec<bitfield<BitField>> result);
returnABunchOfStrings() generates (string a, string b, string c);
returnABitField() generates (bitfield<BitField> good);
size(uint32_t size) generates (uint32_t size);
getNestedStructs() generates(vec<NestedStruct> data);
haveSomeStructWithInterface(StructWithInterface swi) generates(StructWithInterface swi);
};