xref: /trunk/main/cppu/inc/typelib/typeclass.h (revision 24f6443d)
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