1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef INCLUDED_TYPELIB_TYPECLASS_H
20 #define INCLUDED_TYPELIB_TYPECLASS_H
22 #include "sal/types.h"
24 /** This type class enum is binary compatible with the IDL enum com.sun.star.uno.TypeClass.
26 typedef enum _typelib_TypeClass
{
27 /** type class of void */
28 typelib_TypeClass_VOID
= 0,
29 /** type class of char */
30 typelib_TypeClass_CHAR
= 1,
31 /** type class of boolean */
32 typelib_TypeClass_BOOLEAN
= 2,
33 /** type class of byte */
34 typelib_TypeClass_BYTE
= 3,
35 /** type class of short */
36 typelib_TypeClass_SHORT
= 4,
37 /** type class of unsigned short */
38 typelib_TypeClass_UNSIGNED_SHORT
= 5,
39 /** type class of long */
40 typelib_TypeClass_LONG
= 6,
41 /** type class of unsigned long */
42 typelib_TypeClass_UNSIGNED_LONG
= 7,
43 /** type class of hyper */
44 typelib_TypeClass_HYPER
= 8,
45 /** type class of unsigned hyper */
46 typelib_TypeClass_UNSIGNED_HYPER
= 9,
47 /** type class of float */
48 typelib_TypeClass_FLOAT
= 10,
49 /** type class of double */
50 typelib_TypeClass_DOUBLE
= 11,
51 /** type class of string */
52 typelib_TypeClass_STRING
= 12,
53 /** type class of type */
54 typelib_TypeClass_TYPE
= 13,
55 /** type class of any */
56 typelib_TypeClass_ANY
= 14,
57 /** type class of enum */
58 typelib_TypeClass_ENUM
= 15,
59 /** type class of typedef */
60 typelib_TypeClass_TYPEDEF
= 16,
61 /** type class of struct */
62 typelib_TypeClass_STRUCT
= 17,
63 /** Deprecated, UNOIDL does not have a union concept.
67 typelib_TypeClass_UNION
= 18,
68 /** type class of exception */
69 typelib_TypeClass_EXCEPTION
= 19,
70 /** type class of sequence */
71 typelib_TypeClass_SEQUENCE
= 20,
72 /** Deprecated, UNOIDL does not have an array concept.
76 typelib_TypeClass_ARRAY
= 21,
77 /** type class of interface */
78 typelib_TypeClass_INTERFACE
= 22,
79 /** type class of service (not implemented) */
80 typelib_TypeClass_SERVICE
= 23,
81 /** type class of module (not implemented) */
82 typelib_TypeClass_MODULE
= 24,
83 /** type class of interface method */
84 typelib_TypeClass_INTERFACE_METHOD
= 25,
85 /** type class of interface attribute */
86 typelib_TypeClass_INTERFACE_ATTRIBUTE
= 26,
87 /** type class of unknown type */
88 typelib_TypeClass_UNKNOWN
= 27,
89 /** type class of properties */
90 typelib_TypeClass_PROPERTY
= 28,
91 /** type class of constants */
92 typelib_TypeClass_CONSTANT
= 29,
93 /** type class of constants groups */
94 typelib_TypeClass_CONSTANTS
= 30,
95 /** type class of singletons */
96 typelib_TypeClass_SINGLETON
= 31,
97 /** fixing enum size */
98 typelib_TypeClass_MAKE_FIXED_SIZE
= SAL_MAX_ENUM
103 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */