xref: /trunk/main/registry/inc/registry/refltype.hxx (revision 5a5f4a75)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _REGISTRY_REFLTYPE_HXX_
25 #define _REGISTRY_REFLTYPE_HXX_
26 
27 #include "registry/types.h"
28 #include <sal/types.h>
29 
30 /** specifies the type source of a binary type blob.
31 
32     Currently only RT_UNO_IDL type is used.
33  */
34 enum RTTypeSource
35 {
36 	RT_UNO_IDL,
37 	RT_CORBA_IDL,
38 	RT_JAVA
39 };
40 
41 /** specifies a helper class for const values.
42 
43     This class is used for easy handling of constants or enum values
44     as fields in binary type blob.
45  */
46 class RTConstValue
47 {
48 public:
49     /// stores the type of the constant value.
50 	RTValueType 		m_type;
51     /// stores the value of the constant.
52 	RTConstValueUnion m_value;
53 
54     /// Default constructor.
RTConstValue()55 	RTConstValue()
56 		: m_type(RT_TYPE_NONE)
57 	{
58 		m_value.aDouble = 0.0;
59 	}
60 
61     /// Destructor
~RTConstValue()62 	~RTConstValue() {}
63 };
64 
65 /** deprecated.
66 
67     An earlier version of UNO used an unique identifier for interfaces. In the
68     current version of UNO this uik was eliminated and this type is not longer used.
69  */
70 struct RTUik
71 {
72     sal_uInt32 m_Data1;
73     sal_uInt16 m_Data2;
74     sal_uInt16 m_Data3;
75     sal_uInt32 m_Data4;
76     sal_uInt32 m_Data5;
77 };
78 
79 /// specifies the calling onvention for type reader/wrter api
80 #define TYPEREG_CALLTYPE	SAL_CALL
81 
82 #endif
83