Line data Source code
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_REFLTYPE_HXX
21 : #define INCLUDED_REGISTRY_REFLTYPE_HXX
22 :
23 : #include <registry/types.h>
24 : #include <sal/types.h>
25 :
26 : /** specifies the type source of a binary type blob.
27 :
28 : Currently only RT_UNO_IDL type is used.
29 : */
30 : enum RTTypeSource
31 : {
32 : RT_UNO_IDL,
33 : RT_CORBA_IDL,
34 : RT_JAVA
35 : };
36 :
37 : /** specifies a helper class for const values.
38 :
39 : This class is used for easy handling of constants or enum values
40 : as fields in binary type blob.
41 : */
42 : class RTConstValue
43 : {
44 : public:
45 : /// stores the type of the constant value.
46 : RTValueType m_type;
47 : /// stores the value of the constant.
48 : RTConstValueUnion m_value;
49 :
50 : /// Default constructor.
51 346 : RTConstValue()
52 346 : : m_type(RT_TYPE_NONE)
53 : {
54 346 : m_value.aDouble = 0.0;
55 346 : }
56 :
57 : /// Destructor
58 346 : ~RTConstValue() {}
59 : };
60 :
61 : /** deprecated.
62 :
63 : An earlier version of UNO used an unique identifier for interfaces. In the
64 : current version of UNO this uik was eliminated and this type is not longer used.
65 : */
66 : struct RTUik
67 : {
68 : sal_uInt32 m_Data1;
69 : sal_uInt16 m_Data2;
70 : sal_uInt16 m_Data3;
71 : sal_uInt32 m_Data4;
72 : sal_uInt32 m_Data5;
73 : };
74 :
75 : /// specifies the calling convention for type reader/writer api
76 : #define TYPEREG_CALLTYPE SAL_CALL
77 :
78 : #endif
79 :
80 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|