1/*
2 * Copyright (C) 2016 The Android Open Source Project
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 *      http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17package android.hardware.tests.expression@1.0;
18
19import IExpression;
20
21interface IExpressionExt {
22
23    enum NewEnum : int32_t {
24        ENUM_GOOD = Constants:CONST_BAR,
25        ENUM_BETTER = IExpression.Constants:CONST_BAR,
26        ENUM_BEST = android.hardware.tests.expression@1.0::IExpression.Constants:CONST_BAR,
27    };
28
29    typedef Constants AlsoConstants;
30
31    typedef Color[((Constants:MAX_ARRAY_SIZE << 1) - (AlsoConstants:CONST_FOO + 1)*8) >> 1] SixteenColors;
32    struct ArrayOfColors {
33        Color[(Constants:MAX_ARRAY_SIZE << 1) - (Constants:CONST_FOO + 1)*8] my32Colors; // 32
34    };
35    struct AnotherArrayOfColors {
36        SixteenColors my16Colors;
37    };
38
39    foo3(int32_t[IExpression.Constants:MAX_ARRAY_SIZE] array);
40    foo2(SixteenColors array);
41    foo1(int32_t[Constants:CONST_FOO + 5] array);
42};
43