platform_hardware_interfaces/tests/baz/1.0/IBaz.hal
Ytai Ben-Tsvi c861055316 HIDL test: update for java bitfields in lists
Bug: 141187928
Test: HIDL's run_all_host_tests.sh

Change-Id: Ib282ed03b85c798b724ed4c44ac2d59ea8dbf420
2019-09-17 14:25:35 -07: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;
IBase dummy;
};
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);
};