summaryrefslogtreecommitdiff
path: root/registry
diff options
context:
space:
mode:
authorBjoern Michaelsen <bjoern.michaelsen@canonical.com>2013-04-18 18:26:28 +0200
committerBjoern Michaelsen <bjoern.michaelsen@canonical.com>2013-04-23 22:20:31 +0200
commitb9337e22ce1dbf2eba0e8c8db294ae99f4111f91 (patch)
tree53ee1bd3dfd213815a21579151983cb997922b05 /registry
parentf4e1642a1761d5eab6ccdd89928869c2b2f1528a (diff)
execute move of global headers
see https://gerrit.libreoffice.org/#/c/3367/ and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a
Diffstat (limited to 'registry')
-rw-r--r--registry/Module_registry.mk1
-rw-r--r--registry/Package_inc.mk43
-rw-r--r--registry/inc/registry/reader.h603
-rw-r--r--registry/inc/registry/reader.hxx624
-rw-r--r--registry/inc/registry/reflread.hxx513
-rw-r--r--registry/inc/registry/refltype.hxx80
-rw-r--r--registry/inc/registry/reflwrit.hxx350
-rw-r--r--registry/inc/registry/regdllapi.h33
-rw-r--r--registry/inc/registry/registry.h456
-rw-r--r--registry/inc/registry/registry.hxx1257
-rw-r--r--registry/inc/registry/regtype.h168
-rw-r--r--registry/inc/registry/types.h334
-rw-r--r--registry/inc/registry/version.h69
-rw-r--r--registry/inc/registry/writer.h262
-rw-r--r--registry/inc/registry/writer.hxx291
15 files changed, 0 insertions, 5084 deletions
diff --git a/registry/Module_registry.mk b/registry/Module_registry.mk
index 3d0eb9611956..d00b8858c74c 100644
--- a/registry/Module_registry.mk
+++ b/registry/Module_registry.mk
@@ -28,7 +28,6 @@ $(eval $(call gb_Module_Module,registry))
$(eval $(call gb_Module_add_targets,registry,\
Library_reg \
- Package_inc \
$(if $(filter-out $(OS),IOS), \
Executable_regmerge \
Executable_regview \
diff --git a/registry/Package_inc.mk b/registry/Package_inc.mk
deleted file mode 100644
index 6d67701bf73e..000000000000
--- a/registry/Package_inc.mk
+++ /dev/null
@@ -1,43 +0,0 @@
-# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
-# Version: MPL 1.1 / GPLv3+ / LGPLv3+
-#
-# The contents of this file are subject to the Mozilla Public License Version
-# 1.1 (the "License"); you may not use this file except in compliance with
-# the License or as specified alternatively below. You may obtain a copy of
-# the License at http://www.mozilla.org/MPL/
-#
-# Software distributed under the License is distributed on an "AS IS" basis,
-# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
-# for the specific language governing rights and limitations under the
-# License.
-#
-# Major Contributor(s):
-# Copyright (C) 2012 David Ostrovsky <d.ostrovsky@gmx.de> (initial developer)
-#
-# All Rights Reserved.
-#
-# For minor contributions see the git repository.
-#
-# Alternatively, the contents of this file may be used under the terms of
-# either the GNU General Public License Version 3 or later (the "GPLv3+"), or
-# the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
-# in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
-# instead of those above.
-
-$(eval $(call gb_Package_Package,registry_inc,$(SRCDIR)/registry/inc/registry))
-
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/reader.h,reader.h))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/reader.hxx,reader.hxx))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/reflread.hxx,reflread.hxx))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/refltype.hxx,refltype.hxx))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/reflwrit.hxx,reflwrit.hxx))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/regdllapi.h,regdllapi.h))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/registry.h,registry.h))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/registry.hxx,registry.hxx))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/regtype.h,regtype.h))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/types.h,types.h))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/version.h,version.h))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/writer.h,writer.h))
-$(eval $(call gb_Package_add_file,registry_inc,inc/registry/writer.hxx,writer.hxx))
-
-# vim: set noet sw=4 ts=4:
diff --git a/registry/inc/registry/reader.h b/registry/inc/registry/reader.h
deleted file mode 100644
index 263215a92722..000000000000
--- a/registry/inc/registry/reader.h
+++ /dev/null
@@ -1,603 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_registry_reader_h
-#define INCLUDED_registry_reader_h
-
-#include "registry/regdllapi.h"
-#include "registry/types.h"
-#include "registry/version.h"
-
-#include "rtl/ustring.h"
-#include "sal/types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Creates a type reader working on a binary blob that represents a UNOIDL type.
-
- <p>If a non-null handle is returned through <code>result</code>, its
- reference count will be one. Operations on a non-null handle are not
- multi-thread&ndash;safe.</p>
-
- @param buffer the binary blob representing the type; must point to at least
- <code>length</code> bytes, and need only be byte-aligned
-
- @param length the size in bytes of the binary blob representing the type
-
- @param copy if true, the type reader creates an internal copy of the given
- buffer, and the given buffer is not accessed after this function returns; if
- false, the type reader works directly on the given buffer, which must remain
- available unmodified until the type reader is destroyed
-
- @param maxVersion the maximum binary blob version the client is prepared to
- handle; must not be negative
-
- @param result an out-parameter obtaining a handle on the type reader; must
- not be null; if the given binary blob is malformed, or of a version larger
- than <code>maxVersion</code>, null is returned
-
- @return false iff an out-of-memory condition occurred, in which case
- <code>result</code> is left unchanged, and no type reader is created
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_Bool SAL_CALL typereg_reader_create(
- void const * buffer, sal_uInt32 length, sal_Bool copy,
- enum typereg_Version maxVersion, void ** result)
- SAL_THROW_EXTERN_C();
-
-/**
- Increments the reference count of a type reader.
-
- @param handle a handle on a type reader; may be null
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_acquire(void * handle) SAL_THROW_EXTERN_C();
-
-/**
- Decrements the reference count of a type reader.
-
- <p>If the reference count drops to zero, the type reader is destroyed.</p>
-
- @param handle a handle on a type reader; may be null
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_release(void * handle) SAL_THROW_EXTERN_C();
-
-/**
- Returns the binary blob version of a type reader.
-
- @param handle a handle on a type reader; may be null
-
- @return the version of the binary blob from which the type reader was
- constructed; if <code>handle</code> is null, <code>TYPEREG_VERSION_0</code>
- is returned
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC enum typereg_Version SAL_CALL typereg_reader_getVersion(void * handle)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the documentation of a type reader.
-
- @param handle a handle on a type reader; may be null
-
- @param result an out-parameter obtaining the documentation string; must not
- be null; if <code>handle</code> is null, an empty string is returned; if an
- out-of-memory condition occurs, a pointer to a null pointer is returned
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getDocumentation(
- void * handle, rtl_uString ** result) SAL_THROW_EXTERN_C();
-
-/**
- Returns the file name of a type reader.
-
- @param handle a handle on a type reader; may be null
-
- @param result an out-parameter obtaining the file name string; must not be
- null; if <code>handle</code> is null, an empty string is returned; if an
- out-of-memory condition occurs, a pointer to a null pointer is returned
-
- @since UDK 3.2.0
- @deprecated
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getFileName(void * handle, rtl_uString ** result)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the type class of a type reader.
-
- <p>This function will always return the type class without the internal
- <code>RT_TYPE_PUBLISHED</code> flag set. Use
- <code>typereg_reader_isPublished</code> to determine whether a type reader is
- published.</p>
-
- @param handle a handle on a type reader; may be null
-
- @return the type class of the type reader; if <code>handle</code> is null,
- <code>RT_TYPE_INVALID</code> is returned
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC enum RTTypeClass SAL_CALL typereg_reader_getTypeClass(void * handle)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns whether a type reader is published.
-
- @param handle a handle on a type reader; may be null
-
- @return whether the type reader is published; if <code>handle</code> is null,
- <code>sal_False</code> is returned
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_Bool SAL_CALL typereg_reader_isPublished(void * handle)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the type name of a type reader.
-
- @param handle a handle on a type reader; may be null
-
- @param result an out-parameter obtaining the type name string; must not be
- null; if <code>handle</code> is null, an empty string is returned; if an
- out-of-memory condition occurs, a pointer to a null pointer is returned
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getTypeName(void * handle, rtl_uString ** result)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the number of super types of a type reader.
-
- @param handle a handle on a type reader; may be null
-
- @return the number of super types of the type reader; if <code>handle</code>
- is null, zero is returned
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_uInt16 SAL_CALL typereg_reader_getSuperTypeCount(void * handle)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the type name of a super type of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the super type's type name string;
- must not be null; if an out-of-memory condition occurs, a pointer to a null
- pointer is returned
-
- @param index a valid index into the range of super types of the given type
- reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getSuperTypeName(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the number of fields of a type reader.
-
- @param handle a handle on a type reader; may be null
-
- @return the number of fields of the type reader; if <code>handle</code> is
- null, zero is returned
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_uInt16 SAL_CALL typereg_reader_getFieldCount(void * handle)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the documentation of a field of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the field's documentation string;
- must not be null; if an out-of-memory condition occurs, a pointer to a null
- pointer is returned
-
- @param index a valid index into the range of fields of the given type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getFieldDocumentation(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the file name of a field of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the field's file name string; must
- not be null; if an out-of-memory condition occurs, a pointer to a null
- pointer is returned
-
- @param index a valid index into the range of fields of the given type reader
-
- @since UDK 3.2.0
- @deprecated
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getFieldFileName(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the flags of a field of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param index a valid index into the range of fields of the given type reader
-
- @return the flags of the given field of the type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC RTFieldAccess SAL_CALL typereg_reader_getFieldFlags(
- void * handle, sal_uInt16 index) SAL_THROW_EXTERN_C();
-
-/**
- Returns the name of a field of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the field's name string; must not be
- null; if an out-of-memory condition occurs, a pointer to a null pointer is
- returned
-
- @param index a valid index into the range of fields of the given type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getFieldName(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the type name of a field of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the field's type name string; must
- not be null; if an out-of-memory condition occurs, a pointer to a null
- pointer is returned
-
- @param index a valid index into the range of fields of the given type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getFieldTypeName(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the value of a field of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param index a valid index into the range of fields of the given type reader
-
- @param type an out-parameter obtaining the field value's type; must not be
- null
-
- @param value an out-parameter obtaining the field value's value; must not be
- null
-
- @return false iff an out-of-memory condition occurred, in which case
- <code>type</code> and <code>value</code> are left unchanged
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_Bool SAL_CALL typereg_reader_getFieldValue(
- void * handle, sal_uInt16 index, enum RTValueType * type,
- union RTConstValueUnion * value)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the number of methods of a type reader.
-
- @param handle a handle on a type reader; may be null
-
- @return the number of methods of the type reader; if <code>handle</code> is
- null, zero is returned
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_uInt16 SAL_CALL typereg_reader_getMethodCount(void * handle)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the documentation of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the methods's documentation string;
- must not be null; if an out-of-memory condition occurs, a pointer to a null
- pointer is returned
-
- @param index a valid index into the range of methods of the given type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getMethodDocumentation(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the flags of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param index a valid index into the range of methods of the given type reader
-
- @return the flags of the given method of the type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC enum RTMethodMode SAL_CALL typereg_reader_getMethodFlags(
- void * handle, sal_uInt16 index) SAL_THROW_EXTERN_C();
-
-/**
- Returns the name of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the methods's name string; must not
- be null; if an out-of-memory condition occurs, a pointer to a null pointer is
- returned
-
- @param index a valid index into the range of methods of the given type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getMethodName(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the return type name of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the methods's return type name
- string; must not be null; if an out-of-memory condition occurs, a pointer to
- a null pointer is returned
-
- @param index a valid index into the range of methods of the given type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getMethodReturnTypeName(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the number of parameters of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param index a valid index into the range of methods of the given type reader
-
- @return the number of parameters of the given method of the type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_uInt16 SAL_CALL typereg_reader_getMethodParameterCount(
- void * handle, sal_uInt16 index) SAL_THROW_EXTERN_C();
-
-/**
- Returns the flags of a parameter of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param methodIndex a valid index into the range of methods of the given type
- reader
-
- @param parameterIndex a valid index into the range of parameters of the given
- method
-
- @return the flags of the given parameter of the given method of the type
- reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC enum RTParamMode SAL_CALL typereg_reader_getMethodParameterFlags(
- void * handle, sal_uInt16 methodIndex, sal_uInt16 parameterIndex)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the name of a parameter of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the parameter's name string; must
- not be null; if an out-of-memory condition occurs, a pointer to a null
- pointer is returned
-
- @param methodIndex a valid index into the range of methods of the given type
- reader
-
- @param parameterIndex a valid index into the range of parameters of the given
- method
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getMethodParameterName(
- void * handle, rtl_uString ** result, sal_uInt16 methodIndex,
- sal_uInt16 parameterIndex)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the type name of a parameter of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the parameter's type name string;
- must not be null; if an out-of-memory condition occurs, a pointer to a null
- pointer is returned
-
- @param methodIndex a valid index into the range of methods of the given type
- reader
-
- @param parameterIndex a valid index into the range of parameters of the given
- method
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getMethodParameterTypeName(
- void * handle, rtl_uString ** result, sal_uInt16 methodIndex,
- sal_uInt16 parameterIndex)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the number of exceptions of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param index a valid index into the range of methods of the given type reader
-
- @return the number of exceptions of the given method of the type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_uInt16 SAL_CALL typereg_reader_getMethodExceptionCount(
- void * handle, sal_uInt16 index) SAL_THROW_EXTERN_C();
-
-/**
- Returns the type name of an exception of a method of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the exception's type name string;
- must not be null; if an out-of-memory condition occurs, a pointer to a null
- pointer is returned
-
- @param methodIndex a valid index into the range of methods of the given type
- reader
-
- @param exceptionIndex a valid index into the range of exceptions of the given
- method
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getMethodExceptionTypeName(
- void * handle, rtl_uString ** result, sal_uInt16 methodIndex,
- sal_uInt16 exceptionIndex)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the number of references of a type reader.
-
- @param handle a handle on a type reader; may be null
-
- @return the number of references of the type reader; if <code>handle</code>
- is null, zero is returned
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_uInt16 SAL_CALL typereg_reader_getReferenceCount(void * handle)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the documentation of a reference of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the reference's documentation
- string; must not be null; if an out-of-memory condition occurs, a pointer to
- a null pointer is returned
-
- @param index a valid index into the range of references of the given type
- reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getReferenceDocumentation(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the flags of a reference of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param index a valid index into the range of references of the given type
- reader
-
- @return the flags of the given reference of the type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC RTFieldAccess SAL_CALL typereg_reader_getReferenceFlags(
- void * handle, sal_uInt16 index) SAL_THROW_EXTERN_C();
-
-/**
- Returns the sort of a reference of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param index a valid index into the range of references of the given type
- reader
-
- @return the sort of the given reference of the type reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC enum RTReferenceType SAL_CALL typereg_reader_getReferenceSort(
- void * handle, sal_uInt16 index) SAL_THROW_EXTERN_C();
-
-/**
- Returns the type name of a reference of a type reader.
-
- @param handle a handle on a type reader; must not be null
-
- @param result an out-parameter obtaining the reference's type name string;
- must not be null; if an out-of-memory condition occurs, a pointer to a null
- pointer is returned
-
- @param index a valid index into the range of references of the given type
- reader
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_reader_getReferenceTypeName(
- void * handle, rtl_uString ** result, sal_uInt16 index)
- SAL_THROW_EXTERN_C();
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/reader.hxx b/registry/inc/registry/reader.hxx
deleted file mode 100644
index a867f3b1185a..000000000000
--- a/registry/inc/registry/reader.hxx
+++ /dev/null
@@ -1,624 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_registry_reader_hxx
-#define INCLUDED_registry_reader_hxx
-
-#include "registry/reader.h"
-#include "registry/refltype.hxx"
-#include "registry/types.h"
-#include "registry/version.h"
-
-#include "rtl/ustring.hxx"
-#include "sal/types.h"
-
-#include <algorithm>
-#include <new>
-
-namespace typereg {
-
-/**
- A type reader working on a binary blob that represents a UNOIDL type.
-
- <p>Instances of this class are not multi-thread&ndash;safe.</p>
-
- @since UDK 3.2.0
- */
-class Reader {
-public:
- /**
- Creates an invalid type reader.
- */
- Reader(): m_handle(0) {}
-
- /**
- Creates a type reader.
-
- <p>If the given binary blob is malformed, or of a version larger than
- <code>maxVersion</code>, the created type reader is flagged as
- invalid.</p>
-
- @param buffer the binary blob representing the type; must point to at
- least <code>length</code> bytes, and need only be byte-aligned
-
- @param length the size in bytes of the binary blob representing the type
-
- @param copy if true, the type reader creates an internal copy of the
- given buffer, and the given buffer is not accessed after this constructor
- returns; if false, the type reader works directly on the given buffer,
- which must remain available unmodified until the underlying type reader
- is destroyed (note that the lifetime of the underlying type reader can be
- different from the lifetime of this <code>Reader</code> instance)
-
- @param maxVersion the maximum binary blob version the client is prepared
- to handle; must not be negative
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- Reader(
- void const * buffer, sal_uInt32 length, bool copy,
- typereg_Version maxVersion)
- {
- if (!typereg_reader_create(buffer, length, copy, maxVersion, &m_handle))
- {
- throw std::bad_alloc();
- }
- }
-
- /**
- Shares a type reader between two <code>Reader</code> instances.
-
- @param other another <code>Reader</code> instance
- */
- Reader(Reader const & other): m_handle(other.m_handle) {
- typereg_reader_acquire(m_handle);
- }
-
- /**
- Destroys this <code>Reader</code> instance.
-
- <p>The underlying type reader is only destroyed if this instance was its
- last user.</p>
- */
- ~Reader() {
- typereg_reader_release(m_handle);
- }
-
- /**
- Replaces the underlying type reader.
-
- @param other any <code>Reader</code> instance
-
- @return this <code>Reader</code> instance
- */
- Reader & operator =(Reader const & other) {
- Reader temp(other);
- std::swap(this->m_handle, temp.m_handle);
- return *this;
- }
-
- /**
- Returns whether this type reader is valid.
-
- @return true iff this type reader is valid
- */
- bool isValid() const {
- return m_handle != 0;
- }
-
- /**
- Returns the binary blob version of this type reader.
-
- @return the version of the binary blob from which this type reader was
- constructed; if this type reader is invalid,
- <code>TYPEREG_VERSION_0</code> is returned
- */
- typereg_Version getVersion() const {
- return typereg_reader_getVersion(m_handle);
- }
-
- /**
- Returns the documentation of this type reader.
-
- @return the documentation of this type reader; if this type reader is
- invalid, an empty string is returned
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getDocumentation() const {
- rtl_uString * s = 0;
- typereg_reader_getDocumentation(m_handle, &s);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the file name of this type reader.
-
- @return the file name of this type reader; if this type reader is
- invalid, an empty string is returned
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- @deprecated
- */
- OUString getFileName() const {
- rtl_uString * s = 0;
- typereg_reader_getFileName(m_handle, &s);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the type class of this type reader.
-
- <p>This function will always return the type class without the internal
- <code>RT_TYPE_PUBLISHED</code> flag set. Use <code>isPublished</code> to
- determine whether this type reader is published.</p>
-
- @return the type class of this type reader; if this type reader is
- invalid, <code>RT_TYPE_INVALID</code> is returned
- */
- RTTypeClass getTypeClass() const {
- return typereg_reader_getTypeClass(m_handle);
- }
-
- /**
- Returns whether this type reader is published.
-
- @return whether this type reader is published; if this type reader is
- invalid, <code>false</code> is returned
- */
- bool isPublished() const {
- return typereg_reader_isPublished(m_handle);
- }
-
- /**
- Returns the type name of this type reader.
-
- @return the type name of this type reader; if this type reader is
- invalid, an empty string is returned
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getTypeName() const {
- rtl_uString * s = 0;
- typereg_reader_getTypeName(m_handle, &s);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the number of super types of this type reader.
-
- @return the number of super types of this type reader; if this type
- reader is invalid, zero is returned
- */
- sal_uInt16 getSuperTypeCount() const {
- return typereg_reader_getSuperTypeCount(m_handle);
- }
-
- /**
- Returns the type name of a super type of this type reader.
-
- @param index a valid index into the range of super types of this type
- reader
-
- @return the type name of the given super type
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getSuperTypeName(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getSuperTypeName(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the number of fields of this type reader.
-
- @return the number of fields of this type reader; if this type reader is
- invalid, zero is returned
- */
- sal_uInt16 getFieldCount() const {
- return typereg_reader_getFieldCount(m_handle);
- }
-
- /**
- Returns the documentation of a field of this type reader.
-
- @param index a valid index into the range of fields of this type reader
-
- @return the documentation of the given field
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getFieldDocumentation(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getFieldDocumentation(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the file name of a field of this type reader.
-
- @param index a valid index into the range of fields of this type reader
-
- @return the file name of the given field
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- @deprecated
- */
- OUString getFieldFileName(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getFieldFileName(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the flags of a field of this type reader.
-
- @param index a valid index into the range of fields of this type reader
-
- @return the flags of the given field
- */
- RTFieldAccess getFieldFlags(sal_uInt16 index) const {
- return typereg_reader_getFieldFlags(m_handle, index);
- }
-
- /**
- Returns the name of a field of this type reader.
-
- @param index a valid index into the range of fields of this type reader
-
- @return the name of the given field
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getFieldName(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getFieldName(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the type name of a field of this type reader.
-
- @param index a valid index into the range of fields of this type reader
-
- @return the type name of the given field
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getFieldTypeName(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getFieldTypeName(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the value of a field of this type reader.
-
- @param index a valid index into the range of fields of this type reader
-
- @return the value of the given field
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- RTConstValue getFieldValue(sal_uInt16 index) const {
- RTConstValue v;
- if (!typereg_reader_getFieldValue(
- m_handle, index, &v.m_type, &v.m_value))
- {
- throw std::bad_alloc();
- }
- return v;
- }
-
- /**
- Returns the number of methods of this type reader.
-
- @return the number of methods of this type reader; if this type reader is
- invalid, zero is returned
- */
- sal_uInt16 getMethodCount() const {
- return typereg_reader_getMethodCount(m_handle);
- }
-
- /**
- Returns the documentation of a method of this type reader.
-
- @param index a valid index into the range of methods of this type reader
-
- @return the documentation of the given method
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getMethodDocumentation(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getMethodDocumentation(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the flags of a method of this type reader.
-
- @param index a valid index into the range of methods of this type reader
-
- @return the flags of the given method
- */
- RTMethodMode getMethodFlags(sal_uInt16 index) const {
- return typereg_reader_getMethodFlags(m_handle, index);
- }
-
- /**
- Returns the name of a method of this type reader.
-
- @param index a valid index into the range of methods of this type reader
-
- @return the name of the given method
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getMethodName(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getMethodName(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the return type name of a method of this type reader.
-
- @param index a valid index into the range of methods of this type reader
-
- @return the return type name of the given method
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getMethodReturnTypeName(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getMethodReturnTypeName(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the number of parameters of a method of this type reader.
-
- @param index a valid index into the range of methods of this type reader
-
- @return the number of parameters of the given method
- */
- sal_uInt16 getMethodParameterCount(sal_uInt16 index) const {
- return typereg_reader_getMethodParameterCount(m_handle, index);
- }
-
- /**
- Returns the flags of a parameter of a method of this type reader.
-
- @param methodIndex a valid index into the range of methods of this type
- reader
-
- @param parameterIndex a valid index into the range of parameters of the
- given method
-
- @return the flags of the given method parameter
- */
- RTParamMode getMethodParameterFlags(
- sal_uInt16 methodIndex, sal_uInt16 parameterIndex) const
- {
- return typereg_reader_getMethodParameterFlags(
- m_handle, methodIndex, parameterIndex);
- }
-
- /**
- Returns the name of a parameter of a method of this type reader.
-
- @param methodIndex a valid index into the range of methods of this type
- reader
-
- @param parameterIndex a valid index into the range of parameters of the
- given method
-
- @return the name of the given method parameter
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getMethodParameterName(
- sal_uInt16 methodIndex, sal_uInt16 parameterIndex) const
- {
- rtl_uString * s = 0;
- typereg_reader_getMethodParameterName(
- m_handle, &s, methodIndex, parameterIndex);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the type name of a parameter of a method of this type reader.
-
- @param methodIndex a valid index into the range of methods of this type
- reader
-
- @param parameterIndex a valid index into the range of parameters of the
- given method
-
- @return the type name of the given method parameter
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getMethodParameterTypeName(
- sal_uInt16 methodIndex, sal_uInt16 parameterIndex) const
- {
- rtl_uString * s = 0;
- typereg_reader_getMethodParameterTypeName(
- m_handle, &s, methodIndex, parameterIndex);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the number of exceptions of a method of this type reader.
-
- @param index a valid index into the range of methods of this type reader
-
- @return the number of exceptions of the given method
- */
- sal_uInt16 getMethodExceptionCount(sal_uInt16 index) const {
- return typereg_reader_getMethodExceptionCount(m_handle, index);
- }
-
- /**
- Returns the type name of an exception of a method of this type reader.
-
- @param methodIndex a valid index into the range of methods of this type
- reader
-
- @param exceptionIndex a valid index into the range of exceptions of the
- given method
-
- @return the type name of the given method exception
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getMethodExceptionTypeName(
- sal_uInt16 methodIndex, sal_uInt16 exceptionIndex) const
- {
- rtl_uString * s = 0;
- typereg_reader_getMethodExceptionTypeName(
- m_handle, &s, methodIndex, exceptionIndex);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the number of references of this type reader.
-
- @return the number of references of this type reader; if this type reader
- is invalid, zero is returned
- */
- sal_uInt16 getReferenceCount() const {
- return typereg_reader_getReferenceCount(m_handle);
- }
-
- /**
- Returns the documentation of a reference of this type reader.
-
- @param index a valid index into the range of references of this type
- reader
-
- @return the documentation of the given reference
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getReferenceDocumentation(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getReferenceDocumentation(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
- /**
- Returns the flags of a reference of this type reader.
-
- @param index a valid index into the range of references of this type
- reader
-
- @return the flags of the given reference
- */
- RTFieldAccess getReferenceFlags(sal_uInt16 index) const {
- return typereg_reader_getReferenceFlags(m_handle, index);
- }
-
- /**
- Returns the sort of a reference of this type reader.
-
- @param index a valid index into the range of references of this type
- reader
-
- @return the sort of the given reference
- */
- RTReferenceType getReferenceSort(sal_uInt16 index) const {
- return typereg_reader_getReferenceSort(m_handle, index);
- }
-
- /**
- Returns the type name of a reference of this type reader.
-
- @param index a valid index into the range of references of this type
- reader
-
- @return the type name of the given reference
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- OUString getReferenceTypeName(sal_uInt16 index) const {
- rtl_uString * s = 0;
- typereg_reader_getReferenceTypeName(m_handle, &s, index);
- if (s == 0) {
- throw std::bad_alloc();
- }
- return OUString(s, SAL_NO_ACQUIRE);
- }
-
-private:
- void * m_handle;
-};
-
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/reflread.hxx b/registry/inc/registry/reflread.hxx
deleted file mode 100644
index 541692443127..000000000000
--- a/registry/inc/registry/reflread.hxx
+++ /dev/null
@@ -1,513 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _REGISTRY_REFLREAD_HXX_
-#define _REGISTRY_REFLREAD_HXX_
-
-#include <registry/regdllapi.h>
-#include <registry/refltype.hxx>
-#include <registry/regtype.h>
-#include <rtl/ustring.hxx>
-
-/// Implememetation handle
-typedef void* TypeReaderImpl;
-
-/****************************************************************************
-
- C-Api
-
-*****************************************************************************/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** specifies a collection of function pointers which represents the complete registry type reader C-API.
-
- This funtions pointers are used by the C++ wrapper to call the C-API.
-*/
-struct RegistryTypeReader_Api
-{
- TypeReaderImpl (TYPEREG_CALLTYPE *createEntry) (const sal_uInt8*, sal_uInt32, sal_Bool);
- void (TYPEREG_CALLTYPE *acquire) (TypeReaderImpl);
- void (TYPEREG_CALLTYPE *release) (TypeReaderImpl);
- sal_uInt16 (TYPEREG_CALLTYPE *getMinorVersion) (TypeReaderImpl);
- sal_uInt16 (TYPEREG_CALLTYPE *getMajorVersion) (TypeReaderImpl);
- RTTypeClass (TYPEREG_CALLTYPE *getTypeClass) (TypeReaderImpl);
- void (TYPEREG_CALLTYPE *getUik) (TypeReaderImpl, RTUik*);
- void (TYPEREG_CALLTYPE *getDoku) (TypeReaderImpl, rtl_uString**);
- void (TYPEREG_CALLTYPE *getFileName) (TypeReaderImpl, rtl_uString**);
- void (TYPEREG_CALLTYPE *getTypeName) (TypeReaderImpl, rtl_uString**);
- void (TYPEREG_CALLTYPE *getSuperTypeName) (TypeReaderImpl, rtl_uString**);
- sal_uInt32 (TYPEREG_CALLTYPE *getFieldCount) (TypeReaderImpl);
- void (TYPEREG_CALLTYPE *getFieldName) (TypeReaderImpl, rtl_uString**, sal_uInt16);
- void (TYPEREG_CALLTYPE *getFieldType) (TypeReaderImpl, rtl_uString**, sal_uInt16);
- RTFieldAccess (TYPEREG_CALLTYPE *getFieldAccess) (TypeReaderImpl, sal_uInt16);
- RTValueType (TYPEREG_CALLTYPE *getFieldConstValue) (TypeReaderImpl, sal_uInt16, RTConstValueUnion*);
- void (TYPEREG_CALLTYPE *getFieldDoku) (TypeReaderImpl, rtl_uString**, sal_uInt16);
- void (TYPEREG_CALLTYPE *getFieldFileName) (TypeReaderImpl, rtl_uString**, sal_uInt16);
- sal_uInt32 (TYPEREG_CALLTYPE *getMethodCount) (TypeReaderImpl);
- void (TYPEREG_CALLTYPE *getMethodName) (TypeReaderImpl, rtl_uString**, sal_uInt16);
- sal_uInt32 (TYPEREG_CALLTYPE *getMethodParamCount) (TypeReaderImpl, sal_uInt16);
- void (TYPEREG_CALLTYPE *getMethodParamType) (TypeReaderImpl, rtl_uString**, sal_uInt16, sal_uInt16);
- void (TYPEREG_CALLTYPE *getMethodParamName) (TypeReaderImpl, rtl_uString**, sal_uInt16, sal_uInt16);
- RTParamMode (TYPEREG_CALLTYPE *getMethodParamMode) (TypeReaderImpl, sal_uInt16, sal_uInt16);
- sal_uInt32 (TYPEREG_CALLTYPE *getMethodExcCount) (TypeReaderImpl, sal_uInt16);
- void (TYPEREG_CALLTYPE *getMethodExcType) (TypeReaderImpl, rtl_uString**, sal_uInt16, sal_uInt16);
- void (TYPEREG_CALLTYPE *getMethodReturnType) (TypeReaderImpl, rtl_uString**, sal_uInt16);
- RTMethodMode (TYPEREG_CALLTYPE *getMethodMode) (TypeReaderImpl, sal_uInt16);
- void (TYPEREG_CALLTYPE *getMethodDoku) (TypeReaderImpl, rtl_uString**, sal_uInt16);
-
- sal_uInt32 (TYPEREG_CALLTYPE *getReferenceCount) (TypeReaderImpl);
- void (TYPEREG_CALLTYPE *getReferenceName) (TypeReaderImpl, rtl_uString**, sal_uInt16);
- RTReferenceType (TYPEREG_CALLTYPE *getReferenceType) (TypeReaderImpl, sal_uInt16);
- void (TYPEREG_CALLTYPE *getReferenceDoku) (TypeReaderImpl, rtl_uString**, sal_uInt16);
- RTFieldAccess (TYPEREG_CALLTYPE *getReferenceAccess) (TypeReaderImpl, sal_uInt16);
-};
-
-/** the API initialization function.
-*/
-REG_DLLPUBLIC RegistryTypeReader_Api* TYPEREG_CALLTYPE initRegistryTypeReader_Api(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-/** RegistryTypeReades reads a binary type blob.
-
- This class provides the necessary functions to read type information
- for all kinds of types of a type blob.
- The class is inline and use a C-Api.
-
- @deprecated
- use typereg::Reader instead
-*/
-class RegistryTypeReader
-{
-public:
-
- /** Constructor.
-
- @param buffer points to the binary data block.
- @param bufferLen specifies the size of the binary data block.
- @param copyData specifies if the data block should be copied.
- The block can be copied to ensure that the data
- is valid for the lifetime of this instance.
- */
- inline RegistryTypeReader(const sal_uInt8* buffer,
- sal_uInt32 bufferLen,
- sal_Bool copyData);
-
- /// Copy constructcor
- inline RegistryTypeReader(const RegistryTypeReader& toCopy);
-
- /// Destructor. The Destructor frees the data block if the copyData flag was TRUE.
- inline ~RegistryTypeReader();
-
- /// Assign operator
- inline RegistryTypeReader& operator == (const RegistryTypeReader& toAssign);
-
- /// checks if the registry type reader points to a valid Api.
- inline sal_Bool isValid() const;
-
- /** @deprecated
- returns the minor version number.
-
- We currently don't support a versioning concept of IDL interfaces and
- so this function is currently not used.
- */
- inline sal_uInt16 getMinorVersion() const;
-
- /** @deprecated
- returns the major version number.
-
- We currently don't support a versioning concept of IDL interfaces and
- so this function is currently not used.
- */
- inline sal_uInt16 getMajorVersion() const;
-
- /** returns the typeclass of the type represented by this blob.
-
- This function will always return the type class without the internal
- RT_TYPE_PUBLISHED flag set.
- */
- inline RTTypeClass getTypeClass() const;
-
- /** returns the full qualified name of the type.
- */
- inline OUString getTypeName() const;
-
- /** returns the full qualified name of the supertype.
- */
- inline OUString getSuperTypeName() const;
-
- /** @deprecated
- returns the unique identifier for an interface type as an out parameter.
-
- An earlier version of UNO used an unique identifier for interfaces. In the
- current version of UNO this uik was eliminated and this function is
- not longer used.
- */
- inline void getUik(RTUik& uik) const;
-
- /** returns the documentation string of this type.
- */
- inline OUString getDoku() const;
-
- /** returns the IDL filename where the type is defined.
- */
- inline OUString getFileName() const;
-
- /** returns the number of fields (attributes/properties, enum values or number
- of constants in a module).
-
- */
- inline sal_uInt32 getFieldCount() const;
-
- /** returns the name of the field specified by index.
- */
- inline OUString getFieldName( sal_uInt16 index ) const;
-
- /** returns the full qualified name of the field specified by index.
- */
- inline OUString getFieldType( sal_uInt16 index ) const;
-
- /** returns the access mode of the field specified by index.
- */
- inline RTFieldAccess getFieldAccess( sal_uInt16 index ) const;
-
- /** returns the value of the field specified by index.
-
- This function returns the value of an enum value or of a constant.
- */
- inline RTConstValue getFieldConstValue( sal_uInt16 index ) const;
-
- /** returns the documentation string for the field specified by index.
-
- Each field of a type can have their own documentation.
- */
- inline OUString getFieldDoku( sal_uInt16 index ) const;
-
- /** returns the IDL filename of the field specified by index.
-
- The IDL filename of a field can differ from the filename of the ype itself
- because modules and also constants can be defined in different IDL files.
- */
- inline OUString getFieldFileName( sal_uInt16 index ) const;
-
- /** returns the number of methods of an interface type.
- */
- inline sal_uInt32 getMethodCount() const;
-
- /** returns the name of the method specified by index.
- */
- inline OUString getMethodName( sal_uInt16 index ) const;
-
- /** returns number of parameters of the method specified by index.
- */
- inline sal_uInt32 getMethodParamCount( sal_uInt16 index ) const;
-
- /** returns the full qualified parameter typename.
-
- @param index indicates the method
- @param paramIndex indeciates the parameter which type will be returned.
- */
- inline OUString getMethodParamType( sal_uInt16 index, sal_uInt16 paramIndex ) const;
-
- /** returns the name of a parameter.
-
- @param index indicates the method
- @param paramIndex indiciates the parameter which name will be returned.
- */
- inline OUString getMethodParamName( sal_uInt16 index, sal_uInt16 paramIndex ) const;
-
- /** returns the parameter mode, if it is an in, out or inout parameter.
-
- @param index indicates the method
- @param paramIndex indeciates the parameter which mode will be returned.
- */
- inline RTParamMode getMethodParamMode( sal_uInt16 index, sal_uInt16 paramIndex ) const;
-
- /** returns the number of exceptions which are declared for the method specified by index.
-
- @param index indicates the method
- */
- inline sal_uInt32 getMethodExcCount( sal_uInt16 index ) const;
-
- /** returns the full qualified exception type of the specified exception.
-
- @param index indicates the method
- @param excIndex indeciates the exception which typename will be returned.
- */
- inline OUString getMethodExcType( sal_uInt16 index, sal_uInt16 excIndex ) const;
-
- /** returns the full qualified return type of the method specified by index.
- */
- inline OUString getMethodReturnType( sal_uInt16 index ) const;
-
- /** returns the full qualified exception type of the specified exception.
-
- @param index indicates the method
- */
- inline RTMethodMode getMethodMode( sal_uInt16 index ) const;
-
- /** returns the documentation string of the method specified by index.
-
- @param index indicates the method.
- */
- inline OUString getMethodDoku( sal_uInt16 index ) const;
-
- /** returns the number of references (supported interfaces, exported services).
- */
- inline sal_uInt32 getReferenceCount() const;
-
- /** returns the full qualified typename of the reference specified by index.
-
- @param index indicates the reference.
- */
- inline OUString getReferenceName( sal_uInt16 index ) const;
-
- /** returns the type of the reference specified by index.
-
- @param index indicates the reference.
- */
- inline RTReferenceType getReferenceType( sal_uInt16 index ) const;
-
- /** returns the documentation string of the reference specified by index.
-
- @param index indicates the reference.
- */
- inline OUString getReferenceDoku( sal_uInt16 index ) const;
-
- /** returns the access mode of the reference specified by index.
-
- The only valid value is RT_ACCESS_OPTIONAL in the context of
- references.
- @param index indicates the reference.
- */
- inline RTFieldAccess getReferenceAccess( sal_uInt16 index ) const;
-
-protected:
-
- /// stores the registry type reader Api.
- const RegistryTypeReader_Api* m_pApi;
- /// stores the handle of an implementation class
- TypeReaderImpl m_hImpl;
-};
-
-
-
-inline RegistryTypeReader::RegistryTypeReader(const sal_uInt8* buffer,
- sal_uInt32 bufferLen,
- sal_Bool copyData)
- : m_pApi(initRegistryTypeReader_Api())
- , m_hImpl(NULL)
- {
- m_hImpl = m_pApi->createEntry(buffer, bufferLen, copyData);
- }
-
-
-inline RegistryTypeReader::RegistryTypeReader(const RegistryTypeReader& toCopy)
- : m_pApi(toCopy.m_pApi)
- , m_hImpl(toCopy.m_hImpl)
- { m_pApi->acquire(m_hImpl); }
-
-
-inline RegistryTypeReader::~RegistryTypeReader()
- { m_pApi->release(m_hImpl); }
-
-inline RegistryTypeReader& RegistryTypeReader::operator == (const RegistryTypeReader& toAssign)
-{
- if (m_hImpl != toAssign.m_hImpl)
- {
- m_pApi->release(m_hImpl);
- m_hImpl = toAssign.m_hImpl;
- m_pApi->acquire(m_hImpl);
- }
-
- return *this;
-}
-
-inline sal_uInt16 RegistryTypeReader::getMinorVersion() const
- { return m_pApi->getMinorVersion(m_hImpl); }
-
-inline sal_Bool RegistryTypeReader::isValid() const
- { return (m_hImpl != NULL); }
-
-inline sal_uInt16 RegistryTypeReader::getMajorVersion() const
- { return m_pApi->getMajorVersion(m_hImpl); }
-
-inline RTTypeClass RegistryTypeReader::getTypeClass() const
- { return m_pApi->getTypeClass(m_hImpl); }
-
-inline OUString RegistryTypeReader::getTypeName() const
- {
- OUString sRet;
- m_pApi->getTypeName(m_hImpl, &sRet.pData);
- return sRet;
- }
-
-inline OUString RegistryTypeReader::getSuperTypeName() const
- {
- OUString sRet;
- m_pApi->getSuperTypeName(m_hImpl, &sRet.pData);
- return sRet;
- }
-
-inline void RegistryTypeReader::getUik(RTUik& uik) const
- { m_pApi->getUik(m_hImpl, &uik); }
-
-inline OUString RegistryTypeReader::getDoku() const
- {
- OUString sRet;
- m_pApi->getDoku(m_hImpl, &sRet.pData);
- return sRet;
- }
-
-inline OUString RegistryTypeReader::getFileName() const
- {
- OUString sRet;
- m_pApi->getFileName(m_hImpl, &sRet.pData);
- return sRet;
- }
-
-inline sal_uInt32 RegistryTypeReader::getFieldCount() const
- { return m_pApi->getFieldCount(m_hImpl); }
-
-inline OUString RegistryTypeReader::getFieldName( sal_uInt16 index ) const
- {
- OUString sRet;
- m_pApi->getFieldName(m_hImpl, &sRet.pData, index);
- return sRet;
- }
-
-inline OUString RegistryTypeReader::getFieldType( sal_uInt16 index ) const
- {
- OUString sRet;
- m_pApi->getFieldType(m_hImpl, &sRet.pData, index);
- return sRet;
- }
-
-inline RTFieldAccess RegistryTypeReader::getFieldAccess( sal_uInt16 index ) const
- { return m_pApi->getFieldAccess(m_hImpl, index); }
-
-inline RTConstValue RegistryTypeReader::getFieldConstValue( sal_uInt16 index ) const
- {
- RTConstValue ret;
- ret.m_type = m_pApi->getFieldConstValue(m_hImpl, index, &ret.m_value);
- return ret;
- }
-
-inline OUString RegistryTypeReader::getFieldDoku( sal_uInt16 index ) const
- {
- OUString sRet;
- m_pApi->getFieldDoku(m_hImpl, &sRet.pData, index);
- return sRet;
- }
-
-inline OUString RegistryTypeReader::getFieldFileName( sal_uInt16 index ) const
- {
- OUString sRet;
- m_pApi->getFieldFileName(m_hImpl, &sRet.pData, index);
- return sRet;
- }
-
-inline sal_uInt32 RegistryTypeReader::getMethodCount() const
- { return m_pApi->getMethodCount(m_hImpl); }
-
-inline OUString RegistryTypeReader::getMethodName( sal_uInt16 index ) const
- {
- OUString sRet;
- m_pApi->getMethodName(m_hImpl, &sRet.pData, index);
- return sRet;
- }
-
-inline sal_uInt32 RegistryTypeReader::getMethodParamCount( sal_uInt16 index ) const
- { return m_pApi->getMethodParamCount(m_hImpl, index); }
-
-inline OUString RegistryTypeReader::getMethodParamType( sal_uInt16 index, sal_uInt16 paramIndex ) const
- {
- OUString sRet;
- m_pApi->getMethodParamType(m_hImpl, &sRet.pData, index, paramIndex);
- return sRet;
- }
-
-inline OUString RegistryTypeReader::getMethodParamName( sal_uInt16 index, sal_uInt16 paramIndex ) const
- {
- OUString sRet;
- m_pApi->getMethodParamName(m_hImpl, &sRet.pData, index, paramIndex);
- return sRet;
- }
-
-inline RTParamMode RegistryTypeReader::getMethodParamMode( sal_uInt16 index, sal_uInt16 paramIndex ) const
- { return m_pApi->getMethodParamMode(m_hImpl, index, paramIndex); }
-
-inline sal_uInt32 RegistryTypeReader::getMethodExcCount( sal_uInt16 index ) const
- { return m_pApi->getMethodExcCount(m_hImpl, index); }
-
-inline OUString RegistryTypeReader::getMethodExcType( sal_uInt16 index, sal_uInt16 excIndex ) const
- {
- OUString sRet;
- m_pApi->getMethodExcType(m_hImpl, &sRet.pData, index, excIndex);
- return sRet;
- }
-
-inline OUString RegistryTypeReader::getMethodReturnType( sal_uInt16 index ) const
- {
- OUString sRet;
- m_pApi->getMethodReturnType(m_hImpl, &sRet.pData, index);
- return sRet;
- }
-
-inline RTMethodMode RegistryTypeReader::getMethodMode( sal_uInt16 index ) const
- { return m_pApi->getMethodMode(m_hImpl, index); }
-
-inline OUString RegistryTypeReader::getMethodDoku( sal_uInt16 index ) const
- {
- OUString sRet;
- m_pApi->getMethodDoku(m_hImpl, &sRet.pData, index);
- return sRet;
- }
-
-inline sal_uInt32 RegistryTypeReader::getReferenceCount() const
- { return m_pApi->getReferenceCount(m_hImpl); }
-
-inline OUString RegistryTypeReader::getReferenceName( sal_uInt16 index ) const
- {
- OUString sRet;
- m_pApi->getReferenceName(m_hImpl, &sRet.pData, index);
- return sRet;
- }
-
-inline RTReferenceType RegistryTypeReader::getReferenceType( sal_uInt16 index ) const
- { return m_pApi->getReferenceType(m_hImpl, index); }
-
-inline OUString RegistryTypeReader::getReferenceDoku( sal_uInt16 index ) const
- {
- OUString sRet;
- m_pApi->getReferenceDoku(m_hImpl, &sRet.pData, index);
- return sRet;
- }
-
-inline RTFieldAccess RegistryTypeReader::getReferenceAccess( sal_uInt16 index ) const
- { return m_pApi->getReferenceAccess(m_hImpl, index); }
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/refltype.hxx b/registry/inc/registry/refltype.hxx
deleted file mode 100644
index 0de7716a9ed3..000000000000
--- a/registry/inc/registry/refltype.hxx
+++ /dev/null
@@ -1,80 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _REGISTRY_REFLTYPE_HXX_
-#define _REGISTRY_REFLTYPE_HXX_
-
-#include "registry/types.h"
-#include <sal/types.h>
-
-/** specifies the type source of a binary type blob.
-
- Currently only RT_UNO_IDL type is used.
- */
-enum RTTypeSource
-{
- RT_UNO_IDL,
- RT_CORBA_IDL,
- RT_JAVA
-};
-
-/** specifies a helper class for const values.
-
- This class is used for easy handling of constants or enum values
- as fields in binary type blob.
- */
-class RTConstValue
-{
-public:
- /// stores the type of the constant value.
- RTValueType m_type;
- /// stores the value of the constant.
- RTConstValueUnion m_value;
-
- /// Default constructor.
- RTConstValue()
- : m_type(RT_TYPE_NONE)
- {
- m_value.aDouble = 0.0;
- }
-
- /// Destructor
- ~RTConstValue() {}
-};
-
-/** deprecated.
-
- An earlier version of UNO used an unique identifier for interfaces. In the
- current version of UNO this uik was eliminated and this type is not longer used.
- */
-struct RTUik
-{
- sal_uInt32 m_Data1;
- sal_uInt16 m_Data2;
- sal_uInt16 m_Data3;
- sal_uInt32 m_Data4;
- sal_uInt32 m_Data5;
-};
-
-/// specifies the calling convention for type reader/writer api
-#define TYPEREG_CALLTYPE SAL_CALL
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/reflwrit.hxx b/registry/inc/registry/reflwrit.hxx
deleted file mode 100644
index 8e84aa9b1483..000000000000
--- a/registry/inc/registry/reflwrit.hxx
+++ /dev/null
@@ -1,350 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _REGISTRY_REFLWRIT_HXX_
-#define _REGISTRY_REFLWRIT_HXX_
-
-#include <registry/regdllapi.h>
-#include <registry/refltype.hxx>
-#include <registry/regtype.h>
-#include <rtl/ustring.hxx>
-
-/// Implememetation handle
-typedef void* TypeWriterImpl;
-
-/****************************************************************************
-
- C-Api
-
-*****************************************************************************/
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** specifies a collection of function pointers which represents the complete registry type writer C-API.
-
- This funtions pointers are used by the C++ wrapper to call the C-API.
-*/
-struct RegistryTypeWriter_Api
-{
- TypeWriterImpl (TYPEREG_CALLTYPE *createEntry) (RTTypeClass, rtl_uString*, rtl_uString*, sal_uInt16, sal_uInt16, sal_uInt16);
- void (TYPEREG_CALLTYPE *acquire) (TypeWriterImpl);
- void (TYPEREG_CALLTYPE *release) (TypeWriterImpl);
- void (TYPEREG_CALLTYPE *setUik) (TypeWriterImpl, const RTUik*);
- void (TYPEREG_CALLTYPE *setDoku) (TypeWriterImpl, rtl_uString*);
- void (TYPEREG_CALLTYPE *setFileName) (TypeWriterImpl, rtl_uString*);
- void (TYPEREG_CALLTYPE *setFieldData) (TypeWriterImpl, sal_uInt16, rtl_uString*, rtl_uString*, rtl_uString*, rtl_uString*, RTFieldAccess, RTValueType, RTConstValueUnion);
- void (TYPEREG_CALLTYPE *setMethodData) (TypeWriterImpl, sal_uInt16, rtl_uString*, rtl_uString*, RTMethodMode, sal_uInt16, sal_uInt16, rtl_uString*);
- void (TYPEREG_CALLTYPE *setParamData) (TypeWriterImpl, sal_uInt16, sal_uInt16, rtl_uString*, rtl_uString*, RTParamMode);
- void (TYPEREG_CALLTYPE *setExcData) (TypeWriterImpl, sal_uInt16, sal_uInt16, rtl_uString*);
- const sal_uInt8* (TYPEREG_CALLTYPE *getBlop) (TypeWriterImpl);
- sal_uInt32 (TYPEREG_CALLTYPE *getBlopSize) (TypeWriterImpl);
-
- void (TYPEREG_CALLTYPE *setReferenceData) (TypeWriterImpl, sal_uInt16, rtl_uString*, RTReferenceType, rtl_uString*, RTFieldAccess);
-};
-
-/** the API initialization function.
-*/
-REG_DLLPUBLIC RegistryTypeWriter_Api* TYPEREG_CALLTYPE initRegistryTypeWriter_Api(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-/** RegistryTypeWriter writes/creates a binary type blob.
-
- This class provides the necessary functions to write type information
- for all kinds of types into a blob.
- The class is inline and use a C-Api.
-
- @deprecated
- use typereg::Writer instead
-*/
-class RegistryTypeWriter
-{
-public:
-
- /** Constructor.
-
- @param RTTypeClass specifies the type of the new blob.
- @param typeName specifies the full qualified type name with '/' as separator.
- @param superTypeName specifies the full qualified type name of the base type
- with '/' as separator.
- @param fieldCount specifies the number of fields (eg. number of attrbutes/properties,
- enum values or constants).
- @param methodCount specifies the number of methods.
- @param referenceCount specifies the number of references (eg. number of supported interfaces,
- exported services ...)
- */
- inline RegistryTypeWriter(RTTypeClass RTTypeClass,
- const OUString& typeName,
- const OUString& superTypeName,
- sal_uInt16 fieldCount,
- sal_uInt16 methodCount,
- sal_uInt16 referenceCount);
-
- /// Copy constructcor
- inline RegistryTypeWriter(const RegistryTypeWriter& toCopy);
-
- /** Destructor. The Destructor frees the internal data block.
-
- The pointer (returned by getBlop) will be set to NULL.
- */
- inline ~RegistryTypeWriter();
-
- /// Assign operator
- inline RegistryTypeWriter& operator == (const RegistryTypeWriter& toAssign);
-
- /** @deprecated
- sets the unique identifier for an interface type.
-
- An earlier version of UNO used an unique identifier for interfaces. In the
- current version of UNO this uik was eliminated and this function is
- not longer used.
- */
- inline void setUik(const RTUik& uik);
-
- /** sets a documentation string for the type.
-
- This documentation should be the same as the documentation which is provided
- for this type in IDL.
- */
- inline void setDoku(const OUString& doku);
-
- /** sets the IDL filename where this type is defined.
- */
- inline void setFileName(const OUString& fileName);
-
- /** sets the data for a field member of a type blob.
-
- @param index indicates the index of the field.
- @param name specifies the name.
- @param typeName specifies the full qualified typename.
- @param doku specifies the documentation string of the field.
- @param fileName specifies the name of the IDL file where the field is defined.
- @param access specifies the access mode of the field.
- @param constValue specifies the value of the field. The value is only interesting
- for enum values or constants.
- */
- inline void setFieldData( sal_uInt16 index,
- const OUString& name,
- const OUString& typeName,
- const OUString& doku,
- const OUString& fileName,
- RTFieldAccess access,
- RTConstValue constValue = RTConstValue());
-
- /** sets the data for a method.
-
- @param index indicates the index of the method.
- @param name specifies the name.
- @param returnTypeName specifies the full qualified return typename.
- @param mode specifies the method mode.
- @param paramCount specifies the number of parameters.
- @param excCount specifies the number of exceptions.
- @param doku specifies the documentation string of the field.
- */
- inline void setMethodData(sal_uInt16 index,
- const OUString& name,
- const OUString& returnTypeName,
- RTMethodMode mode,
- sal_uInt16 paramCount,
- sal_uInt16 excCount,
- const OUString& doku);
-
- /** sets the data for the specified parameter of a method.
-
- @param index indicates the index of the method.
- @param paramIndex specifies the index of the parameter.
- @param type specifies the full qualified typename.
- @param name specifies the name.
- @param mode specifies the parameter mode.
- */
- inline void setParamData(sal_uInt16 index,
- sal_uInt16 paramIndex,
- const OUString& type,
- const OUString& name,
- RTParamMode mode);
-
- /** sets the data for the specified exception of a mehtod.
-
- @param index indicates the index of the method.
- @param excIndex specifies the index of the exception.
- @param type specifies the full qualified typename of the exception.
- */
- inline void setExcData(sal_uInt16 index,
- sal_uInt16 excIndex,
- const OUString& type);
-
- /** returns a pointer to the new type blob.
-
- The pointer will be invalid (NULL) if the instance of
- the RegistryTypeWriter will be destroyed.
- */
- inline const sal_uInt8* getBlop();
-
- /** returns the size of the new type blob in bytes.
- */
- inline sal_uInt32 getBlopSize();
-
- /** sets the data for a reference member.
-
- @param index indicates the index of the reference.
- @param name specifies the name.
- @param refType specifies the full qualified typename of the reference.
- @param doku specifies the documentation string of the reference.
- @param access specifies the access mode of the reference.
- */
- inline void setReferenceData( sal_uInt16 index,
- const OUString& name,
- RTReferenceType refType,
- const OUString& doku,
- RTFieldAccess access = RT_ACCESS_INVALID);
-
-protected:
-
- /// stores the registry type writer Api.
- const RegistryTypeWriter_Api* m_pApi;
- /// stores the handle of an implementation class
- TypeWriterImpl m_hImpl;
-};
-
-
-
-inline RegistryTypeWriter::RegistryTypeWriter(RTTypeClass RTTypeClass,
- const OUString& typeName,
- const OUString& superTypeName,
- sal_uInt16 fieldCount,
- sal_uInt16 methodCount,
- sal_uInt16 referenceCount)
- : m_pApi(initRegistryTypeWriter_Api())
- , m_hImpl(NULL)
-{
- m_hImpl = m_pApi->createEntry(RTTypeClass,
- typeName.pData,
- superTypeName.pData,
- fieldCount,
- methodCount,
- referenceCount);
-}
-
-
-inline RegistryTypeWriter::RegistryTypeWriter(const RegistryTypeWriter& toCopy)
- : m_pApi(toCopy.m_pApi)
- , m_hImpl(toCopy.m_hImpl)
-{
- m_pApi->acquire(m_hImpl);
-}
-
-inline RegistryTypeWriter::~RegistryTypeWriter()
-{
- m_pApi->release(m_hImpl);
-}
-
-inline RegistryTypeWriter& RegistryTypeWriter::operator == (const RegistryTypeWriter& toAssign)
-{
- if (m_hImpl != toAssign.m_hImpl)
- {
- m_pApi->release(m_hImpl);
- m_hImpl = toAssign.m_hImpl;
- m_pApi->acquire(m_hImpl);
- }
-
- return *this;
-}
-
-inline void RegistryTypeWriter::setFieldData( sal_uInt16 index,
- const OUString& name,
- const OUString& typeName,
- const OUString& doku,
- const OUString& fileName,
- RTFieldAccess access,
- RTConstValue constValue)
-{
- m_pApi->setFieldData(m_hImpl, index, name.pData, typeName.pData, doku.pData, fileName.pData, access, constValue.m_type, constValue.m_value);
-}
-
-
-inline void RegistryTypeWriter::setMethodData(sal_uInt16 index,
- const OUString& name,
- const OUString& returnTypeName,
- RTMethodMode mode,
- sal_uInt16 paramCount,
- sal_uInt16 excCount,
- const OUString& doku)
-{
- m_pApi->setMethodData(m_hImpl, index, name.pData, returnTypeName.pData, mode, paramCount, excCount, doku.pData);
-}
-
-
-inline void RegistryTypeWriter::setUik(const RTUik& uik)
-{
- m_pApi->setUik(m_hImpl, &uik);
-}
-
-inline void RegistryTypeWriter::setDoku(const OUString& doku)
-{
- m_pApi->setDoku(m_hImpl, doku.pData);
-}
-
-inline void RegistryTypeWriter::setFileName(const OUString& doku)
-{
- m_pApi->setFileName(m_hImpl, doku.pData);
-}
-
-inline void RegistryTypeWriter::setParamData(sal_uInt16 index,
- sal_uInt16 paramIndex,
- const OUString& type,
- const OUString& name,
- RTParamMode mode)
-{
- m_pApi->setParamData(m_hImpl, index, paramIndex, type.pData, name.pData, mode);
-}
-
-inline void RegistryTypeWriter::setExcData(sal_uInt16 index,
- sal_uInt16 excIndex,
- const OUString& type)
-{
- m_pApi->setExcData(m_hImpl, index, excIndex, type.pData);
-}
-
-inline const sal_uInt8* RegistryTypeWriter::getBlop()
-{
- return m_pApi->getBlop(m_hImpl);
-}
-
-inline sal_uInt32 RegistryTypeWriter::getBlopSize()
-{
- return m_pApi->getBlopSize(m_hImpl);
-}
-
-
-inline void RegistryTypeWriter::setReferenceData( sal_uInt16 index,
- const OUString& name,
- RTReferenceType refType,
- const OUString& doku,
- RTFieldAccess access)
-{
- m_pApi->setReferenceData(m_hImpl, index, name.pData, refType, doku.pData, access);
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/regdllapi.h b/registry/inc/registry/regdllapi.h
deleted file mode 100644
index 5116a7062d24..000000000000
--- a/registry/inc/registry/regdllapi.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_REGDLLAPI_H
-#define INCLUDED_REGDLLAPI_H
-
-#include "sal/types.h"
-
-#if defined(REG_DLLIMPLEMENTATION)
-#define REG_DLLPUBLIC SAL_DLLPUBLIC_EXPORT
-#else
-#define REG_DLLPUBLIC SAL_DLLPUBLIC_IMPORT
-#endif
-
-#endif /* INCLUDED_REGDLLAPI_H */
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/registry.h b/registry/inc/registry/registry.h
deleted file mode 100644
index 030e1a12a5de..000000000000
--- a/registry/inc/registry/registry.h
+++ /dev/null
@@ -1,456 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _REGISTRY_REGISTRY_H_
-#define _REGISTRY_REGISTRY_H_
-
-#include <stddef.h>
-#include <rtl/ustring.h>
-#include <registry/regtype.h>
-#include <registry/regdllapi.h>
-
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
-
-/** This function creates the specified key.
-
- If the key already exists in the registry, the function opens the key only.
- @param hKey identifies a currently open key. The key which will be opened or created by this
- function is a subkey of the key identified by hKey.
- @param keyName points to a null terminated string specifying the name of a key.
- @param phNewKey points to a variable that receives the handle of the opened or created key.
- The memory to store this variable will be allocated and will be freed by the function
- reg_closeKey. If the function fails, phNewKey is NULL.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_createKey(RegKeyHandle hKey,
- rtl_uString* keyName,
- RegKeyHandle* phNewKey);
-
-
-/** This function opens the specified key.
-
- @param hKey identifies a currently open key. The key which will be opened by this function
- is a subkey of the key identified by hKey
- @param keyName points to a null terminated string specifying the name of a key.
- @param phOpenKey points to a variable that receives the handle of the opened key.
- The memory to store this variable will be allocated and will be freed by the function
- reg_closeKey. If the function fails, phNewKey is NULL.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_openKey(RegKeyHandle hKey,
- rtl_uString* keyName,
- RegKeyHandle* phOpenKey);
-
-
-
-/** This function opens all subkeys of the specified key.
-
- @param hKey identifies a currently open key. The key that subkeys will be opened by this
- function is a subkey of the key identified by hKey
- @param keyName points to a null terminated string specifying the name of a key whose subkeys
- will be opened.
- @param pphSubKeys points to a variable that receives an array of all opened subkeys.
- The memory to store this variable will be allocated and will be freed by the function
- reg_closeSubKeys. If the function fails, pphSubKeys is NULL.
- @param pnSubKeys specifies the length of the array (the number of open subkeys).
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_openSubKeys(RegKeyHandle hKey,
- rtl_uString* keyName,
- RegKeyHandle** pphSubKeys,
- sal_uInt32* pnSubKeys);
-
-
-/** This function closes all subkeys specified in the array.
-
- @param phSubKeys points to a variable that containss an array of all opened subkeys.
- The allocated memory of pphSubKeys and all open subkeys will be freed.
- @param nSubKeys specifies the length of the array (the number of subkeys to closed).
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_closeSubKeys(RegKeyHandle* phSubKeys,
- sal_uInt32 nSubKeys);
-
-
-/** This function deletes the specified key.
-
- @param hKey identifies a currently open key. The key deleted by this function
- is a subkey of the key identified by hKey
- @param keyName points to a null terminated string specifying the name of a key which will
- be deleted.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_deleteKey(RegKeyHandle hKey,
- rtl_uString* keyName);
-
-
-/** This function closes the specified key.
-
- @param hKey identifies a currently open key which will be closed by this function.
- The memory of the variable specifying the key will be freed.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_closeKey(RegKeyHandle hKey);
-
-
-/** This function returns the name of a key.
-
- @param hKey identifies a currently open key which name will be returned.
- @param pKeyName contains the keyname if succeeds else an empty string.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_getKeyName(RegKeyHandle hKey, rtl_uString** pKeyName);
-
-
-/** This function sets a value of a key.
-
- @param hKey identifies a currently open key. The key which value will be set by this
- function is a subkey of the key identified by hKey.
- @param keyName points to a null terminated string specifying the name of a key which value
- will be set. If keyName is NULL, then the value of the key specified by
- hKey will be set.
- @param valueType specifies the type of the value.
- @param pData points to a memory block containing the data of the value.
- @param valueSize specifies the size of pData in bytes
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_setValue(RegKeyHandle hKey,
- rtl_uString* keyName,
- RegValueType valueType,
- RegValue pData,
- sal_uInt32 valueSize);
-
-
-/** This function sets an long list value of a key.
-
- @param[in] hKey identifies a currently open key. The key which value will be set by this
- function is a subkey of the key identified by hKey.
- @param[in] keyName points to a null terminated string specifying the name of a key which value
- will be set. If keyName is NULL, then the value of the key specified by
- hKey will be set.
- @param[out] pValueList points to an array of longs containing the data of the value.
- @param[out] len specifies the len of pValueList.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_setLongListValue(RegKeyHandle hKey,
- rtl_uString* keyName,
- sal_Int32* pValueList,
- sal_uInt32 len);
-
-
-/** This function sets an ascii list value of a key.
-
- @param[in] hKey identifies a currently open key. The key which value will be set by this
- function is a subkey of the key identified by hKey.
- @param[in] keyName points to a null terminated string specifying the name of a key which value
- will be set. If keyName is NULL, then the value of the key specified by
- hKey will be set.
- @param[in] pValueList points to an array of sal_Char* containing the data of the value.
- @param[in] len specifies the len of pValueList.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_setStringListValue(RegKeyHandle hKey,
- rtl_uString* keyName,
- sal_Char** pValueList,
- sal_uInt32 len);
-
-
-/** This function sets an unicode string list value of a key.
-
- @param[in] hKey identifies a currently open key. The key which value will be set by this
- function is a subkey of the key identified by hKey.
- @param[in] keyName points to a null terminated string specifying the name of a key which value
- will be set. If keyName is NULL, then the value of the key specified by
- hKey will be set.
- @param[in] pValueList points to an array of sal_Unicode* containing the data of the value.
- @param[in] len specifies the len of pValueList.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_setUnicodeListValue(RegKeyHandle hKey,
- rtl_uString* keyName,
- sal_Unicode** pValueList,
- sal_uInt32 len);
-
-
-/** This function gets info about type and size of a key value.
-
- @param hKey identifies a currently open key. The key which value info will be got by this
- function is a subkey of the key identified by hKey.
- @param keyName points to a null terminated string specifying the name of a key which value
- will be got. If keyName is NULL, then the value info of the key specified by
- hKey will be got.
- @param pValueType returns the type of the value.
- @param pValueSize returns the size of the value in bytes
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_getValueInfo(RegKeyHandle hKey,
- rtl_uString* keyName,
- RegValueType* pValueType,
- sal_uInt32* pValueSize);
-
-
-/** This function gets the value of a key.
-
- @param hKey identifies a currently open key. The key which value will be got by this
- function is a subkey of the key identified by hKey.
- @param keyName points to a null terminated string specifying the name of a key which value
- will be got. If keyName is NULL, then the value of the key specified by
- hKey will be got.
- @param pData points to an allocated memory block receiving the data of the value.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_getValue(RegKeyHandle hKey,
- rtl_uString* keyName,
- RegValue pData);
-
-
-/** This function gets the long list value of a key.
-
- @param[in] hKey identifies a currently open key. The key which value will be got by this
- function is a subkey of the key identified by hKey.
- @param[in] keyName points to a null terminated string specifying the name of a key which value
- will be got. If keyName is NULL, then the value of the key specified by
- hKey will be got.
- @param[out] pValueList a Pointer to a long value list which returns the data of the value.
- @param[out] pLen returns the length of the value list.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_getLongListValue(RegKeyHandle hKey,
- rtl_uString* keyName,
- sal_Int32** pValueList,
- sal_uInt32* pLen);
-
-
-/** This function gets the string list value of a key.
-
- @param[in] hKey identifies a currently open key. The key whose value will be retrived by this
- function is a subkey of the key identified by hKey.
- @param[in] keyName points to a null terminated string specifying the name of a key whose value
- will be retrived. If keyName is NULL, then the value of the key specified by
- hKey will be retrived.
- @param[out] pValueList a Pointer to an ascii value list which returns the data of the value.
- @param[out] pLen returns the length of the value list.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_getStringListValue(RegKeyHandle hKey,
- rtl_uString* keyName,
- sal_Char*** pValueList,
- sal_uInt32* pLen);
-
-
-/** This function gets the unicode list value of a key.
-
- @param[in] hKey identifies a currently open key. The key whose value will be retrived by this
- function is a subkey of the key identified by hKey.
- @param[in] keyName points to a null terminated string specifying the name of a key whose value
- will be retrived. If keyName is NULL, then the value of the key specified by
- hKey will be retrived.
- @param[out] pValueList a Pointer to an unicode value list which returns the data of the value.
- @param[out] pLen returns the length of the value list.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_getUnicodeListValue(RegKeyHandle hKey,
- rtl_uString* keyName,
- sal_Unicode*** pValueList,
- sal_uInt32* pLen);
-
-
-/** This function frees the memory of a value list.
-
- @param valueType specifies the type of the list values.
- @param pValueList a Pointer to the value list.
- @param len specifies the length of the value list.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_freeValueList(RegValueType valueType,
- RegValue pValueList,
- sal_uInt32 len);
-
-/** This function returns the type of a key.
-
- The registry differentiates two possible types:
- - RG_KEYTYPE represents a real key
- - RG_LINKTYPE used to represent a link (no longer used)
- @param[in] hKey identifies a currently open key. The key specified by keyName is a subkey
- of the key identified by hKey.
- @param[in] keyName points to a null terminated string specifying the name of the key which keytype
- will be returned.
- @param[out] pKeyType returns the type of the key.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_getKeyType(RegKeyHandle hKey,
- rtl_uString* keyName,
- RegKeyType* pKeyType);
-
-/** This function resolves a keyname.
-
- @param[in] hKey identifies a currently open key. The key specified by keyName is a subkey
- of the key identified by hKey.
- @param[in] keyName points to a null terminated string specifying the relativ name of a key.
- The name of hKey together with keyName will be generated.
- @param[in] firstLinkOnly ignored
- @param[out] pResolvedName returns the resolved keyName.
- @return REG_NO_ERROR if succeeds else an error code.
- */
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_getResolvedKeyName(RegKeyHandle hKey,
- rtl_uString* keyName,
- sal_Bool firstLinkOnly,
- rtl_uString** pResolvedName);
-
-/** This function loads registry information from a file and save it under the
- specified keyName.
-
- @param hKey identifies a currently open key. The key which should store the registry information
- is a subkey of this key.
- @param keyName points to a null terminated string specifying the name of the key which stores the
- registry information. If keyName is NULL the registry information will be saved under
- the key specified by hKey.
- @param regFileName points to a null terminated string specifying the file which conains the
- registry information.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_loadKey(RegKeyHandle hKey,
- rtl_uString* keyName,
- rtl_uString* regFileName);
-
-
-/** This function saves the registry information under a specified key and all of its subkeys and save
- it in a registry file.
-
- @param hKey identifies a currently open key. The key which information is saved by this
- function is a subkey of the key identified by hKey.
- @param keyName points to a null terminated string specifying the name of the subkey.
- If keyName is NULL the registry information under the key specified by hKey
- will be saved in the specified file.
- @param regFileName points to a null terminated string specifying the file which will contain the
- registry information.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_saveKey(RegKeyHandle hKey,
- rtl_uString* keyName,
- rtl_uString* regFileName);
-
-
-/** This function merges the registry information from a specified source with the information of the
- currently open registry.
-
- All existing keys will be extended and existing key values will be overwritten.
- @param hKey identifies a currently open key. The key which information is merged by this
- function is a subkey of the key identified by hKey.
- @param keyName points to a null terminated string specifying the name of the key which will be merged.
- If keyName is NULL the registry information under the key specified by hKey
- is merged with the complete information from the specified file.
- @param regFileName points to a null terminated string specifying the file containing the
- registry information.
- @param bWarnings if TRUE the function returns an error if a key already exists.
- @param bReport if TRUE the function reports warnings on stdout if a key already exists.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_mergeKey(RegKeyHandle hKey,
- rtl_uString* keyName,
- rtl_uString* regFileName,
- sal_Bool bWarnings,
- sal_Bool bReport);
-
-
-/** This function creates a new registry with the specified name and creates a root key.
-
- @param registryName points to a null terminated string specifying the name of the new registry.
- @param phRegistry points to a handle of the new registry if the function succeeds otherwise NULL.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_createRegistry(rtl_uString* registryName,
- RegHandle* phRegistry);
-
-
-/** This function opens the root key of a registry.
-
- @param hRegistry identifies a currently open registry whose rootKey will be returned.
- @param phRootKey points to a handle of the open root key if the function succeeds otherwise NULL.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_openRootKey(RegHandle hRegistry,
- RegKeyHandle* phRootKey);
-
-
-/** This function returns the name of a registry.
-
- @param hRegistry identifies a currently open registry whose name will be returned.
- @param pName returns the name of the registry if the function succeeds otherwise an empty string.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_getName(RegHandle hRegistry, rtl_uString** pName);
-
-
-/** This function returns the access mode of the registry.
-
- @param hReg identifies a currently open registry.
- @return TRUE if accessmode is read only else FALSE.
-*/
-REG_DLLPUBLIC sal_Bool REGISTRY_CALLTYPE reg_isReadOnly(RegHandle hReg);
-
-
-/** This function opens a registry with the specified name.
-
- @param registryName points to a null terminated string specifying the name of the registry.
- @param phRegistry points to a hanle of the opened registry if the function succeeds otherwise NULL.
- @param accessMode specifies the accessmode of the registry, REG_READONLY or REG_READWRITE.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_openRegistry(rtl_uString* registryName,
- RegHandle* phRegistry,
- RegAccessMode accessMode);
-
-
-/** This function closes a registry.
-
- @param hRegistry identifies a currently open registry which should be closed.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_closeRegistry(RegHandle hRegistry);
-
-
-/** This function destroys a registry.
-
- @param hRegistry identifies a currently open registry.
- @param registryName specifies a registry name of a registry which should be destroyed. If the
- name is NULL the registry itselfs will be destroyed.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_destroyRegistry(RegHandle hRegistry,
- rtl_uString* registryName);
-
-
-/** This function reports the complete registry information of a key and all of its subkeys.
-
- All information which are available (keynames, value types, values, ...)
- will be printed to stdout for report issues only.
- @param hKey identifies a currently open key which content will be reported.
- @return REG_NO_ERROR if succeeds else an error code.
-*/
-REG_DLLPUBLIC RegError REGISTRY_CALLTYPE reg_dumpRegistry(RegKeyHandle hKey);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/registry.hxx b/registry/inc/registry/registry.hxx
deleted file mode 100644
index d165c594adff..000000000000
--- a/registry/inc/registry/registry.hxx
+++ /dev/null
@@ -1,1257 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _REGISTRY_REGISTRY_HXX_
-#define _REGISTRY_REGISTRY_HXX_
-
-#include <registry/regdllapi.h>
-#include <registry/regtype.h>
-#include <rtl/ustring.hxx>
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** specifies a collection of function pointers which represents the complete registry C-API.
-
- This funtions pointers are used by the C++ wrapper to call the C-API.
-*/
-struct Registry_Api
-{
- void (REGISTRY_CALLTYPE *acquire) (RegHandle);
- void (REGISTRY_CALLTYPE *release) (RegHandle);
- sal_Bool (REGISTRY_CALLTYPE *isReadOnly) (RegHandle);
- RegError (REGISTRY_CALLTYPE *openRootKey) (RegHandle, RegKeyHandle*);
- RegError (REGISTRY_CALLTYPE *getName) (RegHandle, rtl_uString**);
- RegError (REGISTRY_CALLTYPE *createRegistry) (rtl_uString*, RegHandle*);
- RegError (REGISTRY_CALLTYPE *openRegistry) (rtl_uString*, RegHandle*, RegAccessMode);
- RegError (REGISTRY_CALLTYPE *closeRegistry) (RegHandle);
- RegError (REGISTRY_CALLTYPE *destroyRegistry) (RegHandle, rtl_uString*);
- RegError (REGISTRY_CALLTYPE *loadKey) (RegHandle, RegKeyHandle, rtl_uString*, rtl_uString*);
- RegError (REGISTRY_CALLTYPE *saveKey) (RegHandle, RegKeyHandle, rtl_uString*, rtl_uString*);
- RegError (REGISTRY_CALLTYPE *mergeKey) (RegHandle, RegKeyHandle, rtl_uString*, rtl_uString*, sal_Bool, sal_Bool);
- RegError (REGISTRY_CALLTYPE *dumpRegistry) (RegHandle, RegKeyHandle);
- void (REGISTRY_CALLTYPE *acquireKey) (RegKeyHandle);
- void (REGISTRY_CALLTYPE *releaseKey) (RegKeyHandle);
- sal_Bool (REGISTRY_CALLTYPE *isKeyReadOnly) (RegKeyHandle);
- RegError (REGISTRY_CALLTYPE *getKeyName) (RegKeyHandle, rtl_uString**);
- RegError (REGISTRY_CALLTYPE *createKey) (RegKeyHandle, rtl_uString*, RegKeyHandle*);
- RegError (REGISTRY_CALLTYPE *openKey) (RegKeyHandle, rtl_uString*, RegKeyHandle*);
- RegError (REGISTRY_CALLTYPE *openSubKeys) (RegKeyHandle, rtl_uString*, RegKeyHandle**, sal_uInt32*);
- RegError (REGISTRY_CALLTYPE *closeSubKeys) (RegKeyHandle*, sal_uInt32);
- RegError (REGISTRY_CALLTYPE *deleteKey) (RegKeyHandle, rtl_uString*);
- RegError (REGISTRY_CALLTYPE *closeKey) (RegKeyHandle);
- RegError (REGISTRY_CALLTYPE *setValue) (RegKeyHandle, rtl_uString*, RegValueType, RegValue, sal_uInt32);
- RegError (REGISTRY_CALLTYPE *setLongListValue) (RegKeyHandle, rtl_uString*, sal_Int32*, sal_uInt32);
- RegError (REGISTRY_CALLTYPE *setStringListValue) (RegKeyHandle, rtl_uString*, sal_Char**, sal_uInt32);
- RegError (REGISTRY_CALLTYPE *setUnicodeListValue)(RegKeyHandle, rtl_uString*, sal_Unicode**, sal_uInt32);
- RegError (REGISTRY_CALLTYPE *getValueInfo) (RegKeyHandle, rtl_uString*, RegValueType*, sal_uInt32*);
- RegError (REGISTRY_CALLTYPE *getValue) (RegKeyHandle, rtl_uString*, RegValue);
- RegError (REGISTRY_CALLTYPE *getLongListValue) (RegKeyHandle, rtl_uString*, sal_Int32**, sal_uInt32*);
- RegError (REGISTRY_CALLTYPE *getStringListValue) (RegKeyHandle, rtl_uString*, sal_Char***, sal_uInt32*);
- RegError (REGISTRY_CALLTYPE *getUnicodeListValue)(RegKeyHandle, rtl_uString*, sal_Unicode***, sal_uInt32*);
- RegError (REGISTRY_CALLTYPE *freeValueList) (RegValueType, RegValue, sal_uInt32);
- RegError (REGISTRY_CALLTYPE *createLink) (RegKeyHandle, rtl_uString*, rtl_uString*);
- RegError (REGISTRY_CALLTYPE *deleteLink) (RegKeyHandle, rtl_uString*);
- RegError (REGISTRY_CALLTYPE *getKeyType) (RegKeyHandle, rtl_uString*, RegKeyType*);
- RegError (REGISTRY_CALLTYPE *getLinkTarget) (RegKeyHandle, rtl_uString*, rtl_uString**);
- RegError (REGISTRY_CALLTYPE *getResolvedKeyName) (RegKeyHandle, rtl_uString*, sal_Bool, rtl_uString**);
- RegError (REGISTRY_CALLTYPE *getKeyNames) (RegKeyHandle, rtl_uString*, rtl_uString***, sal_uInt32*);
- RegError (REGISTRY_CALLTYPE *freeKeyNames) (rtl_uString**, sal_uInt32);
-};
-
-/** the API initialization function.
-*/
-REG_DLLPUBLIC Registry_Api* REGISTRY_CALLTYPE initRegistry_Api(void);
-
-#ifdef __cplusplus
-}
-#endif
-
-
-class RegistryKey;
-
-//-----------------------------------------------------------------------------
-
-/** The Registry provides the functionality to read and write information in a registry file.
-
- The class is implemented inline and use a C-Api.
-*/
-class Registry
-{
-public:
- /** Default constructor.
- */
- inline Registry();
-
- /// Copy constructcor
- inline Registry(const Registry& toCopy);
-
- /// Destructor. The Destructor close the registry if it is open.
- inline ~Registry();
-
- /// Assign operator
- inline Registry& operator = (const Registry& toAssign);
-
- /// checks if the registry points to a valid registry data file.
- inline sal_Bool isValid() const;
-
- /** returns the access mode of the registry.
-
- @return TRUE if the access mode is readonly else FALSE.
- */
- inline sal_Bool isReadOnly() const;
-
- /** opens the root key of the registry.
-
- @param rRootKey reference to a RegistryKey which is filled with the rootkey.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError openRootKey(RegistryKey& rRootKey);
-
- /// returns the name of the current registry data file.
- inline OUString getName();
-
- /** creates a new registry with the specified name and creates a root key.
-
- @param registryName specifies the name of the new registry.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError create(const OUString& registryName);
-
- /** opens a registry with the specified name.
-
- If the registry already points to a valid registry, the old registry will be closed.
- @param registryName specifies a registry name.
- @param accessMode specifies the access mode for the registry, REG_READONLY or REG_READWRITE.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError open(const OUString& registryName,
- RegAccessMode accessMode);
-
- /// closes explicitly the current registry data file.
- inline RegError close();
-
- /** destroys a registry.
-
- @param registryName specifies a registry name, if the name is an empty string the registry
- itselfs will be destroyed.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError destroy(const OUString& registryName);
-
- /** loads registry information from a specified file and save it under the
- specified keyName.
-
- @param rKey references a currently open key. The key which should store the registry information
- is a subkey of this key.
- @param keyName specifies the name of the key which stores the registry information. If keyName is
- is an empty string the registry information will be saved under the key specified
- by rKey.
- @param regFileName specifies the file containing the registry information.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError loadKey(RegistryKey& rKey,
- const OUString& keyName,
- const OUString& regFileName);
-
- /** saves the registry information of the specified key and all subkeys and save
- it in the specified file.
-
- @param rKey references a currently open key. The key which information is saved by this
- function is a subkey of this key.
- @param keyName specifies the name of the key which information should be stored.
- If keyName is an empty string the registry information under the key specified
- by rKey is saved in the specified file.
- @param regFileName specifies the file containing the registry information.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError saveKey(RegistryKey& rKey,
- const OUString& keyName,
- const OUString& regFileName);
-
- /** merges the registry information of the specified key with the registry
- information of the specified file.
-
- All existing keys will be extended and existing key values will be overwritten.
- @param rKey references a currently open key. The key which information is merged by this
- function is a subkey of this key
- @param keyName specifies the name of the key which will be merged.
- If keyName is an empty string the registry information under the key specified
- by rKey is merged with the information from the specified file.
- @param regFileName specifies the file containing the registry information.
- @param bWarnings if TRUE the function returns an error if a key already exists.
- @param bReport if TRUE the function reports warnings on stdout if a key already exists.
- @return REG_NO_ERROR if succeeds else an error code. If it returns an error the registry will
- restore the state before merging.
- */
- inline RegError mergeKey(RegistryKey& rKey,
- const OUString& keyName,
- const OUString& regFileName,
- sal_Bool bWarnings = sal_False,
- sal_Bool bReport = sal_False);
-
- /** This function reports the complete registry information of a key and all of its subkeys.
-
- All information which are available (keynames, value types, values, ...)
- will be printed to stdout for report issues only.
- @param rKey references a currently open key which content will be reported.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError dumpRegistry(RegistryKey& rKey);
-
- friend class RegistryKey;
- friend class RegistryKeyArray;
- friend class RegistryKeyNames;
-
- /// returns the used registry Api.
- const Registry_Api* getApi() { return m_pApi; }
-protected:
-
- /// stores the used and initialized registry Api.
- const Registry_Api* m_pApi;
- /// stores the handle of the underlying registry file on which most of the functions work.
- RegHandle m_hImpl;
-};
-
-
-//-----------------------------------------------------------------------------
-
-/** RegistryKeyArray represents an array of open keys.
-
- RegistryKeyArray is a helper class to work with an array of keys.
-*/
-class RegistryKeyArray
-{
-public:
- /// Default constructor
- inline RegistryKeyArray();
-
- /// Destructor, all subkeys will be closed.
- inline ~RegistryKeyArray();
-
- /// returns the open key specified by index.
- inline RegistryKey getElement(sal_uInt32 index);
-
- /// returns the length of the array.
- inline sal_uInt32 getLength();
-
- friend class RegistryKey;
-protected:
- /** sets the data of the key array.
-
- @param registry specifies the registry files where the keys are located.
- @param phKeys points to an array of open keys.
- @param length specifies the length of the array specified by phKeys.
- */
- inline void setKeyHandles(Registry& registry, RegKeyHandle* phKeys, sal_uInt32 length);
- /// close all subkeys
- inline RegError closeKeyHandles();
-
- /// stores the number of open subkeys, the number of elements.
- sal_uInt32 m_length;
- /// stores an array of open subkeys.
- RegKeyHandle* m_phKeys;
- /// stores the handle to the registry file where the appropriate keys are located.
- Registry m_registry;
-};
-
-
-/** RegistryKeyNames represents an array of key names.
-
- RegistryKeyNames is a helper class to work with an array of key names.
-*/
-class RegistryKeyNames
-{
-public:
- /// Default constructor
- inline RegistryKeyNames();
-
- /// Destructor, the internal array with key names will be deleted.
- inline ~RegistryKeyNames();
-
- /// returns the name of the key sepecified by index.
- inline OUString getElement(sal_uInt32 index);
-
- /// returns the length of the array.
- inline sal_uInt32 getLength();
-
- friend class RegistryKey;
-protected:
- /** sets the data of the array.
-
- @param registry specifies the registry files where the keys are located.
- @param pKeyNames points to an array of key names.
- @param length specifies the length of the array specified by pKeyNames.
- */
- inline void setKeyNames(Registry& registry, rtl_uString** pKeyNames, sal_uInt32 length);
- /// delete the array of key names.
- inline RegError freeKeyNames();
-
- /// stores the number of key names, the number of elements.
- sal_uInt32 m_length;
- /// stores an array of key names.
- rtl_uString** m_pKeyNames;
- /// stores the handle to the registry file where the appropriate keys are located.
- Registry m_registry;
-};
-
-//-----------------------------------------------------------------------------
-
-/** RegistryValueList represents a value list of the specified type.
-
- RegistryValueList is a helper class to work with a list value.
-*/
-template<class ValueType>
-class RegistryValueList
-{
-public:
- /// Default constructor
- RegistryValueList()
- : m_length(0)
- , m_pValueList(NULL)
- , m_valueType(RG_VALUETYPE_NOT_DEFINED)
- {}
-
- /// Destructor, the internal value list will be freed.
- ~RegistryValueList()
- {
- if (m_pValueList)
- {
- m_registry.getApi()->freeValueList(m_valueType, m_pValueList, m_length);
- }
- }
-
- /// returns the value of the list specified by index.
- ValueType getElement(sal_uInt32 index)
- {
- if (m_registry.isValid() && index < m_length)
- {
- return m_pValueList[index];
- } else
- {
- return 0;
- }
- }
-
- /// returns the length of the list.
- sal_uInt32 getLength()
- {
- return m_length;
- }
-
- friend class RegistryKey;
-protected:
- /** sets the data of the value list.
-
- @param registry specifies the registry files where the appropriate key is located.
- @param valueType specifies the type of the list values.
- @param pValueList points to a value list.
- @param length specifies the length of the list.
- */
- void setValueList(Registry& registry, RegValueType valueType,
- ValueType* pValueList, sal_uInt32 length)
- {
- m_length = length;
- m_pValueList = pValueList;
- m_valueType = valueType;
- m_registry = registry;
- }
-
- /// stores the length of the list, the number of elements.
- sal_uInt32 m_length;
- /// stores the value list.
- ValueType* m_pValueList;
- /// stores the type of the list elements
- RegValueType m_valueType;
- /** stores the handle to the registry file where the appropriate key to this
- value is located.
- */
- Registry m_registry;
-};
-
-//-----------------------------------------------------------------------------
-
-/** RegistryKey reads or writes information of the underlying key in a registry.
-
- Class is inline and use a load on call C-Api.
-*/
-class RegistryKey
-{
-public:
- /// Default constructor
- inline RegistryKey();
-
- /// Copy constructor
- inline RegistryKey(const RegistryKey& toCopy);
-
- /// Destructor, close the key if it references an open one.
- inline ~RegistryKey();
-
- /// Assign operator
- inline RegistryKey& operator = (const RegistryKey& toAssign);
-
- /// checks if the key points to a valid registry key.
- inline sal_Bool isValid() const;
-
- /** returns the access mode of the key.
-
- @return TRUE if access mode is read only else FALSE.
- */
- inline sal_Bool isReadOnly() const;
-
- /// returns the full qualified name of the key beginning with the rootkey.
- inline OUString getName();
-
- /** creates a new key or opens a key if the specified key already exists.
-
- The specified keyname is relativ to this key.
- @param keyName specifies the name of the key which will be opened or created.
- @param rNewKey references a RegistryKey which will be filled with the new or open key.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError createKey(const OUString& keyName,
- RegistryKey& rNewKey);
-
- /** opens the specified key.
-
- The specified keyname is relativ to this key.
- @param keyName specifies the name of the key which will be opened.
- @param rOpenKey references a RegistryKey which will be filled with the open key.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError openKey(const OUString& keyName,
- RegistryKey& rOpenKey);
-
- /** opens all subkeys of the specified key.
-
- The specified keyname is relativ to this key.
- @param keyName specifies the name of the key which subkeys will be opened.
- @param rSubKeys reference a RegistryKeyArray which will be filled with the open subkeys.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError openSubKeys(const OUString& keyName,
- RegistryKeyArray& rSubKeys);
-
- /** returns an array with the names of all subkeys of the specified key.
-
- The specified keyname is relativ to this key.
- @param keyName specifies the name of the key which subkey names will be returned.
- @param rSubKeyNames reference a RegistryKeyNames array which will be filled with the subkey names.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError getKeyNames(const OUString& keyName,
- RegistryKeyNames& rSubKeyNames);
-
- /** closes all keys specified in the array.
-
- @param rSubKeys reference a RegistryKeyArray which contains the open keys.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError closeSubKeys(RegistryKeyArray& rSubKeys);
-
- /** deletes the specified key.
-
- @param keyName specifies the name of the key which will be deleted.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError deleteKey(const OUString& keyName);
-
- /// closes explicitly the current key
- inline RegError closeKey();
-
- /// releases the current key
- inline void releaseKey();
-
- /** sets a value of a key.
-
- @param keyName specifies the name of the key which value will be set.
- If keyName is an empty string, the value will be set for the key
- specified by hKey.
- @param valueType specifies the type of the value.
- @param pValue points to a memory block containing the data for the value.
- @param valueSize specifies the size of pData in bytes
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError setValue(const OUString& keyName,
- RegValueType valueType,
- RegValue pValue,
- sal_uInt32 valueSize);
-
- /** sets a long list value of a key.
-
- @param keyName specifies the name of the key which value will be set.
- If keyName is an empty string, the value will be set for the key
- specified by hKey.
- @param pValueList points to an array of longs containing the data for the value.
- @param len specifies the length of the list (the array referenced by pValueList).
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError setLongListValue(const OUString& keyName,
- sal_Int32* pValueList,
- sal_uInt32 len);
-
- /** sets an ascii list value of a key.
-
- @param keyName specifies the name of the key which value will be set.
- If keyName is an empty string, the value will be set for the key
- specified by hKey.
- @param pValueList points to an array of sal_Char* containing the data for the value.
- @param len specifies the length of the list (the array referenced by pValueList).
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError setStringListValue(const OUString& keyName,
- sal_Char** pValueList,
- sal_uInt32 len);
-
- /** sets an unicode string list value of a key.
-
- @param keyName specifies the name of the key which value will be set.
- If keyName is an empty string, the value will be set for the key
- specified by hKey.
- @param pValueList points to an array of sal_Unicode* containing the data for the value.
- @param len specifies the length of the list (the array referenced by pValueList).
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError setUnicodeListValue(const OUString& keyName,
- sal_Unicode** pValueList,
- sal_uInt32 len);
-
- /** gets info about type and size of a value.
-
- @param keyName specifies the name of the key which value info will be returned.
- If keyName is an empty string, the value info of the key
- specified by hKey will be returned.
- @param pValueType returns the type of the value.
- @param pValueSize returns the size of the value in bytes or the length of a list value.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError getValueInfo(const OUString& keyName,
- RegValueType* pValueType,
- sal_uInt32* pValueSize);
-
- /** gets the value of a key.
-
- @param keyName specifies the name of the key which value will be returned.
- If keyName is an empty string, the value is get from the key
- specified by hKey.
- @param pValue points to an allocated memory block receiving the data of the value.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError getValue(const OUString& keyName,
- RegValue pValue);
-
- /** gets a long list value of a key.
-
- @param keyName specifies the name of the key which value will be returned.
- If keyName is an empty string, the value is get from the key
- specified by hKey.
- @param rValueList references a RegistryValueList which will be filled with the long values.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError getLongListValue(const OUString& keyName,
- RegistryValueList<sal_Int32>& rValueList);
-
- /** gets an ascii list value of a key.
-
- @param keyName specifies the name of the key which value will be returned.
- If keyName is an empty string, the value is get from the key
- specified by hKey.
- @param rValueList references a RegistryValueList which will be filled with the ascii values.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError getStringListValue(const OUString& keyName,
- RegistryValueList<sal_Char*>& rValueList);
-
- /** gets a unicode value of a key.
-
- @param keyName specifies the name of the key which value will be returned.
- If keyName is an empty string, the value is get from the key
- specified by hKey.
- @param rValueList reference a RegistryValueList which will be filled with the unicode values.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError getUnicodeListValue(const OUString& keyName,
- RegistryValueList<sal_Unicode*>& rValueList);
-
- /** used to create a link.
-
- @deprecated Links are no longer supported.
-
- @return REG_INVALID_LINK
- */
- inline RegError createLink(const OUString& linkName,
- const OUString& linkTarget);
-
- /** used to delete a link.
-
- @deprecated Links are no longer supported.
-
- @return REG_INVALID_LINK
- */
- inline RegError deleteLink(const OUString& linkName);
-
- /** returns the type of the specified key.
-
- @param name specifies the name of the key or link.
- @param pKeyType returns the type of the key (always RG_KEYTYPE).
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError getKeyType(const OUString& name,
- RegKeyType* pKeyType) const;
-
- /** used to return the target of a link.
-
- @deprecated Links are no longer supported.
-
- @return REG_INVALID_LINK
- */
- inline RegError getLinkTarget(const OUString& linkName,
- OUString& rLinkTarget) const;
-
- /** resolves a keyname.
-
- @param[in] keyName specifies the name of the key which will be resolved relative to this key.
- The resolved name will be prefixed with the name of this key.
- @param[in] firstLinkOnly ignored
- @param[out] rResolvedName the resolved name.
- @return REG_NO_ERROR if succeeds else an error code.
- */
- inline RegError getResolvedKeyName(const OUString& keyName,
- sal_Bool firstLinkOnly,
- OUString& rResolvedName) const;
-
- /// returns the name of the registry in which the key is defined.
- inline OUString getRegistryName();
-
- /// returns the registry in which the key is defined.
- Registry getRegistry() const { return m_registry; }
-
- friend class Registry;
-public:
- /// @cond INTERNAL
-
- /** Constructor, which initialize a RegistryKey with registry and an valid key handle.
-
- This constructor is internal only.
- */
- inline RegistryKey(Registry& registry,
- RegKeyHandle hKey);
-
- /** returns the internal key handle.
- */
- RegKeyHandle getKeyHandle() const { return m_hImpl; }
-
-protected:
- /** sets the internal registry on which this key should work.
- */
- inline void setRegistry(Registry& registry);
-
- /// @endcond
-
- /// stores the registry on which this key works
- Registry m_registry;
- /// stores the current key handle of this key
- RegKeyHandle m_hImpl;
-};
-
-
-//-----------------------------------------------------------------------------
-
-inline RegistryKeyArray::RegistryKeyArray()
- : m_length(0)
- , m_phKeys(NULL)
-{
-}
-
-inline RegistryKeyArray::~RegistryKeyArray()
-{
- if (m_phKeys)
- m_registry.m_pApi->closeSubKeys(m_phKeys, m_length);
-}
-
-inline RegistryKey RegistryKeyArray::getElement(sal_uInt32 index)
-{
- if (m_registry.isValid() && index < m_length)
- return RegistryKey(m_registry, m_phKeys[index]);
- else
- return RegistryKey();
-}
-
-inline sal_uInt32 RegistryKeyArray::getLength()
-{
- return m_length;
-}
-
-inline void RegistryKeyArray::setKeyHandles(Registry& registry,
- RegKeyHandle* phKeys,
- sal_uInt32 length)
-{
- m_phKeys = phKeys;
- m_length = length;
- m_registry = registry;
-}
-
-inline RegError RegistryKeyArray::closeKeyHandles()
-{
- if (m_registry.isValid() && m_phKeys)
- {
- RegError ret;
- ret = m_registry.m_pApi->closeSubKeys(m_phKeys, m_length);
- m_registry = Registry();
- m_length = 0;
- m_phKeys = NULL;
- return ret;
- } else
- return(REG_INVALID_KEY);
-}
-
-//-----------------------------------------------------------------------------
-
-inline RegistryKeyNames::RegistryKeyNames()
- : m_length(0)
- , m_pKeyNames(NULL)
-{
-}
-
-inline RegistryKeyNames::~RegistryKeyNames()
-{
- if (m_pKeyNames)
- m_registry.m_pApi->freeKeyNames(m_pKeyNames, m_length);
-}
-
-inline OUString RegistryKeyNames::getElement(sal_uInt32 index)
-{
-
- if (m_pKeyNames && index < m_length)
- return m_pKeyNames[index];
- else
- return OUString();
-}
-
-inline sal_uInt32 RegistryKeyNames::getLength()
-{
- return m_length;
-}
-
-inline void RegistryKeyNames::setKeyNames(Registry& registry,
- rtl_uString** pKeyNames,
- sal_uInt32 length)
-{
- m_pKeyNames = pKeyNames;
- m_length = length;
- m_registry = registry;
-}
-
-inline RegError RegistryKeyNames::freeKeyNames()
-{
- if (m_registry.isValid() && m_pKeyNames)
- {
- RegError ret = REG_NO_ERROR;
- ret = m_registry.m_pApi->freeKeyNames(m_pKeyNames, m_length);
- m_registry = Registry();
- m_length = 0;
- m_pKeyNames = NULL;
- return ret;
- } else
- return REG_INVALID_KEY;
-}
-
-//-----------------------------------------------------------------------------
-
-inline RegistryKey::RegistryKey()
- : m_hImpl(NULL)
- { }
-
-/// @cond INTERNAL
-inline RegistryKey::RegistryKey(Registry& registry, RegKeyHandle hKey)
- : m_registry(registry)
- , m_hImpl(hKey)
- {
- if (m_hImpl)
- m_registry.m_pApi->acquireKey(m_hImpl);
- }
-/// @endcond
-
-inline RegistryKey::RegistryKey(const RegistryKey& toCopy)
- : m_registry(toCopy.m_registry)
- , m_hImpl(toCopy.m_hImpl)
- {
- if (m_hImpl)
- m_registry.m_pApi->acquireKey(m_hImpl);
- }
-
-/// @cond INTERNAL
-inline void RegistryKey::setRegistry(Registry& registry)
- {
- m_registry = registry;
- }
-/// @endcond
-
-inline RegistryKey::~RegistryKey()
- {
- if (m_hImpl)
- m_registry.m_pApi->releaseKey(m_hImpl);
- }
-
-inline RegistryKey& RegistryKey::operator = (const RegistryKey& toAssign)
-{
- m_registry = toAssign.m_registry;
-
- if (toAssign.m_hImpl)
- m_registry.m_pApi->acquireKey(toAssign.m_hImpl);
- if (m_hImpl)
- m_registry.m_pApi->releaseKey(m_hImpl);
- m_hImpl = toAssign.m_hImpl;
-
- return *this;
-}
-
-inline sal_Bool RegistryKey::isValid() const
- { return (m_hImpl != NULL); }
-
-inline sal_Bool RegistryKey::isReadOnly() const
- {
- if (m_registry.isValid())
- return (m_registry.m_pApi)->isKeyReadOnly(m_hImpl);
- else
- return sal_False;
- }
-
-inline OUString RegistryKey::getName()
- {
- OUString sRet;
- if (m_registry.isValid())
- m_registry.m_pApi->getKeyName(m_hImpl, &sRet.pData);
- return sRet;
- }
-
-inline RegError RegistryKey::createKey(const OUString& keyName,
- RegistryKey& rNewKey)
- {
- if (rNewKey.isValid()) rNewKey.closeKey();
- if (m_registry.isValid())
- {
- RegError ret = m_registry.m_pApi->createKey(m_hImpl, keyName.pData, &rNewKey.m_hImpl);
- if (!ret) rNewKey.setRegistry(m_registry);
- return ret;
- } else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::openKey(const OUString& keyName,
- RegistryKey& rOpenKey)
- {
- if (rOpenKey.isValid()) rOpenKey.closeKey();
- if (m_registry.isValid())
- {
- RegError ret = m_registry.m_pApi->openKey(m_hImpl, keyName.pData,
- &rOpenKey.m_hImpl);
- if (!ret) rOpenKey.setRegistry(m_registry);
- return ret;
- } else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::openSubKeys(const OUString& keyName,
- RegistryKeyArray& rSubKeys)
- {
- if (m_registry.isValid())
- {
- RegError ret = REG_NO_ERROR;
- RegKeyHandle* pSubKeys;
- sal_uInt32 nSubKeys;
- ret = m_registry.m_pApi->openSubKeys(m_hImpl, keyName.pData,
- &pSubKeys, &nSubKeys);
- if ( ret )
- {
- return ret;
- } else
- {
- rSubKeys.setKeyHandles(m_registry, pSubKeys, nSubKeys);
- return ret;
- }
- } else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::getKeyNames(const OUString& keyName,
- RegistryKeyNames& rSubKeyNames)
- {
- if (m_registry.isValid())
- {
- RegError ret = REG_NO_ERROR;
- rtl_uString** pSubKeyNames;
- sal_uInt32 nSubKeys;
- ret = m_registry.m_pApi->getKeyNames(m_hImpl, keyName.pData,
- &pSubKeyNames, &nSubKeys);
- if ( ret )
- {
- return ret;
- } else
- {
- rSubKeyNames.setKeyNames(m_registry, pSubKeyNames, nSubKeys);
- return ret;
- }
- } else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::closeSubKeys(RegistryKeyArray& rSubKeys)
- {
- if (m_registry.isValid())
- return rSubKeys.closeKeyHandles();
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::deleteKey(const OUString& keyName)
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->deleteKey(m_hImpl, keyName.pData);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::closeKey()
- {
- if (m_registry.isValid())
- {
- RegError ret = m_registry.m_pApi->closeKey(m_hImpl);
- if (!ret)
- {
- m_hImpl = NULL;
- m_registry = Registry();
- }
- return ret;
- } else
- return REG_INVALID_KEY;
- }
-
-inline void RegistryKey::releaseKey()
-{
- if (m_registry.isValid() && (m_hImpl != 0))
- {
- m_registry.m_pApi->releaseKey(m_hImpl), m_hImpl = 0;
- }
-}
-
-inline RegError RegistryKey::setValue(const OUString& keyName,
- RegValueType valueType,
- RegValue pValue,
- sal_uInt32 valueSize)
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->setValue(m_hImpl, keyName.pData, valueType,
- pValue, valueSize);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::setLongListValue(const OUString& keyName,
- sal_Int32* pValueList,
- sal_uInt32 len)
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->setLongListValue(m_hImpl, keyName.pData,
- pValueList, len);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::setStringListValue(const OUString& keyName,
- sal_Char** pValueList,
- sal_uInt32 len)
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->setStringListValue(m_hImpl, keyName.pData,
- pValueList, len);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::setUnicodeListValue(const OUString& keyName,
- sal_Unicode** pValueList,
- sal_uInt32 len)
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->setUnicodeListValue(m_hImpl, keyName.pData,
- pValueList, len);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::getValueInfo(const OUString& keyName,
- RegValueType* pValueType,
- sal_uInt32* pValueSize)
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->getValueInfo(m_hImpl, keyName.pData, pValueType, pValueSize);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::getValue(const OUString& keyName,
- RegValue pValue)
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->getValue(m_hImpl, keyName.pData, pValue);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::getLongListValue(const OUString& keyName,
- RegistryValueList<sal_Int32>& rValueList)
- {
- if (m_registry.isValid())
- {
- RegError ret = REG_NO_ERROR;
- sal_Int32* pValueList;
- sal_uInt32 length;
- ret = m_registry.m_pApi->getLongListValue(m_hImpl, keyName.pData,
- &pValueList, &length);
- if ( ret )
- {
- return ret;
- } else
- {
- rValueList.setValueList(m_registry, RG_VALUETYPE_LONGLIST,
- pValueList, length);
- return ret;
- }
- } else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::getStringListValue(const OUString& keyName,
- RegistryValueList<sal_Char*>& rValueList)
- {
- if (m_registry.isValid())
- {
- RegError ret = REG_NO_ERROR;
- sal_Char** pValueList;
- sal_uInt32 length;
- ret = m_registry.m_pApi->getStringListValue(m_hImpl, keyName.pData,
- &pValueList, &length);
- if ( ret )
- {
- return ret;
- } else
- {
- rValueList.setValueList(m_registry, RG_VALUETYPE_STRINGLIST,
- pValueList, length);
- return ret;
- }
- } else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::getUnicodeListValue(const OUString& keyName,
- RegistryValueList<sal_Unicode*>& rValueList)
- {
- if (m_registry.isValid())
- {
- RegError ret = REG_NO_ERROR;
- sal_Unicode** pValueList;
- sal_uInt32 length;
- ret = m_registry.m_pApi->getUnicodeListValue(m_hImpl, keyName.pData,
- &pValueList, &length);
- if ( ret )
- {
- return ret;
- } else
- {
- rValueList.setValueList(m_registry, RG_VALUETYPE_UNICODELIST,
- pValueList, length);
- return ret;
- }
- } else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::createLink(const OUString& linkName,
- const OUString& linkTarget)
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->createLink(m_hImpl, linkName.pData, linkTarget.pData);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::deleteLink(const OUString& linkName)
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->deleteLink(m_hImpl, linkName.pData);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::getKeyType(const OUString& keyName,
- RegKeyType* pKeyType) const
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->getKeyType(m_hImpl, keyName.pData, pKeyType);
- else
- return REG_INVALID_KEY;
- }
-
-inline RegError RegistryKey::getLinkTarget(const OUString& linkName,
- OUString& rLinkTarget) const
- {
- if (m_registry.isValid())
- {
- return m_registry.m_pApi->getLinkTarget(m_hImpl,
- linkName.pData,
- &rLinkTarget.pData);
- } else
- return REG_INVALID_KEY;
- }
-
-
-inline RegError RegistryKey::getResolvedKeyName(const OUString& keyName,
- sal_Bool firstLinkOnly,
- OUString& rResolvedName) const
- {
- if (m_registry.isValid())
- return m_registry.m_pApi->getResolvedKeyName(m_hImpl,
- keyName.pData,
- firstLinkOnly,
- &rResolvedName.pData);
- else
- return REG_INVALID_KEY;
- }
-
-inline OUString RegistryKey::getRegistryName()
- {
- if (m_registry.isValid())
- {
- return m_registry.getName();
- } else
- return OUString();
- }
-
-//-----------------------------------------------------------------------------
-
-inline Registry::Registry()
- : m_pApi(initRegistry_Api())
- , m_hImpl(NULL)
- { }
-
-inline Registry::Registry(const Registry& toCopy)
- : m_pApi(toCopy.m_pApi)
- , m_hImpl(toCopy.m_hImpl)
- {
- if (m_hImpl)
- m_pApi->acquire(m_hImpl);
- }
-
-
-inline Registry::~Registry()
- {
- if (m_hImpl)
- m_pApi->release(m_hImpl);
- }
-
-inline Registry& Registry::operator = (const Registry& toAssign)
-{
- if (toAssign.m_hImpl)
- toAssign.m_pApi->acquire(toAssign.m_hImpl);
- if (m_hImpl)
- m_pApi->release(m_hImpl);
-
- m_pApi = toAssign.m_pApi;
- m_hImpl = toAssign.m_hImpl;
-
- return *this;
-}
-
-inline sal_Bool Registry::isValid() const
- { return ( m_hImpl != NULL ); }
-
-inline sal_Bool Registry::isReadOnly() const
- { return m_pApi->isReadOnly(m_hImpl); }
-
-inline RegError Registry::openRootKey(RegistryKey& rRootKey)
- {
- rRootKey.setRegistry(*this);
- return m_pApi->openRootKey(m_hImpl, &rRootKey.m_hImpl);
- }
-
-inline OUString Registry::getName()
- {
- OUString sRet;
- m_pApi->getName(m_hImpl, &sRet.pData);
- return sRet;
- }
-
-inline RegError Registry::create(const OUString& registryName)
- {
- if (m_hImpl)
- m_pApi->release(m_hImpl);
- return m_pApi->createRegistry(registryName.pData, &m_hImpl);
- }
-
-inline RegError Registry::open(const OUString& registryName,
- RegAccessMode accessMode)
- {
- if (m_hImpl)
- m_pApi->release(m_hImpl);
- return m_pApi->openRegistry(registryName.pData, &m_hImpl, accessMode);
- }
-
-inline RegError Registry::close()
- {
- RegError ret = m_pApi->closeRegistry(m_hImpl);
- if (!ret)
- m_hImpl = NULL;
- return ret;
- }
-
-inline RegError Registry::destroy(const OUString& registryName)
- {
- RegError ret = m_pApi->destroyRegistry(m_hImpl, registryName.pData);
- if ( !ret && registryName.isEmpty() )
- m_hImpl = NULL;
- return ret;
- }
-
-inline RegError Registry::loadKey(RegistryKey& rKey,
- const OUString& keyName,
- const OUString& regFileName)
- { return m_pApi->loadKey(m_hImpl, rKey.m_hImpl, keyName.pData, regFileName.pData); }
-
-inline RegError Registry::saveKey(RegistryKey& rKey,
- const OUString& keyName,
- const OUString& regFileName)
- { return m_pApi->saveKey(m_hImpl, rKey.m_hImpl, keyName.pData, regFileName.pData); }
-
-inline RegError Registry::mergeKey(RegistryKey& rKey,
- const OUString& keyName,
- const OUString& regFileName,
- sal_Bool bWarnings,
- sal_Bool bReport)
- { return m_pApi->mergeKey(m_hImpl, rKey.m_hImpl, keyName.pData, regFileName.pData, bWarnings, bReport); }
-
-inline RegError Registry::dumpRegistry(RegistryKey& rKey)
- { return m_pApi->dumpRegistry(m_hImpl, rKey.m_hImpl); }
-
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/regtype.h b/registry/inc/registry/regtype.h
deleted file mode 100644
index 86ddb299fb37..000000000000
--- a/registry/inc/registry/regtype.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef _REGISTRY_REGTYPE_H_
-#define _REGISTRY_REGTYPE_H_
-
-#include <sal/types.h>
-
-/// defines the type of a registry handle used in the C API.
-typedef void* RegHandle;
-
-/// defines the type of a registry key handle used in the C API.
-typedef void* RegKeyHandle;
-
-/// defines the type of a registry key value handle used in the C API.
-typedef void* RegValue;
-
-/** defines the open/access mode of the registry.
-
- Two modes are valid:
- -REG_READONLY allows readonly access
- -REG_READWRITE allows read and write access
- */
-typedef sal_uInt16 RegAccessMode;
-
-/// Flag to specify the open mode of a registry. This mode allows readonly access.
-#define REG_READONLY 0x0001
-/// Flag to specify the open mode of a registry. This mode allows read and write access.
-#define REG_READWRITE 0x0002
-
-/** defines the type of a registry key.
-
- The registry differs between normal keys which can contain subkeys or
- a value and link keys which navigate over the linktarget to an existing
- other key (which are no longer supported).
-*/
-enum RegKeyType
-{
- /// represents a real key
- RG_KEYTYPE,
- /// represents a link (which is no longer supported)
- RG_LINKTYPE
-};
-
-/** defines the type of a key value.
-
- A registry key can contain a value which has one of seven different types.
- Three simple types (long, ascii and unicode string) and a list type of
- these simple types. Furthermore a binary type which provides the possibilty
- to define own data structures and store these types in the registry. The UNO
- core reflection data is stored as a binary blob in the type registry.
- */
-enum RegValueType
-{
- /// The key has no value or the value type is unknown.
- RG_VALUETYPE_NOT_DEFINED,
- /// The key has a value of type long
- RG_VALUETYPE_LONG,
- /// The key has a value of type ascii string
- RG_VALUETYPE_STRING,
- /// The key has a value of type unicode string
- RG_VALUETYPE_UNICODE,
- /// The key has a value of type binary
- RG_VALUETYPE_BINARY,
- /// The key has a value of type long list
- RG_VALUETYPE_LONGLIST,
- /// The key has a value of type ascii string list
- RG_VALUETYPE_STRINGLIST,
- /// The key has a value of type unicode string list
- RG_VALUETYPE_UNICODELIST
-};
-
-/// specifies the possible error codes which can occur using the registry API.
-enum RegError
-{
- /// no error.
- REG_NO_ERROR,
- /// internal registry error.
- REG_INTERNAL_ERROR,
-
- /// registry is not open.
- REG_REGISTRY_NOT_OPEN,
- /// registry does not exists.
- REG_REGISTRY_NOT_EXISTS,
- /// registry is open with readonly access rights.
- REG_REGISTRY_READONLY,
- /// destroy a registry failed. There are may be any open keys.
- REG_DESTROY_REGISTRY_FAILED,
- /** registry cannot be opened with readwrite access because the registry is already
- open with readwrite access anywhere.
- */
- REG_CANNOT_OPEN_FOR_READWRITE,
- /** registry is in an invalid state or the registry does not point to
- a valid registry data file.
- */
- REG_INVALID_REGISTRY,
-
- /// the key or key handle points to an invalid key or closed key.
- REG_KEY_NOT_OPEN,
- /// the specified keyname points to a nonexisting key.
- REG_KEY_NOT_EXISTS,
- /// the key with the specified keyname cannot be created.
- REG_CREATE_KEY_FAILED,
- /// the specified key cannot be deleted. Maybe an open key handle exists to this key.
- REG_DELETE_KEY_FAILED,
- /** the keyname is invalid. This error will return if the keyname
- is NULL but should not be NULL in the context of a called function.
- */
- REG_INVALID_KEYNAME,
- /// the key is not in a valid state.
- REG_INVALID_KEY,
-
- /// the key has no value
- REG_VALUE_NOT_EXISTS,
- /// setting the specified value of a key failed.
- REG_SET_VALUE_FAILED,
- /// deleting of the key value failed.
- REG_DELETE_VALUE_FAILED,
- /// the key has a invalid value or the value type is unknown.
- REG_INVALID_VALUE,
-
- /// merging a key, the value and all subkeys failed.
- REG_MERGE_ERROR,
- /** conflicts exists during the merge process of a key. This could happen if
- the value of a key already exists and the merge process will replace it.
- */
- REG_MERGE_CONFLICT,
-
- /** a recursion was detected resolving different link targets (no longer
- used).
- */
- REG_DETECT_RECURSION,
- /** the link is invalid and can not be resolved (now used by all
- link-related operations, as links are no longer supported).
- */
- REG_INVALID_LINK,
- /// the specified linkname is not valid (no longer used).
- REG_INVALID_LINKNAME,
- /// the linknane is not valid (no longer used).
- REG_INVALID_LINKTARGET,
- /// the link target points to a nonexisting key (no longer used).
- REG_LINKTARGET_NOT_EXIST,
- /// the reserved buffer for the resolved keyname is to small.
- REG_BUFFERSIZE_TOSMALL
-};
-
-/// specify the calling convention for the registry API
-#define REGISTRY_CALLTYPE SAL_CALL
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/types.h b/registry/inc/registry/types.h
deleted file mode 100644
index 0ad7977486f4..000000000000
--- a/registry/inc/registry/types.h
+++ /dev/null
@@ -1,334 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_registry_types_h
-#define INCLUDED_registry_types_h
-
-#include "sal/types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/** specifies the typeclass of a binary type blob.
-
- The general structure of a binary type blob is always the same. It depends
- on the typeclass which parts of the blob are filled with data or not.
- */
-enum RTTypeClass {
- /** specifies that the structure of the given blob is unknown and can't be
- read.
- */
- RT_TYPE_INVALID,
-
- /** specifies that the blob represents an interface type. An interface blob
- can contain a base interface, attributes and methods.
- */
- RT_TYPE_INTERFACE,
-
- /** specifies that the blob represents a module type. A module blob can
- contain a base module and constant members (fields).
- */
- RT_TYPE_MODULE,
-
- /** specifies that the blob represents a struct type. A struct blob can
- contain a base struct and members (fields).
- */
- RT_TYPE_STRUCT,
-
- /** specifies that the blob represents an enum type. An enum blob can
- contain enum values which are accessible as fields.
- */
- RT_TYPE_ENUM,
-
- /** specifies that the blob represents an exception type. An exception blob
- can contain a base exception and members (fields).
- */
- RT_TYPE_EXCEPTION,
-
- /** specifies that the blob represents a typedef type. A typedef blob can
- contain a base type.
- */
- RT_TYPE_TYPEDEF,
-
- /** specifies that the blob represents a service type. A service blob can
- contain a base service, properties (fields), references to services or
- interfaces.
- */
- RT_TYPE_SERVICE,
-
- /** specifies that the blob represents a singleton type (a named object)
- which refers exactly one existing service.
- */
- RT_TYPE_SINGLETON,
-
- /// deprecated, not used.
- RT_TYPE_OBJECT,
-
- /** specifies that the blob represents a constants type. A constants blob
- can contain constant types as fields.
- */
- RT_TYPE_CONSTANTS,
-
- /** @deprecated
- a union type was evaluated but currently not supported.
- */
- RT_TYPE_UNION,
-
- /// @cond INTERNAL
- /**
- Flag for published entities.
-
- Used in combination with RT_TYPE_INTERFACE, RT_TYPE_STRUCT, RT_TYPE_ENUM,
- RT_TYPE_EXCEPTION, RT_TYPE_TYPEDEF, RT_TYPE_SERVICE, RT_TYPE_SINGLETON,
- or RT_TYPE_CONSTANTS to mark an entity as published.
-
- (The value of this enumerator is chosen so that it is unlikely that its
- addition changes the underlying type of this enumeration for any C/C++
- compiler.)
-
- @since UDK 3.2.0
- */
- RT_TYPE_PUBLISHED = 0x4000
- /// @endcond
-};
-
-/** specifies the type for the field access.
-
- Fields in a type blob are used for different types. Among others they were
- used for properties of services and these poperties can have several flags.
-
- @see RT_ACCESS_INVALID
- @see RT_ACCESS_READONLY
- @see RT_ACCESS_OPTIONAL
- @see RT_ACCESS_MAYBEVOID
- @see RT_ACCESS_BOUND
- @see RT_ACCESS_CONSTRAINED
- @see RT_ACCESS_TRANSIENT
- @see RT_ACCESS_MAYBEAMBIGUOUS
- @see RT_ACCESS_MAYBEDEFAULT
- @see RT_ACCESS_REMOVEABLE
- @see RT_ACCESS_ATTRIBUTE
- @see RT_ACCESS_PROPERTY
- @see RT_ACCESS_CONST
- @see RT_ACCESS_READWRITE
- @see RT_ACCESS_DEFAULT
- @see RT_ACCESS_PARAMETERIZED_TYPE
- @see RT_ACCESS_PUBLISHED
- */
-typedef sal_uInt16 RTFieldAccess;
-
-/// specifies a unknown flag
-#define RT_ACCESS_INVALID 0x0000
-/// specifies a readonly property/attribute
-#define RT_ACCESS_READONLY 0x0001
-/// specifies a property as optional that means that it must not be implemented.
-#define RT_ACCESS_OPTIONAL 0x0002
-/// @see com::sun::star::beans::PropertyAttribute
-#define RT_ACCESS_MAYBEVOID 0x0004
-/// @see com::sun::star::beans::PropertyAttribute
-#define RT_ACCESS_BOUND 0x0008
-/// @see com::sun::star::beans::PropertyAttribute
-#define RT_ACCESS_CONSTRAINED 0x0010
-/// @see com::sun::star::beans::PropertyAttribute
-#define RT_ACCESS_TRANSIENT 0x0020
-/// @see com::sun::star::beans::PropertyAttribute
-#define RT_ACCESS_MAYBEAMBIGUOUS 0x0040
-/// @see com::sun::star::beans::PropertyAttribute
-#define RT_ACCESS_MAYBEDEFAULT 0x0080
-/// @see com::sun::star::beans::PropertyAttribute
-#define RT_ACCESS_REMOVEABLE 0x0100
-/// @see com::sun::star::beans::PropertyAttribute
-#define RT_ACCESS_ATTRIBUTE 0x0200
-/// specifies that the field is a property
-#define RT_ACCESS_PROPERTY 0x0400
-/// specifies that the field is a constant or enum value
-#define RT_ACCESS_CONST 0x0800
-/// specifies that the property/attribute has read/write access
-#define RT_ACCESS_READWRITE 0x1000
-/// only to describe a union default label
-#define RT_ACCESS_DEFAULT 0x2000
-
-/**
- Indicates that a member of a polymorphic struct type template is of a
- parameterized type.
-
- Only valid for fields that represent members of polymorphic struct type
- templates.
-
- @since UDK 3.2.0
- */
-#define RT_ACCESS_PARAMETERIZED_TYPE 0x4000
-
-/**
- Flag for published individual constants.
-
- Used in combination with RT_ACCESS_CONST for individual constants (which are
- not members of constant groups).
-
- @since UDK 3.2.0
- */
-#define RT_ACCESS_PUBLISHED 0x8000
-
-/** specifies the type of a field value.
-
- A field can have a value if it repsresents a constant or an enum value.
- */
-enum RTValueType {
- RT_TYPE_NONE,
- RT_TYPE_BOOL,
- RT_TYPE_BYTE,
- RT_TYPE_INT16,
- RT_TYPE_UINT16,
- RT_TYPE_INT32,
- RT_TYPE_UINT32,
- RT_TYPE_INT64,
- RT_TYPE_UINT64,
- RT_TYPE_FLOAT,
- RT_TYPE_DOUBLE,
- RT_TYPE_STRING
-};
-
-/** specifies a variable container for field values.
- */
-union RTConstValueUnion {
- sal_Bool aBool;
- sal_Int8 aByte;
- sal_Int16 aShort;
- sal_uInt16 aUShort;
- sal_Int32 aLong;
- sal_uInt32 aULong;
- sal_Int64 aHyper;
- sal_uInt64 aUHyper;
- float aFloat;
- double aDouble;
- sal_Unicode const * aString;
-};
-
-/** specifies the mode of a method.
-
- A method can be synchron or asynchron (oneway). The const attribute for
- methods was removed so that the const values are deprecated.
- */
-enum RTMethodMode {
- /// indicates an invalid mode
- RT_MODE_INVALID,
-
- /// indicates the asynchronous mode of a method
- RT_MODE_ONEWAY,
-
- /// @deprecated
- RT_MODE_ONEWAY_CONST,
-
- /// indicated the synchronous mode of a method
- RT_MODE_TWOWAY,
-
- /// @deprecated
- RT_MODE_TWOWAY_CONST,
-
- /**
- Indicates an extended attribute getter (that has a 'raises' clause) of an
- interface type.
-
- @since UDK 3.2.0
- */
- RT_MODE_ATTRIBUTE_GET,
-
- /**
- Indicates an extended attribute setter (that has a 'raises' clause) of an
- interface type.
-
- @since UDK 3.2.0
- */
- RT_MODE_ATTRIBUTE_SET
-};
-
-/** specifies the mode of a parameter.
-
- There are three paramter modes which have impact of the handling of the
- paramter in the UNO bridges and the UNO code generation.
- */
-enum RTParamMode {
- /// indicates an invalid parameter mode
- RT_PARAM_INVALID = 0,
-
- /// indicates a pure in parameter which is used by value
- RT_PARAM_IN = 1,
-
- /// indicates a pure out parameter which is used by reference
- RT_PARAM_OUT = 2,
-
- /// indicates a in and out parameter which is used also by reference
- RT_PARAM_INOUT = 3,
-
- /**
- Indicates a rest parameter (currently only valid for service
- constructors).
-
- This value can be combined with any of RT_PARAM_IN, RT_PARAM_OUT, and
- RT_PARAM_INOUT (however, service constructors currently only allow
- RT_PARAM_IN, anyway).
-
- @since UDK 3.2.0
- */
- RT_PARAM_REST = 4
-};
-
-/** specifies the type of a reference used in a service description.
- */
-enum RTReferenceType {
- /// the reference type is unknown
- RT_REF_INVALID,
-
- /** the service support the interface that means a implementation of this
- service must implement this interface.
- */
- RT_REF_SUPPORTS,
-
- /** @deprecated
- the service observes the interface.
- */
- RT_REF_OBSERVES,
-
- /** the service exports the specified service that means this service
- provides also the specified service.
- */
- RT_REF_EXPORTS,
-
- /** @deprecated
- the service needs the specified service that means in the context of
- this service the specified service will be used or must be available.
- */
- RT_REF_NEEDS,
-
- /**
- Indicates a type parameter of a polymorphic struct type template.
-
- @since UDK 3.2.0
- */
- RT_REF_TYPE_PARAMETER
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/version.h b/registry/inc/registry/version.h
deleted file mode 100644
index 01f0f8033323..000000000000
--- a/registry/inc/registry/version.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_registry_version_h
-#define INCLUDED_registry_version_h
-
-#include "sal/types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- The version of a binary blob that represents a UNOIDL type.
-
- <p>All values between <code>TYPEREG_VERSION_0</code> and
- <code>TYPEREG_MAX_VERSION</code> are valid, where currently unallocated
- values represent future versions. Negative values are not valid.</p>
-
- @see typereg::Reader
- @see typereg::Writer
-
- @since UDK 3.2.0
- */
-enum typereg_Version {
- /**
- Denotes the original version of UNOIDL type blobs.
- */
- TYPEREG_VERSION_0,
-
- /**
- Denotes the updated version of UNOIDL type blobs.
-
- <p>This version added support for multiple-inheritance interface types,
- extended interface type attributes, single-interface&ndash;based
- services, interface-based singletons, polymorphic struct types, and
- published entities.</p>
- */
- TYPEREG_VERSION_1,
-
- /**
- Denotes the maximum future version of UNOIDL type blobs.
- */
- TYPEREG_MAX_VERSION = SAL_MAX_INT32
-};
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/writer.h b/registry/inc/registry/writer.h
deleted file mode 100644
index f1b39a583e22..000000000000
--- a/registry/inc/registry/writer.h
+++ /dev/null
@@ -1,262 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_registry_writer_h
-#define INCLUDED_registry_writer_h
-
-#include "registry/regdllapi.h"
-#include "registry/types.h"
-#include "registry/version.h"
-
-#include "rtl/ustring.h"
-#include "sal/types.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Creates a type writer working on a binary blob that represents a UNOIDL type.
-
- <p>Operations on a returned handle are not multi-thread&ndash;safe.</p>
-
- @param version the version of the created type writer; must not be negative
-
- @param documentation the documentation; must not be null
-
- @param fileName the file name; must not be null (deprecated, use an empty string)
-
- @param typeClass the type class of the created type writer
-
- @param published whether the created type writer is published; for a type
- class that cannot be published, this should be false
-
- @param typeName the type name of the created type writer; must not be null
-
- @param superTypeCount the number of super types of the created type writer
-
- @param fieldCount the number of fields of the created type writer
-
- @param methodCount the number of methods of the created type writer
-
- @param referenceCount the number of references of the created type writer
-
- @return a handle on the type writer; if an out-of-memory condition occurs,
- null is returned, and no type writer is created
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void * SAL_CALL typereg_writer_create(
- typereg_Version version, rtl_uString const * documentation,
- rtl_uString const * fileName, RTTypeClass typeClass, sal_Bool published,
- rtl_uString const * typeName, sal_uInt16 superTypeCount,
- sal_uInt16 fieldCount, sal_uInt16 methodCount, sal_uInt16 referenceCount)
- SAL_THROW_EXTERN_C();
-
-/**
- Destroys a type writer.
-
- @param handle a handle on a type writer obtained from a call to
- <code>typereg_writer_create</code>; must not be null
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC void SAL_CALL typereg_writer_destroy(void * handle) SAL_THROW_EXTERN_C();
-
-/**
- Sets the type name of a super type of a type writer.
-
- @param handle a handle on a type writer; must not be null
-
- @param index a valid index into the range of super types of the given type
- writer
-
- @param typeName the super type name; must not be null
-
- @return false iff an out-of-memory condition ocurred, in which case the type
- writer is not modified
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_Bool SAL_CALL typereg_writer_setSuperTypeName(
- void * handle, sal_uInt16 index, rtl_uString const * typeName)
- SAL_THROW_EXTERN_C();
-
-/**
- Sets the data of a field of a type writer.
-
- @param handle a handle on a type writer; must not be null
-
- @param index a valid index into the range of fields of the given type writer
-
- @param documentation the documentation of the field; must not be null
-
- @param fileName the file name of the field; must not be null (deprecated, use an empty string)
-
- @param flags the flags of the field
-
- @param name the name of the field; must not be null
-
- @param typeName the type name of the field; must not be null
-
- @param valueType the type of the value of the field
-
- @param valueValue the value of the value of the field
-
- @return false iff an out-of-memory condition ocurred, in which case the type
- writer is not modified
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_Bool SAL_CALL typereg_writer_setFieldData(
- void * handle, sal_uInt16 index, rtl_uString const * documentation,
- rtl_uString const * fileName, RTFieldAccess flags, rtl_uString const * name,
- rtl_uString const * typeName, RTValueType valueType,
- RTConstValueUnion valueValue)
- SAL_THROW_EXTERN_C();
-
-/**
- Sets the data of a method of a type writer.
-
- @param handle a handle on a type writer; must not be null
-
- @param index a valid index into the range of methods of the given type writer
-
- @param documentation the documentation of the method; must not be null
-
- @param flags the flags of the method
-
- @param name the name of the method; must not be null
-
- @param returnTypeName the return type name of the method; must not be null
-
- @param parameterCount the number of parameters of the method
-
- @param exceptionCount the number of exceptions of the method
-
- @return false iff an out-of-memory condition ocurred, in which case the type
- writer is not modified
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_Bool SAL_CALL typereg_writer_setMethodData(
- void * handle, sal_uInt16 index, rtl_uString const * documentation,
- RTMethodMode flags, rtl_uString const * name,
- rtl_uString const * returnTypeName, sal_uInt16 parameterCount,
- sal_uInt16 exceptionCount)
- SAL_THROW_EXTERN_C();
-
-/**
- Sets the data of a parameter of a method of a type writer.
-
- @param handle a handle on a type writer; must not be null
-
- @param methodIndex a valid index into the range of methods of the given type
- writer
-
- @param parameterIndex a valid index into the range of parameters of the given
- method
-
- @param flags the flags of the parameter
-
- @param name the name of the parameter; must not be null
-
- @param typeName the type name of the parameter; must not be null
-
- @return false iff an out-of-memory condition ocurred, in which case the type
- writer is not modified
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_Bool SAL_CALL typereg_writer_setMethodParameterData(
- void * handle, sal_uInt16 methodIndex, sal_uInt16 parameterIndex,
- RTParamMode flags, rtl_uString const * name, rtl_uString const * typeName)
- SAL_THROW_EXTERN_C();
-
-/**
- Sets an exception type name of a method of a type writer.
-
- @param handle a handle on a type writer; must not be null
-
- @param methodIndex a valid index into the range of methods of the given type
- writer
-
- @param exceptionIndex a valid index into the range of exceptions of the given
- method
-
- @param typeName the exception type name; must not be null
-
- @return false iff an out-of-memory condition ocurred, in which case the type
- writer is not modified
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_Bool SAL_CALL typereg_writer_setMethodExceptionTypeName(
- void * handle, sal_uInt16 methodIndex, sal_uInt16 exceptionIndex,
- rtl_uString const * typeName)
- SAL_THROW_EXTERN_C();
-
-/**
- Sets the data of a reference of a type writer.
-
- @param handle a handle on a type writer; must not be null
-
- @param index a valid index into the range of references of the given type
- writer
-
- @param documentation the documentation of the reference; must not be null
-
- @param sort the sort of the reference
-
- @param flags the flags of the reference
-
- @param typeName the type name of the reference; must not be null
-
- @return false iff an out-of-memory condition ocurred, in which case the type
- writer is not modified
-
- @since UDK 3.2.0
- */
-REG_DLLPUBLIC sal_Bool SAL_CALL typereg_writer_setReferenceData(
- void * handle, sal_uInt16 index, rtl_uString const * documentation,
- RTReferenceType sort, RTFieldAccess flags, rtl_uString const * typeName)
- SAL_THROW_EXTERN_C();
-
-/**
- Returns the blob of a type writer.
-
- @param handle a handle on a type writer; must not be null
-
- @param size an out-parameter obtaining the size of the blob; must not be null
-
- @return a (byte-aligned) pointer to the blob; the returned pointer and the
- returned <code>size</code> remain valid until the next function is called on
- the given type writer; if an out-of-memory condition occurs, null is returned
- and <code>size</code> is not modified
- */
-REG_DLLPUBLIC void const * SAL_CALL typereg_writer_getBlob(void * handle, sal_uInt32 * size)
- SAL_THROW_EXTERN_C();
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/registry/inc/registry/writer.hxx b/registry/inc/registry/writer.hxx
deleted file mode 100644
index cfdf479853df..000000000000
--- a/registry/inc/registry/writer.hxx
+++ /dev/null
@@ -1,291 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- *
- * This file incorporates work covered by the following license notice:
- *
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed
- * with this work for additional information regarding copyright
- * ownership. The ASF licenses this file to you under the Apache
- * License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of
- * the License at http://www.apache.org/licenses/LICENSE-2.0 .
- */
-
-#ifndef INCLUDED_registry_writer_hxx
-#define INCLUDED_registry_writer_hxx
-
-#include "registry/writer.h"
-#include "registry/refltype.hxx"
-#include "registry/types.h"
-#include "registry/version.h"
-
-#include "rtl/ustring.hxx"
-#include "sal/types.h"
-
-#include <new>
-
-namespace typereg {
-
-/**
- A type writer working on a binary blob that represents a UNOIDL type.
-
- <p>Instances of this class are not multi-thread&ndash;safe.</p>
-
- @since UDK 3.2.0
- */
-class Writer {
-public:
- /**
- Creates a type writer.
-
- @param version the version of the created type writer; must not be
- negative
-
- @param documentation the documentation
-
- @param fileName the file name (deprecated, use an empty string)
-
- @param typeClass the type class of the created type writer
-
- @param published whether the created type writer is published; for a type
- class that cannot be published, this should be false
-
- @param typeName the type name of the created type writer
-
- @param superTypeCount the number of super types of the created type
- writer
-
- @param fieldCount the number of fields of the created type writer
-
- @param methodCount the number of methods of the created type writer
-
- @param referenceCount the number of references of the created type writer
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- Writer(
- typereg_Version version, OUString const & documentation,
- OUString const & fileName, RTTypeClass typeClass, bool published,
- OUString const & typeName, sal_uInt16 superTypeCount,
- sal_uInt16 fieldCount, sal_uInt16 methodCount,
- sal_uInt16 referenceCount):
- m_handle(
- typereg_writer_create(
- version, documentation.pData, fileName.pData, typeClass,
- published, typeName.pData, superTypeCount, fieldCount,
- methodCount, referenceCount))
- {
- if (m_handle == 0) {
- throw std::bad_alloc();
- }
- }
-
- /**
- Destroys this <code>Writer</code> instance.
- */
- ~Writer() {
- typereg_writer_destroy(m_handle);
- }
-
- /**
- Sets the type name of a super type of this type writer.
-
- @param index a valid index into the range of super types of this type
- writer
-
- @param typeName the super type name
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- void setSuperTypeName(sal_uInt16 index, OUString const & typeName) {
- if (!typereg_writer_setSuperTypeName(m_handle, index, typeName.pData)) {
- throw std::bad_alloc();
- }
- }
-
- /**
- Sets the data of a field of this type writer.
-
- @param index a valid index into the range of fields of this type writer
-
- @param documentation the documentation of the field
-
- @param fileName the file name of the field (deprecated, use an empty string)
-
- @param flags the flags of the field
-
- @param name the name of the field
-
- @param typeName the type name of the field
-
- @param value the value of the field
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- void setFieldData(
- sal_uInt16 index, OUString const & documentation,
- OUString const & fileName, RTFieldAccess flags, OUString const & name,
- OUString const & typeName, RTConstValue const & value)
- {
- if (!typereg_writer_setFieldData(
- m_handle, index, documentation.pData, fileName.pData, flags,
- name.pData, typeName.pData, value.m_type, value.m_value))
- {
- throw std::bad_alloc();
- }
- }
-
- /**
- Sets the data of a method of this type writer.
-
- @param index a valid index into the range of methods of this type writer
-
- @param documentation the documentation of the method
-
- @param flags the flags of the method
-
- @param name the name of the method
-
- @param returnTypeName the return type name of the method
-
- @param parameterCount the number of parameters of the method
-
- @param exceptionCount the number of exceptions of the method
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- void setMethodData(
- sal_uInt16 index, OUString const & documentation,
- RTMethodMode flags, OUString const & name,
- OUString const & returnTypeName, sal_uInt16 parameterCount,
- sal_uInt16 exceptionCount)
- {
- if (!typereg_writer_setMethodData(
- m_handle, index, documentation.pData, flags, name.pData,
- returnTypeName.pData, parameterCount, exceptionCount))
- {
- throw std::bad_alloc();
- }
- }
-
- /**
- Sets the data of a parameter of a method of this type writer.
-
- @param methodIndex a valid index into the range of methods of this type
- writer
-
- @param parameterIndex a valid index into the range of parameters of the
- given method
-
- @param flags the flags of the parameter
-
- @param name the name of the parameter
-
- @param typeName the type name of the parameter
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- void setMethodParameterData(
- sal_uInt16 methodIndex, sal_uInt16 parameterIndex,
- RTParamMode flags, OUString const & name,
- OUString const & typeName)
- {
- if (!typereg_writer_setMethodParameterData(
- m_handle, methodIndex, parameterIndex, flags, name.pData,
- typeName.pData))
- {
- throw std::bad_alloc();
- }
- }
-
- /**
- Sets an exception type name of a method of this type writer.
-
- @param methodIndex a valid index into the range of methods of this type
- writer
-
- @param exceptionIndex a valid index into the range of exceptions of the
- given method
-
- @param typeName the exception type name
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- void setMethodExceptionTypeName(
- sal_uInt16 methodIndex, sal_uInt16 exceptionIndex,
- OUString const & typeName)
- {
- if (!typereg_writer_setMethodExceptionTypeName(
- m_handle, methodIndex, exceptionIndex, typeName.pData))
- {
- throw std::bad_alloc();
- }
- }
-
- /**
- Sets the data of a reference of this type writer.
-
- @param index a valid index into the range of references of this type
- writer
-
- @param documentation the documentation of the reference
-
- @param sort the sort of the reference
-
- @param flags the flags of the reference
-
- @param typeName the type name of the reference
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- */
- void setReferenceData(
- sal_uInt16 index, OUString const & documentation,
- RTReferenceType sort, RTFieldAccess flags,
- OUString const & typeName)
- {
- if (!typereg_writer_setReferenceData(
- m_handle, index, documentation.pData, sort, flags,
- typeName.pData))
- {
- throw std::bad_alloc();
- }
- }
-
- /**
- Returns the blob of this type writer.
-
- @param size an out-parameter obtaining the size of the blob
-
- @return a (byte-aligned) pointer to the blob; the returned pointer and
- the returned <code>size</code> remain valid until the next function is
- called on this type writer
-
- @exception std::bad_alloc is raised if an out-of-memory condition occurs
- (in which case <code>siez</code> is not modified
- */
- void const * getBlob(sal_uInt32 * size) {
- void const * p = typereg_writer_getBlob(m_handle, size);
- if (p == 0) {
- throw std::bad_alloc();
- }
- return p;
- }
-
-private:
- Writer(Writer &); // not implemented
- void operator =(Writer); // not implemented
-
- void * m_handle;
-};
-
-}
-
-#endif
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */