1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: typeclass.h,v $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef _TYPELIB_TYPECLASS_H_
31 #define _TYPELIB_TYPECLASS_H_
33 #include <sal/types.h>
35 /** This type class enum is binary compatible with the IDL enum com.sun.star.uno.TypeClass.
37 typedef enum _typelib_TypeClass
39 /** type class of void */
40 typelib_TypeClass_VOID
= 0,
41 /** type class of char */
42 typelib_TypeClass_CHAR
= 1,
43 /** type class of boolean */
44 typelib_TypeClass_BOOLEAN
= 2,
45 /** type class of byte */
46 typelib_TypeClass_BYTE
= 3,
47 /** type class of short */
48 typelib_TypeClass_SHORT
= 4,
49 /** type class of unsigned short */
50 typelib_TypeClass_UNSIGNED_SHORT
= 5,
51 /** type class of long */
52 typelib_TypeClass_LONG
= 6,
53 /** type class of unsigned long */
54 typelib_TypeClass_UNSIGNED_LONG
= 7,
55 /** type class of hyper */
56 typelib_TypeClass_HYPER
= 8,
57 /** type class of unsigned hyper */
58 typelib_TypeClass_UNSIGNED_HYPER
= 9,
59 /** type class of float */
60 typelib_TypeClass_FLOAT
= 10,
61 /** type class of double */
62 typelib_TypeClass_DOUBLE
= 11,
63 /** type class of string */
64 typelib_TypeClass_STRING
= 12,
65 /** type class of type */
66 typelib_TypeClass_TYPE
= 13,
67 /** type class of any */
68 typelib_TypeClass_ANY
= 14,
69 /** type class of enum */
70 typelib_TypeClass_ENUM
= 15,
71 /** type class of typedef */
72 typelib_TypeClass_TYPEDEF
= 16,
73 /** type class of struct */
74 typelib_TypeClass_STRUCT
= 17,
75 /** type class of union (not implemented) */
76 typelib_TypeClass_UNION
= 18,
77 /** type class of exception */
78 typelib_TypeClass_EXCEPTION
= 19,
79 /** type class of sequence */
80 typelib_TypeClass_SEQUENCE
= 20,
81 /** type class of array (not implemented) */
82 typelib_TypeClass_ARRAY
= 21,
83 /** type class of interface */
84 typelib_TypeClass_INTERFACE
= 22,
85 /** type class of service (not implemented) */
86 typelib_TypeClass_SERVICE
= 23,
87 /** type class of module (not implemented) */
88 typelib_TypeClass_MODULE
= 24,
89 /** type class of interface method */
90 typelib_TypeClass_INTERFACE_METHOD
= 25,
91 /** type class of interface attribute */
92 typelib_TypeClass_INTERFACE_ATTRIBUTE
= 26,
93 /** type class of unknown type */
94 typelib_TypeClass_UNKNOWN
= 27,
95 /** type class of properties */
96 typelib_TypeClass_PROPERTY
= 28,
97 /** type class of constants */
98 typelib_TypeClass_CONSTANT
= 29,
99 /** type class of constants groups */
100 typelib_TypeClass_CONSTANTS
= 30,
101 /** type class of singletons */
102 typelib_TypeClass_SINGLETON
= 31,
103 /** fixing enum size */
104 typelib_TypeClass_MAKE_FIXED_SIZE
= SAL_MAX_ENUM