xref: /AOO41X/main/cppu/inc/typelib/typeclass.h (revision 24f6443dc28f6479acd9115159f263e09548a0af)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 #ifndef _TYPELIB_TYPECLASS_H_
24 #define _TYPELIB_TYPECLASS_H_
25 
26 #include <sal/types.h>
27 
28 /** This type class enum is binary compatible with the IDL enum com.sun.star.uno.TypeClass.
29 */
30 typedef enum _typelib_TypeClass
31 {
32     /** type class of void */
33     typelib_TypeClass_VOID = 0,
34     /** type class of char */
35     typelib_TypeClass_CHAR = 1,
36     /** type class of boolean */
37     typelib_TypeClass_BOOLEAN = 2,
38     /** type class of byte */
39     typelib_TypeClass_BYTE = 3,
40     /** type class of short */
41     typelib_TypeClass_SHORT = 4,
42     /** type class of unsigned short */
43     typelib_TypeClass_UNSIGNED_SHORT = 5,
44     /** type class of long */
45     typelib_TypeClass_LONG = 6,
46     /** type class of unsigned long */
47     typelib_TypeClass_UNSIGNED_LONG = 7,
48     /** type class of hyper */
49     typelib_TypeClass_HYPER = 8,
50     /** type class of unsigned hyper */
51     typelib_TypeClass_UNSIGNED_HYPER = 9,
52     /** type class of float */
53     typelib_TypeClass_FLOAT = 10,
54     /** type class of double */
55     typelib_TypeClass_DOUBLE = 11,
56     /** type class of string */
57     typelib_TypeClass_STRING = 12,
58     /** type class of type */
59     typelib_TypeClass_TYPE = 13,
60     /** type class of any */
61     typelib_TypeClass_ANY = 14,
62     /** type class of enum */
63     typelib_TypeClass_ENUM = 15,
64     /** type class of typedef */
65     typelib_TypeClass_TYPEDEF = 16,
66     /** type class of struct */
67     typelib_TypeClass_STRUCT = 17,
68     /** type class of union (not implemented) */
69     typelib_TypeClass_UNION = 18,
70     /** type class of exception */
71     typelib_TypeClass_EXCEPTION = 19,
72     /** type class of sequence */
73     typelib_TypeClass_SEQUENCE = 20,
74     /** type class of array (not implemented) */
75     typelib_TypeClass_ARRAY = 21,
76     /** type class of interface */
77     typelib_TypeClass_INTERFACE = 22,
78     /** type class of service (not implemented) */
79     typelib_TypeClass_SERVICE = 23,
80     /** type class of module (not implemented) */
81     typelib_TypeClass_MODULE = 24,
82     /** type class of interface method */
83     typelib_TypeClass_INTERFACE_METHOD = 25,
84     /** type class of interface attribute */
85     typelib_TypeClass_INTERFACE_ATTRIBUTE = 26,
86     /** type class of unknown type */
87     typelib_TypeClass_UNKNOWN = 27,
88     /** type class of properties */
89     typelib_TypeClass_PROPERTY = 28,
90     /** type class of constants */
91     typelib_TypeClass_CONSTANT = 29,
92     /** type class of constants groups */
93     typelib_TypeClass_CONSTANTS = 30,
94     /** type class of singletons */
95     typelib_TypeClass_SINGLETON = 31,
96     /** fixing enum size */
97     typelib_TypeClass_MAKE_FIXED_SIZE = SAL_MAX_ENUM
98 } typelib_TypeClass;
99 
100 #endif
101