1*5a5f4a75SAndrew Rist /**************************************************************
2cdf0e10cSrcweir *
3*5a5f4a75SAndrew Rist * Licensed to the Apache Software Foundation (ASF) under one
4*5a5f4a75SAndrew Rist * or more contributor license agreements. See the NOTICE file
5*5a5f4a75SAndrew Rist * distributed with this work for additional information
6*5a5f4a75SAndrew Rist * regarding copyright ownership. The ASF licenses this file
7*5a5f4a75SAndrew Rist * to you under the Apache License, Version 2.0 (the
8*5a5f4a75SAndrew Rist * "License"); you may not use this file except in compliance
9*5a5f4a75SAndrew Rist * with the License. You may obtain a copy of the License at
10*5a5f4a75SAndrew Rist *
11*5a5f4a75SAndrew Rist * http://www.apache.org/licenses/LICENSE-2.0
12*5a5f4a75SAndrew Rist *
13*5a5f4a75SAndrew Rist * Unless required by applicable law or agreed to in writing,
14*5a5f4a75SAndrew Rist * software distributed under the License is distributed on an
15*5a5f4a75SAndrew Rist * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*5a5f4a75SAndrew Rist * KIND, either express or implied. See the License for the
17*5a5f4a75SAndrew Rist * specific language governing permissions and limitations
18*5a5f4a75SAndrew Rist * under the License.
19*5a5f4a75SAndrew Rist *
20*5a5f4a75SAndrew Rist *************************************************************/
21*5a5f4a75SAndrew Rist
22*5a5f4a75SAndrew Rist
23cdf0e10cSrcweir
24cdf0e10cSrcweir #ifndef _REGISTRY_REFLREAD_HXX_
25cdf0e10cSrcweir #define _REGISTRY_REFLREAD_HXX_
26cdf0e10cSrcweir
27cdf0e10cSrcweir #include <registry/refltype.hxx>
28cdf0e10cSrcweir #include <registry/regtype.h>
29cdf0e10cSrcweir #include <rtl/ustring.hxx>
30cdf0e10cSrcweir
31cdf0e10cSrcweir /// Implememetation handle
32cdf0e10cSrcweir typedef void* TypeReaderImpl;
33cdf0e10cSrcweir
34cdf0e10cSrcweir /****************************************************************************
35cdf0e10cSrcweir
36cdf0e10cSrcweir C-Api
37cdf0e10cSrcweir
38cdf0e10cSrcweir *****************************************************************************/
39cdf0e10cSrcweir
40cdf0e10cSrcweir #ifdef __cplusplus
41cdf0e10cSrcweir extern "C" {
42cdf0e10cSrcweir #endif
43cdf0e10cSrcweir
44cdf0e10cSrcweir /** specifies a collection of function pointers which represents the complete registry type reader C-API.
45cdf0e10cSrcweir
46cdf0e10cSrcweir This funtions pointers are used by the C++ wrapper to call the C-API.
47cdf0e10cSrcweir */
48cdf0e10cSrcweir struct RegistryTypeReader_Api
49cdf0e10cSrcweir {
50cdf0e10cSrcweir TypeReaderImpl (TYPEREG_CALLTYPE *createEntry) (const sal_uInt8*, sal_uInt32, sal_Bool);
51cdf0e10cSrcweir void (TYPEREG_CALLTYPE *acquire) (TypeReaderImpl);
52cdf0e10cSrcweir void (TYPEREG_CALLTYPE *release) (TypeReaderImpl);
53cdf0e10cSrcweir sal_uInt16 (TYPEREG_CALLTYPE *getMinorVersion) (TypeReaderImpl);
54cdf0e10cSrcweir sal_uInt16 (TYPEREG_CALLTYPE *getMajorVersion) (TypeReaderImpl);
55cdf0e10cSrcweir RTTypeClass (TYPEREG_CALLTYPE *getTypeClass) (TypeReaderImpl);
56cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getUik) (TypeReaderImpl, RTUik*);
57cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getDoku) (TypeReaderImpl, rtl_uString**);
58cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getFileName) (TypeReaderImpl, rtl_uString**);
59cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getTypeName) (TypeReaderImpl, rtl_uString**);
60cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getSuperTypeName) (TypeReaderImpl, rtl_uString**);
61cdf0e10cSrcweir sal_uInt32 (TYPEREG_CALLTYPE *getFieldCount) (TypeReaderImpl);
62cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getFieldName) (TypeReaderImpl, rtl_uString**, sal_uInt16);
63cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getFieldType) (TypeReaderImpl, rtl_uString**, sal_uInt16);
64cdf0e10cSrcweir RTFieldAccess (TYPEREG_CALLTYPE *getFieldAccess) (TypeReaderImpl, sal_uInt16);
65cdf0e10cSrcweir RTValueType (TYPEREG_CALLTYPE *getFieldConstValue) (TypeReaderImpl, sal_uInt16, RTConstValueUnion*);
66cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getFieldDoku) (TypeReaderImpl, rtl_uString**, sal_uInt16);
67cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getFieldFileName) (TypeReaderImpl, rtl_uString**, sal_uInt16);
68cdf0e10cSrcweir sal_uInt32 (TYPEREG_CALLTYPE *getMethodCount) (TypeReaderImpl);
69cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getMethodName) (TypeReaderImpl, rtl_uString**, sal_uInt16);
70cdf0e10cSrcweir sal_uInt32 (TYPEREG_CALLTYPE *getMethodParamCount) (TypeReaderImpl, sal_uInt16);
71cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getMethodParamType) (TypeReaderImpl, rtl_uString**, sal_uInt16, sal_uInt16);
72cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getMethodParamName) (TypeReaderImpl, rtl_uString**, sal_uInt16, sal_uInt16);
73cdf0e10cSrcweir RTParamMode (TYPEREG_CALLTYPE *getMethodParamMode) (TypeReaderImpl, sal_uInt16, sal_uInt16);
74cdf0e10cSrcweir sal_uInt32 (TYPEREG_CALLTYPE *getMethodExcCount) (TypeReaderImpl, sal_uInt16);
75cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getMethodExcType) (TypeReaderImpl, rtl_uString**, sal_uInt16, sal_uInt16);
76cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getMethodReturnType) (TypeReaderImpl, rtl_uString**, sal_uInt16);
77cdf0e10cSrcweir RTMethodMode (TYPEREG_CALLTYPE *getMethodMode) (TypeReaderImpl, sal_uInt16);
78cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getMethodDoku) (TypeReaderImpl, rtl_uString**, sal_uInt16);
79cdf0e10cSrcweir
80cdf0e10cSrcweir sal_uInt32 (TYPEREG_CALLTYPE *getReferenceCount) (TypeReaderImpl);
81cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getReferenceName) (TypeReaderImpl, rtl_uString**, sal_uInt16);
82cdf0e10cSrcweir RTReferenceType (TYPEREG_CALLTYPE *getReferenceType) (TypeReaderImpl, sal_uInt16);
83cdf0e10cSrcweir void (TYPEREG_CALLTYPE *getReferenceDoku) (TypeReaderImpl, rtl_uString**, sal_uInt16);
84cdf0e10cSrcweir RTFieldAccess (TYPEREG_CALLTYPE *getReferenceAccess) (TypeReaderImpl, sal_uInt16);
85cdf0e10cSrcweir };
86cdf0e10cSrcweir
87cdf0e10cSrcweir /** the API initialization function.
88cdf0e10cSrcweir */
89cdf0e10cSrcweir RegistryTypeReader_Api* TYPEREG_CALLTYPE initRegistryTypeReader_Api(void);
90cdf0e10cSrcweir
91cdf0e10cSrcweir #ifdef __cplusplus
92cdf0e10cSrcweir }
93cdf0e10cSrcweir #endif
94cdf0e10cSrcweir
95cdf0e10cSrcweir /** RegistryTypeReades reads a binary type blob.
96cdf0e10cSrcweir
97cdf0e10cSrcweir This class provides the necessary functions to read type informations
98cdf0e10cSrcweir for all kinds of types of a type blob.
99cdf0e10cSrcweir The class is inline and use a C-Api.
100cdf0e10cSrcweir
101cdf0e10cSrcweir @deprecated
102cdf0e10cSrcweir use typereg::Reader instead
103cdf0e10cSrcweir */
104cdf0e10cSrcweir class RegistryTypeReader
105cdf0e10cSrcweir {
106cdf0e10cSrcweir public:
107cdf0e10cSrcweir
108cdf0e10cSrcweir /** Constructor.
109cdf0e10cSrcweir
110cdf0e10cSrcweir @param buffer points to the binary data block.
111cdf0e10cSrcweir @param bufferlen specifies the size of the binary data block.
112cdf0e10cSrcweir @param copyData specifies if the data block should be copied.
113cdf0e10cSrcweir The block can be copied to ensure that the data
114cdf0e10cSrcweir is valid for the lifetime of this instance.
115cdf0e10cSrcweir */
116cdf0e10cSrcweir inline RegistryTypeReader(const sal_uInt8* buffer,
117cdf0e10cSrcweir sal_uInt32 bufferLen,
118cdf0e10cSrcweir sal_Bool copyData);
119cdf0e10cSrcweir
120cdf0e10cSrcweir /// Copy constructcor
121cdf0e10cSrcweir inline RegistryTypeReader(const RegistryTypeReader& toCopy);
122cdf0e10cSrcweir
123cdf0e10cSrcweir /// Destructor. The Destructor frees the data block if the copyData flag was TRUE.
124cdf0e10cSrcweir inline ~RegistryTypeReader();
125cdf0e10cSrcweir
126cdf0e10cSrcweir /// Assign operator
127cdf0e10cSrcweir inline RegistryTypeReader& operator == (const RegistryTypeReader& toAssign);
128cdf0e10cSrcweir
129cdf0e10cSrcweir /// checks if the registry type reader points to a valid Api.
130cdf0e10cSrcweir inline sal_Bool isValid() const;
131cdf0e10cSrcweir
132cdf0e10cSrcweir /** @deprecated
133cdf0e10cSrcweir returns the minor version number.
134cdf0e10cSrcweir
135cdf0e10cSrcweir We currently don't support a versioning concept of IDL interfaces and
136cdf0e10cSrcweir so this function is currently not used.
137cdf0e10cSrcweir */
138cdf0e10cSrcweir inline sal_uInt16 getMinorVersion() const;
139cdf0e10cSrcweir
140cdf0e10cSrcweir /** @deprecated
141cdf0e10cSrcweir returns the major version number.
142cdf0e10cSrcweir
143cdf0e10cSrcweir We currently don't support a versioning concept of IDL interfaces and
144cdf0e10cSrcweir so this function is currently not used.
145cdf0e10cSrcweir */
146cdf0e10cSrcweir inline sal_uInt16 getMajorVersion() const;
147cdf0e10cSrcweir
148cdf0e10cSrcweir /** returns the typeclass of the type represented by this blob.
149cdf0e10cSrcweir
150cdf0e10cSrcweir This function will always return the type class without the internal
151cdf0e10cSrcweir RT_TYPE_PUBLISHED flag set.
152cdf0e10cSrcweir */
153cdf0e10cSrcweir inline RTTypeClass getTypeClass() const;
154cdf0e10cSrcweir
155cdf0e10cSrcweir /** returns the full qualified name of the type.
156cdf0e10cSrcweir */
157cdf0e10cSrcweir inline ::rtl::OUString getTypeName() const;
158cdf0e10cSrcweir
159cdf0e10cSrcweir /** returns the full qualified name of the supertype.
160cdf0e10cSrcweir */
161cdf0e10cSrcweir inline ::rtl::OUString getSuperTypeName() const;
162cdf0e10cSrcweir
163cdf0e10cSrcweir /** @deprecated
164cdf0e10cSrcweir returns the unique identifier for an interface type as an out parameter.
165cdf0e10cSrcweir
166cdf0e10cSrcweir An earlier version of UNO used an unique identifier for interfaces. In the
167cdf0e10cSrcweir current version of UNO this uik was eliminated and this function is
168cdf0e10cSrcweir not longer used.
169cdf0e10cSrcweir */
170cdf0e10cSrcweir inline void getUik(RTUik& uik) const;
171cdf0e10cSrcweir
172cdf0e10cSrcweir /** returns the documentation string of this type.
173cdf0e10cSrcweir */
174cdf0e10cSrcweir inline ::rtl::OUString getDoku() const;
175cdf0e10cSrcweir
176cdf0e10cSrcweir /** returns the IDL filename where the type is defined.
177cdf0e10cSrcweir */
178cdf0e10cSrcweir inline ::rtl::OUString getFileName() const;
179cdf0e10cSrcweir
180cdf0e10cSrcweir /** returns the number of fields (attributes/properties, enum values or number
181cdf0e10cSrcweir of constants in a module).
182cdf0e10cSrcweir
183cdf0e10cSrcweir */
184cdf0e10cSrcweir inline sal_uInt32 getFieldCount() const;
185cdf0e10cSrcweir
186cdf0e10cSrcweir /** returns the name of the field specified by index.
187cdf0e10cSrcweir */
188cdf0e10cSrcweir inline ::rtl::OUString getFieldName( sal_uInt16 index ) const;
189cdf0e10cSrcweir
190cdf0e10cSrcweir /** returns the full qualified name of the field specified by index.
191cdf0e10cSrcweir */
192cdf0e10cSrcweir inline ::rtl::OUString getFieldType( sal_uInt16 index ) const;
193cdf0e10cSrcweir
194cdf0e10cSrcweir /** returns the access mode of the field specified by index.
195cdf0e10cSrcweir */
196cdf0e10cSrcweir inline RTFieldAccess getFieldAccess( sal_uInt16 index ) const;
197cdf0e10cSrcweir
198cdf0e10cSrcweir /** returns the value of the field specified by index.
199cdf0e10cSrcweir
200cdf0e10cSrcweir This function returns the value of an enum value or of a constant.
201cdf0e10cSrcweir */
202cdf0e10cSrcweir inline RTConstValue getFieldConstValue( sal_uInt16 index ) const;
203cdf0e10cSrcweir
204cdf0e10cSrcweir /** returns the documentation string for the field specified by index.
205cdf0e10cSrcweir
206cdf0e10cSrcweir Each field of a type can have their own documentation.
207cdf0e10cSrcweir */
208cdf0e10cSrcweir inline ::rtl::OUString getFieldDoku( sal_uInt16 index ) const;
209cdf0e10cSrcweir
210cdf0e10cSrcweir /** returns the IDL filename of the field specified by index.
211cdf0e10cSrcweir
212cdf0e10cSrcweir The IDL filename of a field can differ from the filename of the ype itself
213cdf0e10cSrcweir because modules and also constants can be defined in different IDL files.
214cdf0e10cSrcweir */
215cdf0e10cSrcweir inline ::rtl::OUString getFieldFileName( sal_uInt16 index ) const;
216cdf0e10cSrcweir
217cdf0e10cSrcweir /** returns the number of methods of an interface type.
218cdf0e10cSrcweir */
219cdf0e10cSrcweir inline sal_uInt32 getMethodCount() const;
220cdf0e10cSrcweir
221cdf0e10cSrcweir /** returns the name of the method specified by index.
222cdf0e10cSrcweir */
223cdf0e10cSrcweir inline ::rtl::OUString getMethodName( sal_uInt16 index ) const;
224cdf0e10cSrcweir
225cdf0e10cSrcweir /** returns number of parameters of the method specified by index.
226cdf0e10cSrcweir */
227cdf0e10cSrcweir inline sal_uInt32 getMethodParamCount( sal_uInt16 index ) const;
228cdf0e10cSrcweir
229cdf0e10cSrcweir /** returns the full qualified parameter typename.
230cdf0e10cSrcweir
231cdf0e10cSrcweir @param index indicates the method
232cdf0e10cSrcweir @param paramIndex indeciates the parameter which type will be returned.
233cdf0e10cSrcweir */
234cdf0e10cSrcweir inline ::rtl::OUString getMethodParamType( sal_uInt16 index, sal_uInt16 paramIndex ) const;
235cdf0e10cSrcweir
236cdf0e10cSrcweir /** returns the name of a parameter.
237cdf0e10cSrcweir
238cdf0e10cSrcweir @param index indicates the method
239cdf0e10cSrcweir @param paramIndex indiciates the parameter which name will be returned.
240cdf0e10cSrcweir */
241cdf0e10cSrcweir inline ::rtl::OUString getMethodParamName( sal_uInt16 index, sal_uInt16 paramIndex ) const;
242cdf0e10cSrcweir
243cdf0e10cSrcweir /** returns the parameter mode, if it is an in, out or inout parameter.
244cdf0e10cSrcweir
245cdf0e10cSrcweir @param index indicates the method
246cdf0e10cSrcweir @param paramIndex indeciates the parameter which mode will be returned.
247cdf0e10cSrcweir */
248cdf0e10cSrcweir inline RTParamMode getMethodParamMode( sal_uInt16 index, sal_uInt16 paramIndex ) const;
249cdf0e10cSrcweir
250cdf0e10cSrcweir /** returns the number of exceptions which are declared for the method specified by index.
251cdf0e10cSrcweir
252cdf0e10cSrcweir @param index indicates the method
253cdf0e10cSrcweir */
254cdf0e10cSrcweir inline sal_uInt32 getMethodExcCount( sal_uInt16 index ) const;
255cdf0e10cSrcweir
256cdf0e10cSrcweir /** returns the full qualified exception type of the specified exception.
257cdf0e10cSrcweir
258cdf0e10cSrcweir @param index indicates the method
259cdf0e10cSrcweir @param paramIndex indeciates the exception which typename will be returned.
260cdf0e10cSrcweir */
261cdf0e10cSrcweir inline ::rtl::OUString getMethodExcType( sal_uInt16 index, sal_uInt16 excIndex ) const;
262cdf0e10cSrcweir
263cdf0e10cSrcweir /** returns the full qualified return type of the method specified by index.
264cdf0e10cSrcweir */
265cdf0e10cSrcweir inline ::rtl::OUString getMethodReturnType( sal_uInt16 index ) const;
266cdf0e10cSrcweir
267cdf0e10cSrcweir /** returns the full qualified exception type of the specified exception.
268cdf0e10cSrcweir
269cdf0e10cSrcweir @param index indicates the method
270cdf0e10cSrcweir @param paramIndex indeciates the exception which typename will be returned.
271cdf0e10cSrcweir */
272cdf0e10cSrcweir inline RTMethodMode getMethodMode( sal_uInt16 index ) const;
273cdf0e10cSrcweir
274cdf0e10cSrcweir /** returns the documentation string of the method specified by index.
275cdf0e10cSrcweir
276cdf0e10cSrcweir @param index indicates the method.
277cdf0e10cSrcweir */
278cdf0e10cSrcweir inline ::rtl::OUString getMethodDoku( sal_uInt16 index ) const;
279cdf0e10cSrcweir
280cdf0e10cSrcweir /** returns the number of references (supported interfaces, exported services).
281cdf0e10cSrcweir */
282cdf0e10cSrcweir inline sal_uInt32 getReferenceCount() const;
283cdf0e10cSrcweir
284cdf0e10cSrcweir /** returns the full qualified typename of the reference specified by index.
285cdf0e10cSrcweir
286cdf0e10cSrcweir @param index indicates the reference.
287cdf0e10cSrcweir */
288cdf0e10cSrcweir inline ::rtl::OUString getReferenceName( sal_uInt16 index ) const;
289cdf0e10cSrcweir
290cdf0e10cSrcweir /** returns the type of the reference specified by index.
291cdf0e10cSrcweir
292cdf0e10cSrcweir @param index indicates the reference.
293cdf0e10cSrcweir */
294cdf0e10cSrcweir inline RTReferenceType getReferenceType( sal_uInt16 index ) const;
295cdf0e10cSrcweir
296cdf0e10cSrcweir /** returns the documentation string of the reference specified by index.
297cdf0e10cSrcweir
298cdf0e10cSrcweir @param index indicates the reference.
299cdf0e10cSrcweir */
300cdf0e10cSrcweir inline ::rtl::OUString getReferenceDoku( sal_uInt16 index ) const;
301cdf0e10cSrcweir
302cdf0e10cSrcweir /** returns the access mode of the reference specified by index.
303cdf0e10cSrcweir
304cdf0e10cSrcweir The only valid value is RT_ACCESS_OPTIONAL in the context of
305cdf0e10cSrcweir references.
306cdf0e10cSrcweir @param index indicates the reference.
307cdf0e10cSrcweir */
308cdf0e10cSrcweir inline RTFieldAccess getReferenceAccess( sal_uInt16 index ) const;
309cdf0e10cSrcweir
310cdf0e10cSrcweir protected:
311cdf0e10cSrcweir
312cdf0e10cSrcweir /// stores the registry type reader Api.
313cdf0e10cSrcweir const RegistryTypeReader_Api* m_pApi;
314cdf0e10cSrcweir /// stores the handle of an implementation class
315cdf0e10cSrcweir TypeReaderImpl m_hImpl;
316cdf0e10cSrcweir };
317cdf0e10cSrcweir
318cdf0e10cSrcweir
319cdf0e10cSrcweir
RegistryTypeReader(const sal_uInt8 * buffer,sal_uInt32 bufferLen,sal_Bool copyData)320cdf0e10cSrcweir inline RegistryTypeReader::RegistryTypeReader(const sal_uInt8* buffer,
321cdf0e10cSrcweir sal_uInt32 bufferLen,
322cdf0e10cSrcweir sal_Bool copyData)
323cdf0e10cSrcweir : m_pApi(initRegistryTypeReader_Api())
324cdf0e10cSrcweir , m_hImpl(NULL)
325cdf0e10cSrcweir {
326cdf0e10cSrcweir m_hImpl = m_pApi->createEntry(buffer, bufferLen, copyData);
327cdf0e10cSrcweir }
328cdf0e10cSrcweir
329cdf0e10cSrcweir
RegistryTypeReader(const RegistryTypeReader & toCopy)330cdf0e10cSrcweir inline RegistryTypeReader::RegistryTypeReader(const RegistryTypeReader& toCopy)
331cdf0e10cSrcweir : m_pApi(toCopy.m_pApi)
332cdf0e10cSrcweir , m_hImpl(toCopy.m_hImpl)
333cdf0e10cSrcweir { m_pApi->acquire(m_hImpl); }
334cdf0e10cSrcweir
335cdf0e10cSrcweir
~RegistryTypeReader()336cdf0e10cSrcweir inline RegistryTypeReader::~RegistryTypeReader()
337cdf0e10cSrcweir { m_pApi->release(m_hImpl); }
338cdf0e10cSrcweir
operator ==(const RegistryTypeReader & toAssign)339cdf0e10cSrcweir inline RegistryTypeReader& RegistryTypeReader::operator == (const RegistryTypeReader& toAssign)
340cdf0e10cSrcweir {
341cdf0e10cSrcweir if (m_hImpl != toAssign.m_hImpl)
342cdf0e10cSrcweir {
343cdf0e10cSrcweir m_pApi->release(m_hImpl);
344cdf0e10cSrcweir m_hImpl = toAssign.m_hImpl;
345cdf0e10cSrcweir m_pApi->acquire(m_hImpl);
346cdf0e10cSrcweir }
347cdf0e10cSrcweir
348cdf0e10cSrcweir return *this;
349cdf0e10cSrcweir }
350cdf0e10cSrcweir
getMinorVersion() const351cdf0e10cSrcweir inline sal_uInt16 RegistryTypeReader::getMinorVersion() const
352cdf0e10cSrcweir { return m_pApi->getMinorVersion(m_hImpl); }
353cdf0e10cSrcweir
isValid() const354cdf0e10cSrcweir inline sal_Bool RegistryTypeReader::isValid() const
355cdf0e10cSrcweir { return (m_hImpl != NULL); }
356cdf0e10cSrcweir
getMajorVersion() const357cdf0e10cSrcweir inline sal_uInt16 RegistryTypeReader::getMajorVersion() const
358cdf0e10cSrcweir { return m_pApi->getMajorVersion(m_hImpl); }
359cdf0e10cSrcweir
getTypeClass() const360cdf0e10cSrcweir inline RTTypeClass RegistryTypeReader::getTypeClass() const
361cdf0e10cSrcweir { return m_pApi->getTypeClass(m_hImpl); }
362cdf0e10cSrcweir
getTypeName() const363cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getTypeName() const
364cdf0e10cSrcweir {
365cdf0e10cSrcweir ::rtl::OUString sRet;
366cdf0e10cSrcweir m_pApi->getTypeName(m_hImpl, &sRet.pData);
367cdf0e10cSrcweir return sRet;
368cdf0e10cSrcweir }
369cdf0e10cSrcweir
getSuperTypeName() const370cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getSuperTypeName() const
371cdf0e10cSrcweir {
372cdf0e10cSrcweir ::rtl::OUString sRet;
373cdf0e10cSrcweir m_pApi->getSuperTypeName(m_hImpl, &sRet.pData);
374cdf0e10cSrcweir return sRet;
375cdf0e10cSrcweir }
376cdf0e10cSrcweir
getUik(RTUik & uik) const377cdf0e10cSrcweir inline void RegistryTypeReader::getUik(RTUik& uik) const
378cdf0e10cSrcweir { m_pApi->getUik(m_hImpl, &uik); }
379cdf0e10cSrcweir
getDoku() const380cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getDoku() const
381cdf0e10cSrcweir {
382cdf0e10cSrcweir ::rtl::OUString sRet;
383cdf0e10cSrcweir m_pApi->getDoku(m_hImpl, &sRet.pData);
384cdf0e10cSrcweir return sRet;
385cdf0e10cSrcweir }
386cdf0e10cSrcweir
getFileName() const387cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getFileName() const
388cdf0e10cSrcweir {
389cdf0e10cSrcweir ::rtl::OUString sRet;
390cdf0e10cSrcweir m_pApi->getFileName(m_hImpl, &sRet.pData);
391cdf0e10cSrcweir return sRet;
392cdf0e10cSrcweir }
393cdf0e10cSrcweir
getFieldCount() const394cdf0e10cSrcweir inline sal_uInt32 RegistryTypeReader::getFieldCount() const
395cdf0e10cSrcweir { return m_pApi->getFieldCount(m_hImpl); }
396cdf0e10cSrcweir
getFieldName(sal_uInt16 index) const397cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getFieldName( sal_uInt16 index ) const
398cdf0e10cSrcweir {
399cdf0e10cSrcweir ::rtl::OUString sRet;
400cdf0e10cSrcweir m_pApi->getFieldName(m_hImpl, &sRet.pData, index);
401cdf0e10cSrcweir return sRet;
402cdf0e10cSrcweir }
403cdf0e10cSrcweir
getFieldType(sal_uInt16 index) const404cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getFieldType( sal_uInt16 index ) const
405cdf0e10cSrcweir {
406cdf0e10cSrcweir ::rtl::OUString sRet;
407cdf0e10cSrcweir m_pApi->getFieldType(m_hImpl, &sRet.pData, index);
408cdf0e10cSrcweir return sRet;
409cdf0e10cSrcweir }
410cdf0e10cSrcweir
getFieldAccess(sal_uInt16 index) const411cdf0e10cSrcweir inline RTFieldAccess RegistryTypeReader::getFieldAccess( sal_uInt16 index ) const
412cdf0e10cSrcweir { return m_pApi->getFieldAccess(m_hImpl, index); }
413cdf0e10cSrcweir
getFieldConstValue(sal_uInt16 index) const414cdf0e10cSrcweir inline RTConstValue RegistryTypeReader::getFieldConstValue( sal_uInt16 index ) const
415cdf0e10cSrcweir {
416cdf0e10cSrcweir RTConstValue ret;
417cdf0e10cSrcweir ret.m_type = m_pApi->getFieldConstValue(m_hImpl, index, &ret.m_value);
418cdf0e10cSrcweir return ret;
419cdf0e10cSrcweir }
420cdf0e10cSrcweir
getFieldDoku(sal_uInt16 index) const421cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getFieldDoku( sal_uInt16 index ) const
422cdf0e10cSrcweir {
423cdf0e10cSrcweir ::rtl::OUString sRet;
424cdf0e10cSrcweir m_pApi->getFieldDoku(m_hImpl, &sRet.pData, index);
425cdf0e10cSrcweir return sRet;
426cdf0e10cSrcweir }
427cdf0e10cSrcweir
getFieldFileName(sal_uInt16 index) const428cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getFieldFileName( sal_uInt16 index ) const
429cdf0e10cSrcweir {
430cdf0e10cSrcweir ::rtl::OUString sRet;
431cdf0e10cSrcweir m_pApi->getFieldFileName(m_hImpl, &sRet.pData, index);
432cdf0e10cSrcweir return sRet;
433cdf0e10cSrcweir }
434cdf0e10cSrcweir
getMethodCount() const435cdf0e10cSrcweir inline sal_uInt32 RegistryTypeReader::getMethodCount() const
436cdf0e10cSrcweir { return m_pApi->getMethodCount(m_hImpl); }
437cdf0e10cSrcweir
getMethodName(sal_uInt16 index) const438cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getMethodName( sal_uInt16 index ) const
439cdf0e10cSrcweir {
440cdf0e10cSrcweir ::rtl::OUString sRet;
441cdf0e10cSrcweir m_pApi->getMethodName(m_hImpl, &sRet.pData, index);
442cdf0e10cSrcweir return sRet;
443cdf0e10cSrcweir }
444cdf0e10cSrcweir
getMethodParamCount(sal_uInt16 index) const445cdf0e10cSrcweir inline sal_uInt32 RegistryTypeReader::getMethodParamCount( sal_uInt16 index ) const
446cdf0e10cSrcweir { return m_pApi->getMethodParamCount(m_hImpl, index); }
447cdf0e10cSrcweir
getMethodParamType(sal_uInt16 index,sal_uInt16 paramIndex) const448cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getMethodParamType( sal_uInt16 index, sal_uInt16 paramIndex ) const
449cdf0e10cSrcweir {
450cdf0e10cSrcweir ::rtl::OUString sRet;
451cdf0e10cSrcweir m_pApi->getMethodParamType(m_hImpl, &sRet.pData, index, paramIndex);
452cdf0e10cSrcweir return sRet;
453cdf0e10cSrcweir }
454cdf0e10cSrcweir
getMethodParamName(sal_uInt16 index,sal_uInt16 paramIndex) const455cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getMethodParamName( sal_uInt16 index, sal_uInt16 paramIndex ) const
456cdf0e10cSrcweir {
457cdf0e10cSrcweir ::rtl::OUString sRet;
458cdf0e10cSrcweir m_pApi->getMethodParamName(m_hImpl, &sRet.pData, index, paramIndex);
459cdf0e10cSrcweir return sRet;
460cdf0e10cSrcweir }
461cdf0e10cSrcweir
getMethodParamMode(sal_uInt16 index,sal_uInt16 paramIndex) const462cdf0e10cSrcweir inline RTParamMode RegistryTypeReader::getMethodParamMode( sal_uInt16 index, sal_uInt16 paramIndex ) const
463cdf0e10cSrcweir { return m_pApi->getMethodParamMode(m_hImpl, index, paramIndex); }
464cdf0e10cSrcweir
getMethodExcCount(sal_uInt16 index) const465cdf0e10cSrcweir inline sal_uInt32 RegistryTypeReader::getMethodExcCount( sal_uInt16 index ) const
466cdf0e10cSrcweir { return m_pApi->getMethodExcCount(m_hImpl, index); }
467cdf0e10cSrcweir
getMethodExcType(sal_uInt16 index,sal_uInt16 excIndex) const468cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getMethodExcType( sal_uInt16 index, sal_uInt16 excIndex ) const
469cdf0e10cSrcweir {
470cdf0e10cSrcweir ::rtl::OUString sRet;
471cdf0e10cSrcweir m_pApi->getMethodExcType(m_hImpl, &sRet.pData, index, excIndex);
472cdf0e10cSrcweir return sRet;
473cdf0e10cSrcweir }
474cdf0e10cSrcweir
getMethodReturnType(sal_uInt16 index) const475cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getMethodReturnType( sal_uInt16 index ) const
476cdf0e10cSrcweir {
477cdf0e10cSrcweir ::rtl::OUString sRet;
478cdf0e10cSrcweir m_pApi->getMethodReturnType(m_hImpl, &sRet.pData, index);
479cdf0e10cSrcweir return sRet;
480cdf0e10cSrcweir }
481cdf0e10cSrcweir
getMethodMode(sal_uInt16 index) const482cdf0e10cSrcweir inline RTMethodMode RegistryTypeReader::getMethodMode( sal_uInt16 index ) const
483cdf0e10cSrcweir { return m_pApi->getMethodMode(m_hImpl, index); }
484cdf0e10cSrcweir
getMethodDoku(sal_uInt16 index) const485cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getMethodDoku( sal_uInt16 index ) const
486cdf0e10cSrcweir {
487cdf0e10cSrcweir ::rtl::OUString sRet;
488cdf0e10cSrcweir m_pApi->getMethodDoku(m_hImpl, &sRet.pData, index);
489cdf0e10cSrcweir return sRet;
490cdf0e10cSrcweir }
491cdf0e10cSrcweir
getReferenceCount() const492cdf0e10cSrcweir inline sal_uInt32 RegistryTypeReader::getReferenceCount() const
493cdf0e10cSrcweir { return m_pApi->getReferenceCount(m_hImpl); }
494cdf0e10cSrcweir
getReferenceName(sal_uInt16 index) const495cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getReferenceName( sal_uInt16 index ) const
496cdf0e10cSrcweir {
497cdf0e10cSrcweir ::rtl::OUString sRet;
498cdf0e10cSrcweir m_pApi->getReferenceName(m_hImpl, &sRet.pData, index);
499cdf0e10cSrcweir return sRet;
500cdf0e10cSrcweir }
501cdf0e10cSrcweir
getReferenceType(sal_uInt16 index) const502cdf0e10cSrcweir inline RTReferenceType RegistryTypeReader::getReferenceType( sal_uInt16 index ) const
503cdf0e10cSrcweir { return m_pApi->getReferenceType(m_hImpl, index); }
504cdf0e10cSrcweir
getReferenceDoku(sal_uInt16 index) const505cdf0e10cSrcweir inline ::rtl::OUString RegistryTypeReader::getReferenceDoku( sal_uInt16 index ) const
506cdf0e10cSrcweir {
507cdf0e10cSrcweir ::rtl::OUString sRet;
508cdf0e10cSrcweir m_pApi->getReferenceDoku(m_hImpl, &sRet.pData, index);
509cdf0e10cSrcweir return sRet;
510cdf0e10cSrcweir }
511cdf0e10cSrcweir
getReferenceAccess(sal_uInt16 index) const512cdf0e10cSrcweir inline RTFieldAccess RegistryTypeReader::getReferenceAccess( sal_uInt16 index ) const
513cdf0e10cSrcweir { return m_pApi->getReferenceAccess(m_hImpl, index); }
514cdf0e10cSrcweir
515cdf0e10cSrcweir #endif
516