blob: 80e57ef6dc9e93e3ba323d87abeadf8c9ffab886 [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.foo@1.0;
import IFooCallback;
interface IFoo {
enum SomeBaseEnum : uint8_t {
bar = 66
};
enum SomeEnum : SomeBaseEnum {
quux = 33,
goober = 192,
blah = goober
};
struct Fumble {
float x;
};
typedef Fumble Gumble;
struct Goober {
int32_t q;
string name;
string address;
double[10] numbers;
Fumble fumble;
Gumble gumble;
// vec<double> lotsOfFumbles;
// handle loveHandle;
};
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);
oneway callMe(IFooCallback cb);
useAnEnum(SomeEnum zzz) generates (SomeEnum sleepy);
haveAGooberVec(vec<Goober> param);
haveAGoober(Goober g);
haveAGooberArray(Goober[20] lots);
haveATypeFromAnotherFile(Abc def);
haveSomeStrings(string[3] array) generates (string[2] result);
haveAStringVec(vec<string> vector) generates (vec<string> result);
};