/* * 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, }; enum SomeOtherEnum : uint8_t { bar = 66 }; typedef SomeOtherEnum thisIsAnAlias; typedef IBaz anIBazByAnyOtherName; 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; }; @Fragile @NoReally(very="yes", array={"a","b","c"}) 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); 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); };