1 /*
2  * Copyright (c) 2024 Huawei Device Co., Ltd.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 #ifndef OHOS_IDL_METATYPE_H
17 #define OHOS_IDL_METATYPE_H
18 
19 #include <string>
20 
21 namespace OHOS {
22 namespace Idl {
23 enum class MetaTypeKind {
24     Unknown = 0,
25     Char = 1,
26     Boolean = 2,
27     Byte = 3,
28     Short = 4,
29     Integer = 5,
30     Long = 6,
31     Float = 7,
32     Double = 8,
33     String = 9,
34     Void = 10,
35     Sequenceable = 11,
36     Interface = 12,
37     List = 13,
38     Map = 14,
39     Array = 15,
40 };
41 
42 struct MetaType {
43     MetaTypeKind kind_;
44     int index_;
45     int nestedTypeNumber_;
46     int* nestedTypeIndexes_;
47 };
48 } // namespace Idl
49 } // namespace OHOS
50 #endif // OHOS_IDL_METATYPE_H