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#pragma once
21
22#include <sal/types.h>
24
31{
36
41
46
51
56
61
66
72
77
80
85
90
92
105 RT_TYPE_PUBLISHED = 0x4000
107};
108
133{
134 NONE = 0x0000,
136 INVALID = 0x0000,
138 READONLY = 0x0001,
140 OPTIONAL = 0x0002,
142 MAYBEVOID = 0x0004,
144 BOUND = 0x0008,
146 CONSTRAINED = 0x0010,
148 TRANSIENT = 0x0020,
150 MAYBEAMBIGUOUS = 0x0040,
152 MAYBEDEFAULT = 0x0080,
154 REMOVABLE = 0x0100,
156 ATTRIBUTE = 0x0200,
158 PROPERTY = 0x0400,
160 CONST = 0x0800,
162 READWRITE = 0x1000,
164 DEFAULT = 0x2000,
174 PARAMETERIZED_TYPE = 0x4000,
183 PUBLISHED = 0x8000,
184
185};
186namespace o3tl
187{
188template <> struct typed_flags<RTFieldAccess> : is_typed_flags<RTFieldAccess, 0xffff>
189{
190};
191}
192
198{
212
216 bool aBool;
218 sal_Int16 aShort;
219 sal_uInt16 aUShort;
220 sal_Int32 aLong;
221 sal_uInt32 aULong;
222 sal_Int64 aHyper;
223 sal_uInt64 aUHyper;
224 float aFloat;
225 double aDouble;
227};
228
234enum class RTMethodMode
235{
237 INVALID,
238
240 ONEWAY,
241
244
246 TWOWAY,
247
250
258
266};
267
274{
277
280
283
286
297 RT_PARAM_REST = 4
299
303{
305 INVALID,
306
310 SUPPORTS,
311
315 OBSERVES,
316
320 EXPORTS,
321
326 NEEDS,
327
334};
335
336/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
const bool READONLY
NONE
INVALID
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:303
@ 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:274
@ RT_PARAM_INVALID
indicates an invalid parameter mode
Definition: types.hxx:276
@ RT_PARAM_INOUT
indicates a in and out parameter which is used also by reference
Definition: types.hxx:285
@ RT_PARAM_REST
Indicates a rest parameter (currently only valid for service constructors).
Definition: types.hxx:297
@ RT_PARAM_IN
indicates a pure in parameter which is used by value
Definition: types.hxx:279
@ RT_PARAM_OUT
indicates a pure out parameter which is used by reference
Definition: types.hxx:282
RTValueType
specifies the type of a field value.
Definition: types.hxx:198
@ RT_TYPE_BYTE
Definition: types.hxx:201
@ RT_TYPE_FLOAT
Definition: types.hxx:208
@ RT_TYPE_INT64
Definition: types.hxx:206
@ RT_TYPE_INT32
Definition: types.hxx:204
@ RT_TYPE_DOUBLE
Definition: types.hxx:209
@ RT_TYPE_NONE
Definition: types.hxx:199
@ RT_TYPE_UINT16
Definition: types.hxx:203
@ RT_TYPE_BOOL
Definition: types.hxx:200
@ RT_TYPE_STRING
Definition: types.hxx:210
@ RT_TYPE_UINT64
Definition: types.hxx:207
@ RT_TYPE_UINT32
Definition: types.hxx:205
@ RT_TYPE_INT16
Definition: types.hxx:202
RTFieldAccess
specifies the type for the field access.
Definition: types.hxx:133
@ 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:235
@ 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:31
@ RT_TYPE_INVALID
specifies that the structure of the given blob is unknown and can't be read.
Definition: types.hxx:35
@ RT_TYPE_INTERFACE
specifies that the blob represents an interface type.
Definition: types.hxx:40
@ RT_TYPE_OBJECT
deprecated, not used.
Definition: types.hxx:79
@ RT_TYPE_MODULE
specifies that the blob represents a module type.
Definition: types.hxx:45
@ RT_TYPE_UNION
Definition: types.hxx:89
@ RT_TYPE_CONSTANTS
specifies that the blob represents a constants type.
Definition: types.hxx:84
@ RT_TYPE_STRUCT
specifies that the blob represents a struct type.
Definition: types.hxx:50
@ RT_TYPE_SINGLETON
specifies that the blob represents a singleton type (a named object) which refers exactly one existin...
Definition: types.hxx:76
@ RT_TYPE_SERVICE
specifies that the blob represents a service type.
Definition: types.hxx:71
@ RT_TYPE_EXCEPTION
specifies that the blob represents an exception type.
Definition: types.hxx:60
@ RT_TYPE_ENUM
specifies that the blob represents an enum type.
Definition: types.hxx:55
@ RT_TYPE_TYPEDEF
specifies that the blob represents a typedef type.
Definition: types.hxx:65
specifies a variable container for field values.
Definition: types.hxx:215
sal_uInt32 aULong
Definition: types.hxx:221
sal_uInt64 aUHyper
Definition: types.hxx:223
sal_Int8 aByte
Definition: types.hxx:217
double aDouble
Definition: types.hxx:225
sal_uInt16 aUShort
Definition: types.hxx:219
sal_Unicode const * aString
Definition: types.hxx:226
sal_Int16 aShort
Definition: types.hxx:218
sal_Int64 aHyper
Definition: types.hxx:222
sal_Int32 aLong
Definition: types.hxx:220