Version 5.4.3.2, tag libreoffice-5.4.3.2
[LibreOffice.git] / include / registry / refltype.hxx
blobce8abb3a2c7c90820e455b492a881b5ee939ea34
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;
58 /** deprecated.
60 An earlier version of UNO used an unique identifier for interfaces. In the
61 current version of UNO this uik was eliminated and this type is no longer used.
63 struct RTUik
65 sal_uInt32 m_Data1;
66 sal_uInt16 m_Data2;
67 sal_uInt16 m_Data3;
68 sal_uInt32 m_Data4;
69 sal_uInt32 m_Data5;
72 /// specifies the calling convention for type reader/writer api
73 #define TYPEREG_CALLTYPE SAL_CALL
75 #endif
77 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */