Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / include / registry / refltype.hxx
blob3e3bedad8796e1efc165615ec2c129cc4d695f67
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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 .
20 #ifndef INCLUDED_REGISTRY_REFLTYPE_HXX
21 #define INCLUDED_REGISTRY_REFLTYPE_HXX
23 #include <registry/types.hxx>
24 #include <sal/types.h>
26 /** specifies the type source of a binary type blob.
28 Currently only RT_UNO_IDL type is used.
30 enum RTTypeSource
32 RT_UNO_IDL,
33 RT_CORBA_IDL,
34 RT_JAVA
37 /** specifies a helper class for const values.
39 This class is used for easy handling of constants or enum values
40 as fields in binary type blob.
42 class RTConstValue
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;
50 /// Default constructor.
51 RTConstValue()
52 : m_type(RT_TYPE_NONE)
54 m_value.aDouble = 0.0;
57 /// Destructor
58 ~RTConstValue() {}
61 /** deprecated.
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.
66 struct RTUik
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;
75 /// specifies the calling convention for type reader/writer api
76 #define TYPEREG_CALLTYPE SAL_CALL
78 #endif
80 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */