LibreOffice Module registry (master) 1
types.hxx
Go to the documentation of this file.
1/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2/*
3 * This file is part of the LibreOffice project.
4 *
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/.
8 *
9 * This file incorporates work covered by the following license notice:
10 *
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 .
18 */
19
20#ifndef INCLUDED_REGISTRY_TYPES_H
21#define INCLUDED_REGISTRY_TYPES_H
22
23#include <sal/types.h>
25
32{
37
42
47
52
57
62
67
73
78
81
86
91
93
106 RT_TYPE_PUBLISHED = 0x4000
108};
109
134{
135 NONE = 0x0000,
137 INVALID = 0x0000,
139 READONLY = 0x0001,
141 OPTIONAL = 0x0002,
143 MAYBEVOID = 0x0004,
145 BOUND = 0x0008,
147 CONSTRAINED = 0x0010,
149 TRANSIENT = 0x0020,
151 MAYBEAMBIGUOUS = 0x0040,
153 MAYBEDEFAULT = 0x0080,
155 REMOVABLE = 0x0100,
157 ATTRIBUTE = 0x0200,
159 PROPERTY = 0x0400,
161 CONST = 0x0800,
163 READWRITE = 0x1000,
165 DEFAULT = 0x2000,
175 PARAMETERIZED_TYPE = 0x4000,
184 PUBLISHED = 0x8000,
185
186};
187namespace o3tl
188{
189template <> struct typed_flags<RTFieldAccess> : is_typed_flags<RTFieldAccess, 0xffff>
190{
191};
192}
193
199{
213
217 bool aBool;
219 sal_Int16 aShort;
220 sal_uInt16 aUShort;
221 sal_Int32 aLong;
222 sal_uInt32 aULong;
223 sal_Int64 aHyper;
224 sal_uInt64 aUHyper;
225 float aFloat;
226 double aDouble;
228};
229
235enum class RTMethodMode
236{
238 INVALID,
239
241 ONEWAY,
242
245
247 TWOWAY,
248
251
259
267};
268
275{
278
281
284
287
298 RT_PARAM_REST = 4
300
304{
306 INVALID,
307
311 SUPPORTS,
312
316 OBSERVES,
317
321 EXPORTS,
322
327 NEEDS,
328
335};
336
337#endif
338
339/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
#define INVALID
const bool READONLY
NONE
PROPERTY
ATTRIBUTE
sal_uInt16 sal_Unicode
signed char sal_Int8
RTReferenceType
specifies the type of a reference used in a service description.
Definition: types.hxx:304
@ TYPE_PARAMETER
Indicates a type parameter of a polymorphic struct type template.
@ EXPORTS
the service exports the specified service that means this service provides also the specified service...
@ SUPPORTS
the service support the interface that means an implementation of this service must implement this in...
RTParamMode
specifies the mode of a parameter.
Definition: types.hxx:275
@ RT_PARAM_INVALID
indicates an invalid parameter mode
Definition: types.hxx:277
@ RT_PARAM_INOUT
indicates a in and out parameter which is used also by reference
Definition: types.hxx:286
@ RT_PARAM_REST
Indicates a rest parameter (currently only valid for service constructors).
Definition: types.hxx:298
@ RT_PARAM_IN
indicates a pure in parameter which is used by value
Definition: types.hxx:280
@ RT_PARAM_OUT
indicates a pure out parameter which is used by reference
Definition: types.hxx:283
RTValueType
specifies the type of a field value.
Definition: types.hxx:199
@ RT_TYPE_BYTE
Definition: types.hxx:202
@ RT_TYPE_FLOAT
Definition: types.hxx:209
@ RT_TYPE_INT64
Definition: types.hxx:207
@ RT_TYPE_INT32
Definition: types.hxx:205
@ RT_TYPE_DOUBLE
Definition: types.hxx:210
@ RT_TYPE_NONE
Definition: types.hxx:200
@ RT_TYPE_UINT16
Definition: types.hxx:204
@ RT_TYPE_BOOL
Definition: types.hxx:201
@ RT_TYPE_STRING
Definition: types.hxx:211
@ RT_TYPE_UINT64
Definition: types.hxx:208
@ RT_TYPE_UINT32
Definition: types.hxx:206
@ RT_TYPE_INT16
Definition: types.hxx:203
RTFieldAccess
specifies the type for the field access.
Definition: types.hxx:134
@ OPTIONAL
specifies a property as optional that means that it must not be implemented.
@ PUBLISHED
Flag for published individual constants.
@ PARAMETERIZED_TYPE
Indicates that a member of a polymorphic struct type template is of a parameterized type.
@ CONST
specifies that the field is a constant or enum value
RTMethodMode
specifies the mode of a method.
Definition: types.hxx:236
@ ATTRIBUTE_GET
Indicates an extended attribute getter (that has a 'raises' clause) of an interface type.
@ ATTRIBUTE_SET
Indicates an extended attribute setter (that has a 'raises' clause) of an interface type.
@ ONEWAY
indicates the asynchronous mode of a method
@ TWOWAY
indicated the synchronous mode of a method
RTTypeClass
specifies the typeclass of a binary type blob.
Definition: types.hxx:32
@ RT_TYPE_INVALID
specifies that the structure of the given blob is unknown and can't be read.
Definition: types.hxx:36
@ RT_TYPE_INTERFACE
specifies that the blob represents an interface type.
Definition: types.hxx:41
@ RT_TYPE_OBJECT
deprecated, not used.
Definition: types.hxx:80
@ RT_TYPE_MODULE
specifies that the blob represents a module type.
Definition: types.hxx:46
@ RT_TYPE_UNION
Definition: types.hxx:90
@ RT_TYPE_CONSTANTS
specifies that the blob represents a constants type.
Definition: types.hxx:85
@ RT_TYPE_STRUCT
specifies that the blob represents a struct type.
Definition: types.hxx:51
@ RT_TYPE_SINGLETON
specifies that the blob represents a singleton type (a named object) which refers exactly one existin...
Definition: types.hxx:77
@ RT_TYPE_SERVICE
specifies that the blob represents a service type.
Definition: types.hxx:72
@ RT_TYPE_EXCEPTION
specifies that the blob represents an exception type.
Definition: types.hxx:61
@ RT_TYPE_ENUM
specifies that the blob represents an enum type.
Definition: types.hxx:56
@ RT_TYPE_TYPEDEF
specifies that the blob represents a typedef type.
Definition: types.hxx:66
specifies a variable container for field values.
Definition: types.hxx:216
sal_uInt32 aULong
Definition: types.hxx:222
sal_uInt64 aUHyper
Definition: types.hxx:224
sal_Int8 aByte
Definition: types.hxx:218
double aDouble
Definition: types.hxx:226
sal_uInt16 aUShort
Definition: types.hxx:220
sal_Unicode const * aString
Definition: types.hxx:227
sal_Int16 aShort
Definition: types.hxx:219
sal_Int64 aHyper
Definition: types.hxx:223
sal_Int32 aLong
Definition: types.hxx:221