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 .
21 * This file is part of LibreOffice published API.
23 #ifndef INCLUDED_TYPELIB_TYPECLASS_H
24 #define INCLUDED_TYPELIB_TYPECLASS_H
26 #include "sal/types.h"
28 /** This type class enum is binary compatible with the IDL enum com.sun.star.uno.TypeClass.
30 typedef enum _typelib_TypeClass
{
31 /** type class of void */
32 typelib_TypeClass_VOID
= 0,
33 /** type class of char */
34 typelib_TypeClass_CHAR
= 1,
35 /** type class of boolean */
36 typelib_TypeClass_BOOLEAN
= 2,
37 /** type class of byte */
38 typelib_TypeClass_BYTE
= 3,
39 /** type class of short */
40 typelib_TypeClass_SHORT
= 4,
41 /** type class of unsigned short */
42 typelib_TypeClass_UNSIGNED_SHORT
= 5,
43 /** type class of long */
44 typelib_TypeClass_LONG
= 6,
45 /** type class of unsigned long */
46 typelib_TypeClass_UNSIGNED_LONG
= 7,
47 /** type class of hyper */
48 typelib_TypeClass_HYPER
= 8,
49 /** type class of unsigned hyper */
50 typelib_TypeClass_UNSIGNED_HYPER
= 9,
51 /** type class of float */
52 typelib_TypeClass_FLOAT
= 10,
53 /** type class of double */
54 typelib_TypeClass_DOUBLE
= 11,
55 /** type class of string */
56 typelib_TypeClass_STRING
= 12,
57 /** type class of type */
58 typelib_TypeClass_TYPE
= 13,
59 /** type class of any */
60 typelib_TypeClass_ANY
= 14,
61 /** type class of enum */
62 typelib_TypeClass_ENUM
= 15,
63 /** type class of typedef */
64 typelib_TypeClass_TYPEDEF
= 16,
65 /** type class of struct */
66 typelib_TypeClass_STRUCT
= 17,
67 /** Deprecated, UNOIDL does not have a union concept.
71 typelib_TypeClass_UNION
= 18,
72 /** type class of exception */
73 typelib_TypeClass_EXCEPTION
= 19,
74 /** type class of sequence */
75 typelib_TypeClass_SEQUENCE
= 20,
76 /** Deprecated, UNOIDL does not have an array concept.
80 typelib_TypeClass_ARRAY
= 21,
81 /** type class of interface */
82 typelib_TypeClass_INTERFACE
= 22,
83 /** type class of service (not implemented) */
84 typelib_TypeClass_SERVICE
= 23,
85 /** type class of module (not implemented) */
86 typelib_TypeClass_MODULE
= 24,
87 /** type class of interface method */
88 typelib_TypeClass_INTERFACE_METHOD
= 25,
89 /** type class of interface attribute */
90 typelib_TypeClass_INTERFACE_ATTRIBUTE
= 26,
91 /** type class of unknown type */
92 typelib_TypeClass_UNKNOWN
= 27,
93 /** type class of properties */
94 typelib_TypeClass_PROPERTY
= 28,
95 /** type class of constants */
96 typelib_TypeClass_CONSTANT
= 29,
97 /** type class of constants groups */
98 typelib_TypeClass_CONSTANTS
= 30,
99 /** type class of singletons */
100 typelib_TypeClass_SINGLETON
= 31,
101 /** fixing enum size */
102 typelib_TypeClass_MAKE_FIXED_SIZE
= SAL_MAX_ENUM
107 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */