[Libreoffice-commits] core.git: 2 commits - bridges/source codemaker/source comphelper/source cppuhelper/source cppu/Library_cppu.mk cppu/source extensions/source include/com include/typelib odk/docs pyuno/source ridljar/com solenv/gdb stoc/source stoc/test udkapi/com winaccessibility/source wizards/com
Stephan Bergmann
sbergman at redhat.com
Fri Jan 31 01:25:23 PST 2014
bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx | 2
bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx | 2
bridges/source/cpp_uno/mingw_x86-64/abi.cxx | 2
codemaker/source/cppumaker/cpputype.cxx | 2
comphelper/source/container/enumerablemap.cxx | 2
comphelper/source/misc/anytostring.cxx | 2
cppu/Library_cppu.mk | 1
cppu/source/cppu/compat.cxx | 47 +++
cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx | 3
cppu/source/typelib/static_types.cxx | 65 ----
cppu/source/typelib/typelib.cxx | 201 --------------
cppu/source/uno/assign.hxx | 163 -----------
cppu/source/uno/constr.hxx | 116 --------
cppu/source/uno/copy.hxx | 207 ---------------
cppu/source/uno/destr.hxx | 85 ------
cppu/source/uno/eq.hxx | 60 ----
cppu/source/uno/prim.hxx | 26 -
cppu/source/uno/sequence.cxx | 95 ------
cppuhelper/source/tdmgr.cxx | 102 -------
extensions/source/ole/unoconversionutilities.hxx | 7
extensions/source/propctrlr/formcomponenthandler.cxx | 1
include/com/sun/star/uno/Sequence.h | 3
include/com/sun/star/uno/Type.h | 43 ---
include/com/sun/star/uno/Type.hxx | 117 --------
include/typelib/typeclass.h | 10
include/typelib/typedescription.h | 128 ---------
odk/docs/idl/idl_chapter_refs.txt | 2
pyuno/source/module/pyuno.cxx | 5
pyuno/source/module/pyuno_type.cxx | 4
ridljar/com/sun/star/uno/Union.java | 8
solenv/gdb/libreoffice/util/uno.py | 10
stoc/source/corereflection/crarray.cxx | 8
stoc/source/corereflection/crefl.cxx | 2
stoc/source/typeconv/convert.cxx | 33 +-
stoc/test/testconv.cxx | 8
stoc/test/testintrosp.cxx | 2
udkapi/com/sun/star/reflection/XArrayTypeDescription.idl | 4
udkapi/com/sun/star/reflection/XUnionTypeDescription.idl | 5
udkapi/com/sun/star/uno/TypeClass.idl | 8
winaccessibility/source/UAccCOM/MAccessible.cxx | 4
wizards/com/sun/star/wizards/common/NumericalHelper.java | 43 ---
41 files changed, 109 insertions(+), 1529 deletions(-)
New commits:
commit a2c464868aca4bb38aa8afff635da56942b597ac
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Fri Jan 31 10:18:17 2014 +0100
[API CHANGE] Remove UNOIDL "array" and "union" vaporware remnants from cppu
This leaves only aborting stubs (for SONAME stability) for
typelib_static_array_type_init
typelib_typedescription_newArray
typelib_typedescription_newUnion
and completely removes corresponding
typelib_ArrayTypeDescription
typelib_UnionTypeDescription
structs and C++ inline
getCppuArrayType*
functions. None of this should ever have been called by client code anyway, so
while technically an API change it should not matter for practical purposes.
Change-Id: I23769d104d545533bf578762b79994e269d78c22
diff --git a/cppu/Library_cppu.mk b/cppu/Library_cppu.mk
index c00fd8e..820e88f 100644
--- a/cppu/Library_cppu.mk
+++ b/cppu/Library_cppu.mk
@@ -31,6 +31,7 @@ $(eval $(call gb_Library_add_cobjects,cppu,\
))
$(eval $(call gb_Library_add_exception_objects,cppu,\
+ cppu/source/cppu/compat \
cppu/source/cppu/cppu_opt \
cppu/source/threadpool/current \
cppu/source/threadpool/jobqueue \
diff --git a/cppu/source/cppu/compat.cxx b/cppu/source/cppu/compat.cxx
new file mode 100644
index 0000000..06181e6ef
--- /dev/null
+++ b/cppu/source/cppu/compat.cxx
@@ -0,0 +1,47 @@
+/* -*- 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/.
+ */
+
+#include <sal/config.h>
+
+#include <cstdlib>
+
+#include <typelib/typedescription.h>
+#include <rtl/ustring.h>
+#include <sal/types.h>
+
+// Stubs for removed functionality, to be killed when we bump sal SONAME
+
+extern "C" {
+
+SAL_DLLPUBLIC_EXPORT void SAL_CALL typelib_static_array_type_init(
+ typelib_TypeDescriptionReference **, typelib_TypeDescriptionReference *,
+ sal_Int32, ...) SAL_THROW_EXTERN_C()
+{
+ std::abort();
+}
+
+SAL_DLLPUBLIC_EXPORT void SAL_CALL typelib_typedescription_newArray(
+ typelib_TypeDescription **, typelib_TypeDescriptionReference *,
+ sal_Int32, sal_Int32 *) SAL_THROW_EXTERN_C()
+{
+ std::abort();
+}
+
+SAL_DLLPUBLIC_EXPORT void SAL_CALL typelib_typedescription_newUnion(
+ typelib_TypeDescription **, rtl_uString *,
+ typelib_TypeDescriptionReference *, sal_Int64,
+ typelib_TypeDescriptionReference *, sal_Int32, void *)
+ SAL_THROW_EXTERN_C()
+{
+ std::abort();
+}
+
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/cppu/source/typelib/static_types.cxx b/cppu/source/typelib/static_types.cxx
index 83f52ab..fb14603 100644
--- a/cppu/source/typelib/static_types.cxx
+++ b/cppu/source/typelib/static_types.cxx
@@ -573,71 +573,6 @@ CPPU_DLLPUBLIC void SAL_CALL typelib_static_enum_type_init(
}
}
-//##################################################################################################
-CPPU_DLLPUBLIC void SAL_CALL typelib_static_array_type_init(
- typelib_TypeDescriptionReference ** ppRef,
- typelib_TypeDescriptionReference * pElementTypeRef,
- sal_Int32 nDimensions, ... )
- SAL_THROW_EXTERN_C()
-{
- if (! *ppRef)
- {
- MutexGuard aGuard( typelib_StaticInitMutex::get() );
- if (! *ppRef)
- {
- OUStringBuffer aBuf( 32 );
- aBuf.append( pElementTypeRef->pTypeName );
-
- va_list dimArgs;
- va_start( dimArgs, nDimensions );
- sal_Int32 dim = 0;
- sal_Int32 nElements = 1;
- sal_Int32* pDimensions = new sal_Int32[nDimensions];
- for (sal_Int32 i=0; i < nDimensions; i++)
- {
- dim = va_arg( dimArgs, int);
- pDimensions[i] = dim;
- aBuf.appendAscii("[");
- aBuf.append(dim);
- aBuf.appendAscii("]");
- nElements *= dim;
- }
- va_end( dimArgs );
- OUString aTypeName( aBuf.makeStringAndClear() );
-
- assert( ! TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK(typelib_TypeClass_ARRAY) );
- *ppRef = igetTypeByName( aTypeName.pData );
- if (!*ppRef)
- {
- typelib_TypeDescription * pReg = 0;
- ::typelib_typedescription_newEmpty(
- &pReg, typelib_TypeClass_ARRAY, aTypeName.pData );
- typelib_ArrayTypeDescription * pArray = (typelib_ArrayTypeDescription *)pReg;
-
- pArray->nDimensions = nDimensions;
- pArray->nTotalElements = nElements;
- pArray->pDimensions = pDimensions;
-
- typelib_typedescriptionreference_acquire(pElementTypeRef);
- ((typelib_IndirectTypeDescription*)pArray)->pType = pElementTypeRef;
-
- pReg->pWeakRef = (typelib_TypeDescriptionReference *)pReg;
- // sizeof( void ) not allowed
- pReg->nSize = ::typelib_typedescription_getAlignedUnoSize( pReg, 0, pReg->nAlignment );
- pReg->nAlignment = ::adjustAlignment( pReg->nAlignment );
- pReg->bComplete = sal_True;
-
- ::typelib_typedescription_register( &pReg );
- *ppRef = (typelib_TypeDescriptionReference *)pReg;
- assert( *ppRef == pReg->pWeakRef );
- } else
- delete [] pDimensions;
- // another static ref:
- ++((*ppRef)->nStaticRefCount);
- }
- }
-}
-
} // extern "C"
}
diff --git a/cppu/source/typelib/typelib.cxx b/cppu/source/typelib/typelib.cxx
index 585b6c5..4afb438 100644
--- a/cppu/source/typelib/typelib.cxx
+++ b/cppu/source/typelib/typelib.cxx
@@ -116,18 +116,10 @@ static inline sal_Int32 getDescriptionSize( typelib_TypeClass eTypeClass )
// the new description
switch( eTypeClass )
{
- case typelib_TypeClass_ARRAY:
- nSize = (sal_Int32)sizeof( typelib_ArrayTypeDescription );
- break;
-
case typelib_TypeClass_SEQUENCE:
nSize = (sal_Int32)sizeof( typelib_IndirectTypeDescription );
break;
- case typelib_TypeClass_UNION:
- nSize = (sal_Int32)sizeof( typelib_UnionTypeDescription );
- break;
-
case typelib_TypeClass_STRUCT:
nSize = (sal_Int32)sizeof( typelib_StructTypeDescription );
break;
@@ -211,9 +203,7 @@ struct TypeDescriptor_Init_Impl
// only for debugging
sal_Int32 nTypeDescriptionCount;
sal_Int32 nCompoundTypeDescriptionCount;
- sal_Int32 nUnionTypeDescriptionCount;
sal_Int32 nIndirectTypeDescriptionCount;
- sal_Int32 nArrayTypeDescriptionCount;
sal_Int32 nEnumTypeDescriptionCount;
sal_Int32 nInterfaceMethodTypeDescriptionCount;
sal_Int32 nInterfaceAttributeTypeDescriptionCount;
@@ -225,8 +215,8 @@ struct TypeDescriptor_Init_Impl
pWeakMap(0), pCallbacks(0), pCache(0), pMutex(0)
#if OSL_DEBUG_LEVEL > 1
, nTypeDescriptionCount(0), nCompoundTypeDescriptionCount(0),
- nUnionTypeDescriptionCount(0), nIndirectTypeDescriptionCount(0),
- nArrayTypeDescriptionCount(0), nEnumTypeDescriptionCount(0),
+ nIndirectTypeDescriptionCount(0),
+ nEnumTypeDescriptionCount(0),
nInterfaceMethodTypeDescriptionCount(0),
nInterfaceAttributeTypeDescriptionCount(0),
nInterfaceTypeDescriptionCount(0), nTypeDescriptionReferenceCount(0)
@@ -335,9 +325,7 @@ TypeDescriptor_Init_Impl::~TypeDescriptor_Init_Impl() SAL_THROW(())
#if OSL_DEBUG_LEVEL > 1
OSL_ENSURE( !nTypeDescriptionCount, "### nTypeDescriptionCount is not zero" );
OSL_ENSURE( !nCompoundTypeDescriptionCount, "### nCompoundTypeDescriptionCount is not zero" );
- OSL_ENSURE( !nUnionTypeDescriptionCount, "### nUnionTypeDescriptionCount is not zero" );
OSL_ENSURE( !nIndirectTypeDescriptionCount, "### nIndirectTypeDescriptionCount is not zero" );
- OSL_ENSURE( !nArrayTypeDescriptionCount, "### nArrayTypeDescriptionCount is not zero" );
OSL_ENSURE( !nEnumTypeDescriptionCount, "### nEnumTypeDescriptionCount is not zero" );
OSL_ENSURE( !nInterfaceMethodTypeDescriptionCount, "### nInterfaceMethodTypeDescriptionCount is not zero" );
OSL_ENSURE( !nInterfaceAttributeTypeDescriptionCount, "### nInterfaceAttributeTypeDescriptionCount is not zero" );
@@ -491,7 +479,6 @@ bool complete(typelib_TypeDescription ** ppTypeDescr, bool initTables) {
{
OSL_ASSERT( (typelib_TypeClass_STRUCT == (*ppTypeDescr)->eTypeClass ||
typelib_TypeClass_EXCEPTION == (*ppTypeDescr)->eTypeClass ||
- typelib_TypeClass_UNION == (*ppTypeDescr)->eTypeClass ||
typelib_TypeClass_ENUM == (*ppTypeDescr)->eTypeClass ||
typelib_TypeClass_INTERFACE == (*ppTypeDescr)->eTypeClass) &&
!reallyWeak( (*ppTypeDescr)->eTypeClass ) );
@@ -593,21 +580,6 @@ extern "C" void SAL_CALL typelib_typedescription_newEmpty(
typelib_TypeDescription * pRet;
switch( eTypeClass )
{
- case typelib_TypeClass_ARRAY:
- {
- typelib_ArrayTypeDescription * pTmp = new typelib_ArrayTypeDescription();
- typelib_IndirectTypeDescription * pIndirect = (typelib_IndirectTypeDescription *)pTmp;
- pRet = (typelib_TypeDescription *)pTmp;
-#if OSL_DEBUG_LEVEL > 1
- osl_atomic_increment( &Init::get().nArrayTypeDescriptionCount );
-#endif
- pIndirect->pType = 0;
- pTmp->nDimensions = 0;
- pTmp->nTotalElements = 0;
- pTmp->pDimensions = 0;
- }
- break;
-
case typelib_TypeClass_SEQUENCE:
{
typelib_IndirectTypeDescription * pTmp = new typelib_IndirectTypeDescription();
@@ -619,23 +591,6 @@ extern "C" void SAL_CALL typelib_typedescription_newEmpty(
}
break;
- case typelib_TypeClass_UNION:
- {
- typelib_UnionTypeDescription * pTmp;
- pTmp = new typelib_UnionTypeDescription();
- pRet = (typelib_TypeDescription *)pTmp;
-#if OSL_DEBUG_LEVEL > 1
- osl_atomic_increment( &Init::get().nUnionTypeDescriptionCount );
-#endif
- pTmp->nMembers = 0;
- pTmp->pDiscriminantTypeRef = 0;
- pTmp->pDiscriminants = 0;
- pTmp->ppTypeRefs = 0;
- pTmp->ppMemberNames = 0;
- pTmp->pDefaultTypeRef = 0;
- }
- break;
-
case typelib_TypeClass_STRUCT:
{
// FEATURE_EMPTYCLASS
@@ -920,59 +875,6 @@ extern "C" CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newStruct(
}
//------------------------------------------------------------------------
-extern "C" CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newUnion(
- typelib_TypeDescription ** ppRet,
- rtl_uString * pTypeName,
- typelib_TypeDescriptionReference * pDiscriminantTypeRef,
- sal_Int64 nDefaultDiscriminant,
- typelib_TypeDescriptionReference * pDefaultTypeRef,
- sal_Int32 nMembers,
- typelib_Union_Init * pMembers )
- SAL_THROW_EXTERN_C()
-{
- typelib_typedescription_newEmpty( ppRet, typelib_TypeClass_UNION, pTypeName );
- // discriminant type
- typelib_UnionTypeDescription * pTmp = (typelib_UnionTypeDescription *)*ppRet;
- typelib_typedescriptionreference_acquire( pTmp->pDiscriminantTypeRef = pDiscriminantTypeRef );
-
- sal_Int32 nPos;
-
- pTmp->nMembers = nMembers;
- // default discriminant
- if (nMembers)
- {
- pTmp->pDiscriminants = new sal_Int64[ nMembers ];
- for ( nPos = nMembers; nPos--; )
- {
- pTmp->pDiscriminants[nPos] = pMembers[nPos].nDiscriminant;
- }
- }
- // default default discriminant
- pTmp->nDefaultDiscriminant = nDefaultDiscriminant;
-
- // union member types
- pTmp->ppTypeRefs = new typelib_TypeDescriptionReference *[ nMembers ];
- for ( nPos = nMembers; nPos--; )
- {
- typelib_typedescriptionreference_acquire( pTmp->ppTypeRefs[nPos] = pMembers[nPos].pTypeRef );
- }
- // union member names
- pTmp->ppMemberNames = new rtl_uString *[ nMembers ];
- for ( nPos = nMembers; nPos--; )
- {
- rtl_uString_acquire( pTmp->ppMemberNames[nPos] = pMembers[nPos].pMemberName );
- }
-
- // default union type
- typelib_typedescriptionreference_acquire( pTmp->pDefaultTypeRef = pDefaultTypeRef );
-
- if (! reallyWeak( typelib_TypeClass_UNION ))
- (*ppRet)->pWeakRef = (typelib_TypeDescriptionReference *)*ppRet;
- (*ppRet)->nSize = typelib_typedescription_getAlignedUnoSize( (*ppRet), 0, (*ppRet)->nAlignment );
- (*ppRet)->nAlignment = adjustAlignment( (*ppRet)->nAlignment );
-}
-
-//------------------------------------------------------------------------
extern "C" CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newEnum(
typelib_TypeDescription ** ppRet,
rtl_uString * pTypeName,
@@ -1002,44 +904,6 @@ extern "C" CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newEnum(
}
//------------------------------------------------------------------------
-extern "C" CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newArray(
- typelib_TypeDescription ** ppRet,
- typelib_TypeDescriptionReference * pElementTypeRef,
- sal_Int32 nDimensions,
- sal_Int32 * pDimensions )
- SAL_THROW_EXTERN_C ()
-{
- OUStringBuffer aBuf( 32 );
- aBuf.append( pElementTypeRef->pTypeName );
- sal_Int32 nElements = 1;
- for (sal_Int32 i=0; i < nDimensions; i++)
- {
- aBuf.appendAscii("[");
- aBuf.append(pDimensions[i]);
- aBuf.appendAscii("]");
- nElements *= pDimensions[i];
- }
- OUString aTypeName( aBuf.makeStringAndClear() );
-
-
- typelib_typedescription_newEmpty( ppRet, typelib_TypeClass_ARRAY, aTypeName.pData );
- typelib_ArrayTypeDescription * pArray = (typelib_ArrayTypeDescription *)*ppRet;
-
- pArray->nDimensions = nDimensions;
- pArray->nTotalElements = nElements;
- pArray->pDimensions = new sal_Int32[ nDimensions ];
- ::memcpy( pArray->pDimensions, pDimensions, nDimensions * sizeof(sal_Int32) );
-
- typelib_typedescriptionreference_acquire(pElementTypeRef);
- ((typelib_IndirectTypeDescription*)pArray)->pType = pElementTypeRef;
-
- (*ppRet)->pWeakRef = (typelib_TypeDescriptionReference *)*ppRet;
- // sizeof( void ) not allowed
- (*ppRet)->nSize = typelib_typedescription_getAlignedUnoSize( *ppRet, 0, (*ppRet)->nAlignment );
- (*ppRet)->nAlignment = adjustAlignment( (*ppRet)->nAlignment );
-}
-
-//------------------------------------------------------------------------
extern "C" CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newInterface(
typelib_InterfaceTypeDescription ** ppRet,
rtl_uString * pTypeName,
@@ -1449,38 +1313,10 @@ static inline void typelib_typedescription_destructExtendedMembers(
switch( pTD->eTypeClass )
{
- case typelib_TypeClass_ARRAY:
- if( ((typelib_IndirectTypeDescription*)pTD)->pType )
- typelib_typedescriptionreference_release( ((typelib_IndirectTypeDescription*)pTD)->pType );
- delete [] ((typelib_ArrayTypeDescription *)pTD)->pDimensions;
- break;
case typelib_TypeClass_SEQUENCE:
if( ((typelib_IndirectTypeDescription*)pTD)->pType )
typelib_typedescriptionreference_release( ((typelib_IndirectTypeDescription*)pTD)->pType );
break;
- case typelib_TypeClass_UNION:
- {
- typelib_UnionTypeDescription * pUnionTD = (typelib_UnionTypeDescription *)pTD;
- typelib_typedescriptionreference_release( pUnionTD->pDiscriminantTypeRef );
- typelib_typedescriptionreference_release( pUnionTD->pDefaultTypeRef );
-
- sal_Int32 nPos;
- typelib_TypeDescriptionReference ** ppTypeRefs = pUnionTD->ppTypeRefs;
- for ( nPos = pUnionTD->nMembers; nPos--; )
- {
- typelib_typedescriptionreference_release( ppTypeRefs[nPos] );
- }
-
- rtl_uString ** ppMemberNames = pUnionTD->ppMemberNames;
- for ( nPos = pUnionTD->nMembers; nPos--; )
- {
- rtl_uString_release( ppMemberNames[nPos] );
- }
- delete [] pUnionTD->ppMemberNames;
- delete [] pUnionTD->pDiscriminants;
- delete [] pUnionTD->ppTypeRefs;
- }
- break;
case typelib_TypeClass_STRUCT:
delete[] reinterpret_cast< typelib_StructTypeDescription * >(pTD)->
pParameterizedTypes;
@@ -1618,15 +1454,9 @@ extern "C" CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_release(
#if OSL_DEBUG_LEVEL > 1
switch( pTD->eTypeClass )
{
- case typelib_TypeClass_ARRAY:
- osl_atomic_decrement( &rInit.nArrayTypeDescriptionCount );
- break;
case typelib_TypeClass_SEQUENCE:
osl_atomic_decrement( &rInit.nIndirectTypeDescriptionCount );
break;
- case typelib_TypeClass_UNION:
- osl_atomic_decrement( &rInit.nUnionTypeDescriptionCount );
- break;
case typelib_TypeClass_STRUCT:
case typelib_TypeClass_EXCEPTION:
osl_atomic_decrement( &rInit.nCompoundTypeDescriptionCount );
@@ -1830,24 +1660,6 @@ extern "C" sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize(
// FEATURE_INTERFACE
nSize = rMaxIntegralTypeSize = (sal_Int32)(sizeof( void * ));
break;
- case typelib_TypeClass_UNION:
- {
- nSize = rMaxIntegralTypeSize = (sal_Int32)(sizeof(sal_Int64));
- for ( sal_Int32 nPos = ((typelib_UnionTypeDescription *)pTypeDescription)->nMembers; nPos--; )
- {
- typelib_TypeDescription * pTD = 0;
- TYPELIB_DANGER_GET( &pTD, ((typelib_UnionTypeDescription *)pTypeDescription)->ppTypeRefs[nPos] );
- sal_Int32 nMaxIntegralTypeSize;
- sal_Int32 nMemberSize = typelib_typedescription_getAlignedUnoSize( pTD, (sal_Int32)(sizeof(sal_Int64)), nMaxIntegralTypeSize );
- TYPELIB_DANGER_RELEASE( pTD );
- if (nSize < nMemberSize)
- nSize = nMemberSize;
- if (rMaxIntegralTypeSize < nMaxIntegralTypeSize)
- rMaxIntegralTypeSize = nMaxIntegralTypeSize;
- }
- ((typelib_UnionTypeDescription *)pTypeDescription)->nValueOffset = rMaxIntegralTypeSize;
- }
- break;
case typelib_TypeClass_ENUM:
nSize = rMaxIntegralTypeSize = (sal_Int32)(sizeof( typelib_TypeClass ));
break;
@@ -1900,15 +1712,6 @@ extern "C" sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize(
nSize += nStructSize;
}
break;
- case typelib_TypeClass_ARRAY:
- {
- typelib_TypeDescription * pTD = 0;
- TYPELIB_DANGER_GET( &pTD, ((typelib_IndirectTypeDescription *)pTypeDescription)->pType );
- rMaxIntegralTypeSize = pTD->nSize;
- TYPELIB_DANGER_RELEASE( pTD );
- nSize = ((typelib_ArrayTypeDescription *)pTypeDescription)->nTotalElements * rMaxIntegralTypeSize;
- }
- break;
case typelib_TypeClass_SEQUENCE:
nSize = rMaxIntegralTypeSize = (sal_Int32)(sizeof( void * ));
break;
diff --git a/cppu/source/uno/assign.hxx b/cppu/source/uno/assign.hxx
index 66b065c..655fe4c 100644
--- a/cppu/source/uno/assign.hxx
+++ b/cppu/source/uno/assign.hxx
@@ -101,128 +101,6 @@ inline sal_Bool _assignStruct(
return sal_True;
}
//--------------------------------------------------------------------------------------------------
-inline sal_Bool _assignArray(
- void * pDest, void * pSource,
- typelib_ArrayTypeDescription * pTypeDescr,
- uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, uno_ReleaseFunc release )
-{
- typelib_TypeDescriptionReference * pElementTypeRef =
- ((typelib_IndirectTypeDescription *)pTypeDescr)->pType;
- typelib_TypeDescription * pElementTypeDescr = NULL;
- TYPELIB_DANGER_GET( &pElementTypeDescr, pElementTypeRef );
- sal_Int32 nTotalElements = pTypeDescr->nTotalElements;
- sal_Int32 nElementSize = pElementTypeDescr->nSize;
- sal_Int32 i;
- sal_Bool bRet = sal_False;
-
- switch ( pElementTypeRef->eTypeClass )
- {
- case typelib_TypeClass_CHAR:
- case typelib_TypeClass_BOOLEAN:
- case typelib_TypeClass_BYTE:
- case typelib_TypeClass_SHORT:
- case typelib_TypeClass_UNSIGNED_SHORT:
- case typelib_TypeClass_LONG:
- case typelib_TypeClass_UNSIGNED_LONG:
- case typelib_TypeClass_HYPER:
- case typelib_TypeClass_UNSIGNED_HYPER:
- case typelib_TypeClass_FLOAT:
- case typelib_TypeClass_DOUBLE:
- for (i=0; i < nTotalElements; i++)
- {
- memcpy((sal_Char *)pDest + i * nElementSize,
- (sal_Char *)pSource + i * nElementSize,
- nElementSize);
- }
- bRet = sal_True;
- break;
- case typelib_TypeClass_STRING:
- for (i=0; i < nTotalElements; i++)
- {
- ::rtl_uString_assign( (rtl_uString **)pDest + i,
- ((rtl_uString **)pSource)[i] );
- }
- bRet = sal_True;
- break;
- case typelib_TypeClass_TYPE:
- for (i=0; i < nTotalElements; i++)
- {
- typelib_TypeDescriptionReference ** pp = (typelib_TypeDescriptionReference **)pDest + i;
- ::typelib_typedescriptionreference_release( *pp );
- *pp = *((typelib_TypeDescriptionReference **)pSource + i);
- TYPE_ACQUIRE( *pp );
- }
- bRet = sal_True;
- break;
- case typelib_TypeClass_ANY:
- for (i=0; i < nTotalElements; i++)
- {
- _destructAny( (uno_Any *)pDest + i, release );
- _copyConstructAny( (uno_Any *)pDest + i, (uno_Any *)pSource + i,
- pElementTypeRef, pElementTypeDescr, acquire, 0 );
- }
- bRet = sal_True;
- break;
- case typelib_TypeClass_ENUM:
- for (i=0; i < nTotalElements; i++)
- {
- *((sal_Int32 *)pDest + i) = *((sal_Int32 *)pSource + i);
- }
- bRet = sal_True;
- break;
- case typelib_TypeClass_STRUCT:
- case typelib_TypeClass_EXCEPTION:
- for (i=0; i < nTotalElements; i++)
- {
- bRet = _assignStruct( (sal_Char *)pDest + i * nElementSize,
- (sal_Char *)pSource + i * nElementSize,
- (typelib_CompoundTypeDescription *)pElementTypeDescr,
- queryInterface, acquire, release );
- if (! bRet)
- break;
- }
- bRet = sal_True;
- break;
- case typelib_TypeClass_UNION:
- for (i=0; i < nTotalElements; i++)
- {
- _destructUnion( (sal_Char*)pDest + i * nElementSize, pElementTypeDescr, release );
- _copyConstructUnion( (sal_Char*)pDest + i * nElementSize,
- (sal_Char*)pSource + i * nElementSize,
- pElementTypeDescr, acquire, 0 );
- }
- bRet = sal_True;
- break;
- case typelib_TypeClass_SEQUENCE:
- for (i=0; i < nTotalElements; i++)
- {
- osl_atomic_increment( &(*((uno_Sequence **)pSource + i))->nRefCount );
- idestructSequence(
- *((uno_Sequence **)pDest + i),
- pElementTypeRef, pElementTypeDescr, release );
- *((uno_Sequence **)pDest + i) = *((uno_Sequence **)pSource + i);
- }
- bRet = sal_True;
- break;
- case typelib_TypeClass_INTERFACE:
- for (i=0; i < nTotalElements; i++)
- {
- _assignInterface(
- (void **)((sal_Char*)pDest + i * nElementSize),
- *(void **)((sal_Char*)pSource + i * nElementSize),
- acquire, release );
- }
- bRet = sal_True;
- break;
- default:
- OSL_ASSERT(false);
- break;
- }
-
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- return bRet;
-}
-//--------------------------------------------------------------------------------------------------
inline sal_Bool _assignData(
void * pDest,
typelib_TypeDescriptionReference * pDestType, typelib_TypeDescription * pDestTypeDescr,
@@ -516,47 +394,6 @@ inline sal_Bool _assignData(
return bRet;
}
return sal_False;
- case typelib_TypeClass_ARRAY:
- {
- sal_Bool bRet = sal_False;
- if (pSourceTypeDescr)
- {
- typelib_ArrayTypeDescription * pTypeDescr =
- (typelib_ArrayTypeDescription *)pSourceTypeDescr;
- bRet = _assignArray( pDest, pSource, pTypeDescr, queryInterface, acquire, release );
- }
- else
- {
- TYPELIB_DANGER_GET( &pSourceTypeDescr, pSourceType );
- typelib_ArrayTypeDescription * pTypeDescr =
- (typelib_ArrayTypeDescription *)pSourceTypeDescr;
- if ( pTypeDescr )
- {
- bRet = _assignArray(
- pDest, pSource, pTypeDescr, queryInterface, acquire, release );
- }
- TYPELIB_DANGER_RELEASE( pSourceTypeDescr );
- }
- return bRet;
- }
- case typelib_TypeClass_UNION:
- if (_type_equals( pDestType, pSourceType ))
- {
- if (pDestTypeDescr)
- {
- _destructUnion( pDest, pDestTypeDescr, release );
- _copyConstructUnion( pDest, pSource, pDestTypeDescr, acquire, 0 );
- }
- else
- {
- TYPELIB_DANGER_GET( &pDestTypeDescr, pDestType );
- _destructUnion( pDest, pDestTypeDescr, release );
- _copyConstructUnion( pDest, pSource, pDestTypeDescr, acquire, 0 );
- TYPELIB_DANGER_RELEASE( pDestTypeDescr );
- }
- return sal_True;
- }
- return sal_False;
case typelib_TypeClass_SEQUENCE:
if (typelib_TypeClass_SEQUENCE != pSourceType->eTypeClass)
return sal_False;
diff --git a/cppu/source/uno/constr.hxx b/cppu/source/uno/constr.hxx
index dd0343a..1865207 100644
--- a/cppu/source/uno/constr.hxx
+++ b/cppu/source/uno/constr.hxx
@@ -29,17 +29,6 @@ namespace cppu
//#### construction ################################################################################
//##################################################################################################
-//--------------------------------------------------------------------------------------------------
-inline void _defaultConstructUnion(
- void * pMem,
- typelib_TypeDescription * pTypeDescr )
- SAL_THROW(())
-{
- ::uno_type_constructData(
- (char *)pMem + ((typelib_UnionTypeDescription *)pTypeDescr)->nValueOffset,
- ((typelib_UnionTypeDescription *)pTypeDescr)->pDefaultTypeRef );
- *(sal_Int64 *)pMem = ((typelib_UnionTypeDescription *)pTypeDescr)->nDefaultDiscriminant;
-}
//==================================================================================================
void defaultConstructStruct(
void * pMem,
@@ -67,87 +56,6 @@ inline void _defaultConstructStruct(
}
//--------------------------------------------------------------------------------------------------
-inline void _defaultConstructArray(
- void * pMem,
- typelib_ArrayTypeDescription * pTypeDescr )
-{
- typelib_TypeDescription * pElementType = NULL;
- TYPELIB_DANGER_GET( &pElementType, ((typelib_IndirectTypeDescription *)pTypeDescr)->pType );
- sal_Int32 nTotalElements = pTypeDescr->nTotalElements;
- sal_Int32 nElementSize = pElementType->nSize;
- sal_Int32 i;
- switch ( pElementType->eTypeClass )
- {
- case typelib_TypeClass_CHAR:
- case typelib_TypeClass_BOOLEAN:
- case typelib_TypeClass_BYTE:
- case typelib_TypeClass_SHORT:
- case typelib_TypeClass_UNSIGNED_SHORT:
- case typelib_TypeClass_LONG:
- case typelib_TypeClass_UNSIGNED_LONG:
- case typelib_TypeClass_HYPER:
- case typelib_TypeClass_UNSIGNED_HYPER:
- case typelib_TypeClass_FLOAT:
- case typelib_TypeClass_DOUBLE:
- case typelib_TypeClass_INTERFACE:
- memset(pMem, 0, nElementSize * nTotalElements);
- break;
-
- case typelib_TypeClass_STRING:
- for (i=0; i < nTotalElements; i++)
- {
- rtl_uString** ppElement = (rtl_uString **)pMem + i;
- *ppElement = 0;
- rtl_uString_new( ppElement);
- }
- break;
- case typelib_TypeClass_TYPE:
- for (i=0; i < nTotalElements; i++)
- {
- typelib_TypeDescriptionReference** ppElement = (typelib_TypeDescriptionReference **)pMem + i;
- *ppElement = _getVoidType();
- }
- break;
- case typelib_TypeClass_ANY:
- for (i=0; i < nTotalElements; i++)
- {
- CONSTRUCT_EMPTY_ANY( (uno_Any *)pMem + i );
- }
- break;
- case typelib_TypeClass_ENUM:
- for (i=0; i < nTotalElements; i++)
- {
- *((sal_Int32 *)pMem + i) = ((typelib_EnumTypeDescription *)pElementType)->nDefaultEnumValue;
- }
- break;
- case typelib_TypeClass_STRUCT:
- case typelib_TypeClass_EXCEPTION:
- for (i=0; i < nTotalElements; i++)
- {
- _defaultConstructStruct( (sal_Char*)pMem + i * nElementSize, (typelib_CompoundTypeDescription *)pElementType );
- }
- break;
- case typelib_TypeClass_UNION:
- for (i=0; i < nTotalElements; i++)
- {
- _defaultConstructUnion( (sal_Char*)pMem + i * nElementSize, pElementType );
- }
- break;
- case typelib_TypeClass_SEQUENCE:
- for (i=0; i < nTotalElements; i++)
- {
- uno_Sequence** ppElement = (uno_Sequence **)pMem + i;
- *ppElement = createEmptySequence();
- }
- break;
- default:
- OSL_ASSERT(false);
- break;
- }
- TYPELIB_DANGER_RELEASE( pElementType );
-}
-
-//--------------------------------------------------------------------------------------------------
inline void _defaultConstructData(
void * pMem,
typelib_TypeDescriptionReference * pType,
@@ -218,30 +126,6 @@ inline void _defaultConstructData(
TYPELIB_DANGER_RELEASE( pTypeDescr );
}
break;
- case typelib_TypeClass_ARRAY:
- if (pTypeDescr)
- {
- _defaultConstructArray( pMem, (typelib_ArrayTypeDescription *)pTypeDescr );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- _defaultConstructArray( pMem, (typelib_ArrayTypeDescription *)pTypeDescr );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
- case typelib_TypeClass_UNION:
- if (pTypeDescr)
- {
- _defaultConstructUnion( pMem, pTypeDescr );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- _defaultConstructUnion( pMem, pTypeDescr );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
case typelib_TypeClass_SEQUENCE:
*(uno_Sequence **)pMem = createEmptySequence();
break;
diff --git a/cppu/source/uno/copy.hxx b/cppu/source/uno/copy.hxx
index fb9adb3..b3b536e 100644
--- a/cppu/source/uno/copy.hxx
+++ b/cppu/source/uno/copy.hxx
@@ -95,65 +95,6 @@ inline void _copyConstructStruct(
}
}
}
-//--------------------------------------------------------------------------------------------------
-inline void _copyConstructArray(
- void * pDest, void * pSource,
- typelib_ArrayTypeDescription * pTypeDescr,
- uno_AcquireFunc acquire, uno_Mapping * mapping )
-{
- typelib_TypeDescriptionReference * pElementTypeRef = ((typelib_IndirectTypeDescription *)pTypeDescr)->pType;
- typelib_TypeDescription * pElementTypeDescr = NULL;
- TYPELIB_DANGER_GET( &pElementTypeDescr, pElementTypeRef );
- sal_Int32 nElementSize = ((typelib_TypeDescription*)pElementTypeDescr)->nSize;
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- sal_Int32 nTotalElements = pTypeDescr->nTotalElements;
-
- if (mapping)
- {
- for(sal_Int32 i = 0; i < nTotalElements; i++)
- {
- ::uno_type_copyAndConvertData(
- (sal_Char *)pDest + i * nElementSize,
- (sal_Char *)pSource + i * nElementSize,
- pElementTypeRef, mapping );
- }
- }
- else
- {
- for(sal_Int32 i = 0; i < nTotalElements; i++)
- {
- ::uno_type_copyData(
- (sal_Char *)pDest + (i * nElementSize),
- (sal_Char *)pSource + (i * nElementSize),
- pElementTypeRef, acquire );
- }
- }
-}
-//--------------------------------------------------------------------------------------------------
-inline void _copyConstructUnion(
- void * pDest, void * pSource,
- typelib_TypeDescription * pTypeDescr,
- uno_AcquireFunc acquire, uno_Mapping * mapping )
- SAL_THROW (())
-{
- typelib_TypeDescriptionReference * pSetType = _unionGetSetType( pSource, pTypeDescr );
- if (mapping)
- {
- ::uno_type_copyAndConvertData(
- (char *)pDest + ((typelib_UnionTypeDescription *)pTypeDescr)->nValueOffset,
- (char *)pSource + ((typelib_UnionTypeDescription *)pTypeDescr)->nValueOffset,
- pSetType, mapping );
- }
- else
- {
- ::uno_type_copyData(
- (char *)pDest + ((typelib_UnionTypeDescription *)pTypeDescr)->nValueOffset,
- (char *)pSource + ((typelib_UnionTypeDescription *)pTypeDescr)->nValueOffset,
- pSetType, acquire );
- }
- *(sal_Int64 *)pDest = *(sal_Int64 *)pSource;
- typelib_typedescriptionreference_release( pSetType );
-}
//------------------------------------------------------------------------------
uno_Sequence * copyConstructSequence(
@@ -256,40 +197,6 @@ inline void _copyConstructAnyFromData(
TYPELIB_DANGER_RELEASE( pTypeDescr );
}
break;
- case typelib_TypeClass_ARRAY:
- if (pTypeDescr)
- {
- pDestAny->pData = ::rtl_allocateMemory( pTypeDescr->nSize );
- _copyConstructArray(
- pDestAny->pData, pSource,
- (typelib_ArrayTypeDescription *)pTypeDescr,
- acquire, mapping );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- pDestAny->pData = ::rtl_allocateMemory( pTypeDescr->nSize );
- _copyConstructArray(
- pDestAny->pData, pSource,
- (typelib_ArrayTypeDescription *)pTypeDescr,
- acquire, mapping );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
- case typelib_TypeClass_UNION:
- if (pTypeDescr)
- {
- pDestAny->pData = ::rtl_allocateMemory( pTypeDescr->nSize );
- _copyConstructUnion( pDestAny->pData, pSource, pTypeDescr, acquire, mapping );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- pDestAny->pData = ::rtl_allocateMemory( pTypeDescr->nSize );
- _copyConstructUnion( pDestAny->pData, pSource, pTypeDescr, acquire, mapping );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
case typelib_TypeClass_SEQUENCE:
pDestAny->pData = &pDestAny->pReserved;
if (pTypeDescr)
@@ -450,36 +357,6 @@ inline void _copyConstructAny(
TYPELIB_DANGER_RELEASE( pTypeDescr );
}
break;
- case typelib_TypeClass_ARRAY:
- if (pTypeDescr)
- {
- pDestAny->pData = ::rtl_allocateMemory( pTypeDescr->nSize );
- _defaultConstructArray(
- pDestAny->pData, (typelib_ArrayTypeDescription *)pTypeDescr );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- pDestAny->pData = ::rtl_allocateMemory( pTypeDescr->nSize );
- _defaultConstructArray(
- pDestAny->pData, (typelib_ArrayTypeDescription *)pTypeDescr );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
- case typelib_TypeClass_UNION:
- if (pTypeDescr)
- {
- pDestAny->pData = ::rtl_allocateMemory( pTypeDescr->nSize );
- _defaultConstructUnion( pDestAny->pData, pTypeDescr );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- pDestAny->pData = ::rtl_allocateMemory( pTypeDescr->nSize );
- _defaultConstructUnion( pDestAny->pData, pTypeDescr );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
case typelib_TypeClass_SEQUENCE:
pDestAny->pData = &pDestAny->pReserved;
*(uno_Sequence **)pDestAny->pData = createEmptySequence();
@@ -568,60 +445,6 @@ inline uno_Sequence * icopyConstructSequence(
TYPELIB_DANGER_RELEASE( pElementTypeDescr );
break;
}
- case typelib_TypeClass_ARRAY:
- {
- typelib_TypeDescription * pElementTypeDescr = 0;
- TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType );
- sal_Int32 nElementSize = pElementTypeDescr->nSize;
- char * pSourceElements = pSource->elements;
- pDest = allocSeq( nElementSize, nElements );
- if (pDest != 0)
- {
- char * pElements = pDest->elements;
- for ( sal_Int32 nPos = nElements; nPos--; )
- {
- _copyConstructArray(
- pElements + (nPos * nElementSize),
- pSourceElements + (nPos * nElementSize),
- (typelib_ArrayTypeDescription *)pElementTypeDescr,
- acquire, mapping );
- }
- }
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- break;
- }
- case typelib_TypeClass_UNION:
- {
- typelib_TypeDescription * pElementTypeDescr = 0;
- TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType );
- sal_Int32 nElementSize = pElementTypeDescr->nSize;
- sal_Int32 nValueOffset =
- ((typelib_UnionTypeDescription *)
- pElementTypeDescr)->nValueOffset;
- pDest = allocSeq( nElementSize, nElements );
- if (pDest != 0)
- {
- char * pElements = pDest->elements;
- char * pSourceElements = pSource->elements;
- for ( sal_Int32 nPos = nElements; nPos--; )
- {
- char * pDest2 =
- pElements + (nPos * nElementSize);
- char * pSource2 =
- pSourceElements + (nPos * nElementSize);
-
- typelib_TypeDescriptionReference * pSetType =
- _unionGetSetType( pSource2, pElementTypeDescr );
- ::uno_type_copyAndConvertData(
- pDest2 + nValueOffset, pSource2 + nValueOffset,
- pSetType, mapping );
- *(sal_Int64 *)pDest2 = *(sal_Int64 *)pSource2;
- ::typelib_typedescriptionreference_release( pSetType );
- }
- }
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- break;
- }
case typelib_TypeClass_SEQUENCE: // sequence of sequence
{
pDest = allocSeq( sizeof (uno_Sequence *), nElements );
@@ -765,36 +588,6 @@ inline void _copyConstructData(
TYPELIB_DANGER_RELEASE( pTypeDescr );
}
break;
- case typelib_TypeClass_ARRAY:
- if (pTypeDescr)
- {
- _copyConstructArray(
- pDest, pSource,
- (typelib_ArrayTypeDescription *)pTypeDescr,
- acquire, mapping );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- _copyConstructArray(
- pDest, pSource,
- (typelib_ArrayTypeDescription *)pTypeDescr,
- acquire, mapping );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
- case typelib_TypeClass_UNION:
- if (pTypeDescr)
- {
- _copyConstructUnion( pDest, pSource, pTypeDescr, acquire, mapping );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- _copyConstructUnion( pDest, pSource, pTypeDescr, acquire, mapping );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
case typelib_TypeClass_SEQUENCE:
if (mapping)
{
diff --git a/cppu/source/uno/destr.hxx b/cppu/source/uno/destr.hxx
index f3bc26f..c02e7cf 100644
--- a/cppu/source/uno/destr.hxx
+++ b/cppu/source/uno/destr.hxx
@@ -29,19 +29,6 @@ namespace cppu
//#### destruction #################################################################################
//##################################################################################################
-//--------------------------------------------------------------------------------------------------
-inline void _destructUnion(
- void * pValue,
- typelib_TypeDescription * pTypeDescr,
- uno_ReleaseFunc release )
- SAL_THROW(())
-{
- typelib_TypeDescriptionReference * pType = _unionGetSetType( pValue, pTypeDescr );
- ::uno_type_destructData(
- (char *)pValue + ((typelib_UnionTypeDescription *)pTypeDescr)->nValueOffset,
- pType, release );
- ::typelib_typedescriptionreference_release( pType );
-}
//==================================================================================================
void destructStruct(
void * pValue,
@@ -71,29 +58,6 @@ inline void _destructStruct(
}
}
-//--------------------------------------------------------------------------------------------------
-inline void _destructArray(
- void * pValue,
- typelib_ArrayTypeDescription * pTypeDescr,
- uno_ReleaseFunc release )
- throw ()
-{
- typelib_TypeDescription * pElementType = NULL;
- TYPELIB_DANGER_GET( &pElementType, ((typelib_IndirectTypeDescription *)pTypeDescr)->pType );
- sal_Int32 nElementSize = pElementType->nSize;
- TYPELIB_DANGER_RELEASE( pElementType );
-
- sal_Int32 nTotalElements = pTypeDescr->nTotalElements;
- for(sal_Int32 i=0; i < nTotalElements; i++)
- {
- ::uno_type_destructData(
- (sal_Char *)pValue + i * nElementSize,
- ((typelib_IndirectTypeDescription *)pTypeDescr)->pType, release );
- }
-
- typelib_typedescriptionreference_release(((typelib_IndirectTypeDescription *)pTypeDescr)->pType);
-}
-
//==============================================================================
void destructSequence(
uno_Sequence * pSequence,
@@ -155,15 +119,6 @@ inline void _destructAny(
::rtl_freeMemory( pAny->pData );
break;
}
- case typelib_TypeClass_UNION:
- {
- typelib_TypeDescription * pTypeDescr = 0;
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- _destructUnion( pAny->pData, pTypeDescr, release );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- ::rtl_freeMemory( pAny->pData );
- break;
- }
case typelib_TypeClass_SEQUENCE:
{
destructSequence(
@@ -257,22 +212,6 @@ inline sal_Int32 idestructElements(
TYPELIB_DANGER_RELEASE( pElementTypeDescr );
return nSize;
}
- case typelib_TypeClass_UNION:
- {
- typelib_TypeDescription * pElementTypeDescr = 0;
- TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType );
- sal_Int32 nElementSize = pElementTypeDescr->nSize;
- for ( sal_Int32 nPos = nStartIndex; nPos < nStopIndex; ++nPos )
- {
- _destructUnion(
- (char *)pElements + (nElementSize * nPos),
- pElementTypeDescr,
- release );
- }
- sal_Int32 nSize = pElementTypeDescr->nSize;
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- return nSize;
- }
case typelib_TypeClass_SEQUENCE:
{
typelib_TypeDescription * pElementTypeDescr = 0;
@@ -387,30 +326,6 @@ inline void _destructData(
TYPELIB_DANGER_RELEASE( pTypeDescr );
}
break;
- case typelib_TypeClass_ARRAY:
- if (pTypeDescr)
- {
- _destructArray( pValue, (typelib_ArrayTypeDescription *)pTypeDescr, release );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- _destructArray( pValue, (typelib_ArrayTypeDescription *)pTypeDescr, release );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
- case typelib_TypeClass_UNION:
- if (pTypeDescr)
- {
- _destructUnion( pValue, pTypeDescr, release );
- }
- else
- {
- TYPELIB_DANGER_GET( &pTypeDescr, pType );
- _destructUnion( pValue, pTypeDescr, release );
- TYPELIB_DANGER_RELEASE( pTypeDescr );
- }
- break;
case typelib_TypeClass_SEQUENCE:
{
idestructSequence(
diff --git a/cppu/source/uno/eq.hxx b/cppu/source/uno/eq.hxx
index a3a26bf..c1496cb 100644
--- a/cppu/source/uno/eq.hxx
+++ b/cppu/source/uno/eq.hxx
@@ -226,32 +226,6 @@ inline sal_Bool _equalSequence(
TYPELIB_DANGER_RELEASE( pElementTypeDescr );
return sal_True;
}
- case typelib_TypeClass_UNION:
- {
- typelib_TypeDescription * pElementTypeDescr = 0;
- TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType );
- sal_Int32 nElementSize = pElementTypeDescr->nSize;
- sal_Int32 nValueOffset = ((typelib_UnionTypeDescription *)pElementTypeDescr)->nValueOffset;
- for ( sal_Int32 nPos = nElements; nPos--; )
- {
- char * pDest2 = (char *)pDestElements + (nPos * nElementSize);
- char * pSource2 = (char *)pSourceElements + (nPos * nElementSize);
- typelib_TypeDescriptionReference * pSetType = _unionGetSetType(
- pDest2, pElementTypeDescr );
- sal_Bool bRet = ::uno_type_equalData(
- pDest2 + nValueOffset, pSetType,
- pSource2 + nValueOffset, pSetType,
- queryInterface, release );
- ::typelib_typedescriptionreference_release( pSetType );
- if (! bRet)
- {
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- return sal_False;
- }
- }
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- return sal_True;
- }
case typelib_TypeClass_SEQUENCE: // sequence of sequence
{
typelib_TypeDescription * pElementTypeDescr = 0;
@@ -586,40 +560,6 @@ inline sal_Bool _equalData(
TYPELIB_DANGER_RELEASE( pDestTypeDescr );
return bRet;
}
- case typelib_TypeClass_UNION:
- if (_type_equals( pDestType, pSourceType ) &&
- *(sal_Int64 *)pDest == *(sal_Int64 *)pSource) // same discriminant
- {
- sal_Bool bRet;
- if (pDestTypeDescr)
- {
- typelib_TypeDescriptionReference * pSetType = _unionGetSetType(
- pDest, pDestTypeDescr );
- bRet = ::uno_type_equalData(
- (char *)pDest + ((typelib_UnionTypeDescription *)pDestTypeDescr)->nValueOffset,
- pSetType,
- (char *)pSource + ((typelib_UnionTypeDescription *)pDestTypeDescr)->nValueOffset,
- pSetType,
- queryInterface, release );
- typelib_typedescriptionreference_release( pSetType );
- }
- else
- {
- TYPELIB_DANGER_GET( &pDestTypeDescr, pDestType );
- typelib_TypeDescriptionReference * pSetType = _unionGetSetType(
- pDest, pDestTypeDescr );
- bRet = ::uno_type_equalData(
- (char *)pDest + ((typelib_UnionTypeDescription *)pDestTypeDescr)->nValueOffset,
- pSetType,
- (char *)pSource + ((typelib_UnionTypeDescription *)pDestTypeDescr)->nValueOffset,
- pSetType,
- queryInterface, release );
- typelib_typedescriptionreference_release( pSetType );
- TYPELIB_DANGER_RELEASE( pDestTypeDescr );
- }
- return bRet;
- }
- return sal_False;
case typelib_TypeClass_SEQUENCE:
if (_type_equals( pDestType, pSourceType ))
{
diff --git a/cppu/source/uno/prim.hxx b/cppu/source/uno/prim.hxx
index b40dac3..5be342a 100644
--- a/cppu/source/uno/prim.hxx
+++ b/cppu/source/uno/prim.hxx
@@ -151,32 +151,6 @@ extern "C" void * binuno_queryInterface(
void * pUnoI, typelib_TypeDescriptionReference * pDestType );
//--------------------------------------------------------------------------------------------------
-inline typelib_TypeDescriptionReference * _unionGetSetType(
- void * pUnion, typelib_TypeDescription * pTD )
- SAL_THROW(())
-{
- typelib_TypeDescriptionReference * pRet = 0;
- sal_Int32 nPos;
-
- sal_Int64 * pDiscr = ((typelib_UnionTypeDescription *)pTD)->pDiscriminants;
- sal_Int64 nDiscr = *(sal_Int64 *)pUnion;
- for ( nPos = ((typelib_UnionTypeDescription *)pTD)->nMembers; nPos--; )
- {
- if (pDiscr[nPos] == nDiscr)
- {
- pRet = ((typelib_UnionTypeDescription *)pTD)->ppTypeRefs[nPos];
- break;
- }
- }
- if (nPos >= 0)
- {
- // default
- pRet = ((typelib_UnionTypeDescription *)pTD)->pDefaultTypeRef;
- }
- typelib_typedescriptionreference_acquire( pRet );
- return pRet;
-}
-//--------------------------------------------------------------------------------------------------
inline sal_Bool _type_equals(
typelib_TypeDescriptionReference * pType1, typelib_TypeDescriptionReference * pType2 )
SAL_THROW(())
diff --git a/cppu/source/uno/sequence.cxx b/cppu/source/uno/sequence.cxx
index d570461..03198c1 100644
--- a/cppu/source/uno/sequence.cxx
+++ b/cppu/source/uno/sequence.cxx
@@ -265,65 +265,6 @@ static inline bool idefaultConstructElements(
TYPELIB_DANGER_RELEASE( pElementTypeDescr );
break;
}
- case typelib_TypeClass_ARRAY:
- {
- typelib_TypeDescription * pElementTypeDescr = 0;
- TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType );
- sal_Int32 nElementSize = pElementTypeDescr->nSize;
-
- if (nAlloc >= 0)
- pSeq = reallocSeq( pSeq, nElementSize, nAlloc );
- if (pSeq != 0)
- {
- char * pElements = pSeq->elements;
- for ( sal_Int32 nPos = nStartIndex; nPos < nStopIndex; ++nPos )
- {
- _defaultConstructArray(
- pElements + (nElementSize * nPos),
- (typelib_ArrayTypeDescription *)pElementTypeDescr );
- }
- }
-
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- break;
- }
- case typelib_TypeClass_UNION:
- {
- typelib_TypeDescription * pElementTypeDescr = 0;
- TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType );
- sal_Int32 nElementSize = pElementTypeDescr->nSize;
-
- if (nAlloc >= 0)
- pSeq = reallocSeq( pSeq, nElementSize, nAlloc );
- if (pSeq != 0)
- {
- sal_Int32 nValueOffset =
- ((typelib_UnionTypeDescription *)
- pElementTypeDescr)->nValueOffset;
- sal_Int64 nDefaultDiscr =
- ((typelib_UnionTypeDescription *)
- pElementTypeDescr)->nDefaultDiscriminant;
-
- typelib_TypeDescription * pDefaultTypeDescr = 0;
- TYPELIB_DANGER_GET(
- &pDefaultTypeDescr,
- ((typelib_UnionTypeDescription *)
- pElementTypeDescr)->pDefaultTypeRef );
-
- char * pElements = pSeq->elements;
- for ( sal_Int32 nPos = nStartIndex; nPos < nStopIndex; ++nPos )
- {
- char * pMem = pElements + (nElementSize * nPos);
- ::uno_constructData(
- (char *)pMem + nValueOffset, pDefaultTypeDescr );
- *(sal_Int64 *)pMem = nDefaultDiscr;
- }
- TYPELIB_DANGER_RELEASE( pDefaultTypeDescr );
- }
-
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- break;
- }
case typelib_TypeClass_SEQUENCE:
{
if (nAlloc >= 0)
@@ -588,42 +529,6 @@ static inline bool icopyConstructFromElements(
TYPELIB_DANGER_RELEASE( pElementTypeDescr );
break;
}
- case typelib_TypeClass_UNION:
- {
- typelib_TypeDescription * pElementTypeDescr = 0;
- TYPELIB_DANGER_GET( &pElementTypeDescr, pElementType );
- sal_Int32 nElementSize = pElementTypeDescr->nSize;
-
- if (nAlloc >= 0)
- pSeq = reallocSeq( pSeq, nElementSize, nAlloc );
- if (pSeq != 0)
- {
- char * pDestElements = pSeq->elements;
-
- sal_Int32 nValueOffset =
- ((typelib_UnionTypeDescription *)
- pElementTypeDescr)->nValueOffset;
- for ( sal_Int32 nPos = nStartIndex; nPos < nStopIndex; ++nPos )
- {
- char * pDest =
- pDestElements + (nElementSize * nPos);
- char * pSource =
- (char *)pSourceElements + (nElementSize * nPos);
-
- typelib_TypeDescriptionReference * pSetType = _unionGetSetType(
- pSource, pElementTypeDescr );
- ::uno_type_copyData(
- pDest + nValueOffset,
- pSource + nValueOffset,
- pSetType, acquire );
- *(sal_Int64 *)pDest = *(sal_Int64 *)pSource;
- typelib_typedescriptionreference_release( pSetType );
- }
- }
-
- TYPELIB_DANGER_RELEASE( pElementTypeDescr );
- break;
- }
case typelib_TypeClass_SEQUENCE: // sequence of sequence
{
if (nAlloc >= 0)
diff --git a/include/com/sun/star/uno/Type.h b/include/com/sun/star/uno/Type.h
index 0a6a21b..1b3775f 100644
--- a/include/com/sun/star/uno/Type.h
+++ b/include/com/sun/star/uno/Type.h
@@ -377,49 +377,6 @@ inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const float * )
*/
inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( const double * ) SAL_THROW(());
-/** Array template function to get meta type for one-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType1( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for two-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType2( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for three-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType3( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for four-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType4( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for five-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType5( T * pT ) SAL_THROW(());
-/** Array template function to get meta type for six-dimensional arrays.
-
- @param pT array pointer
- @return type of array
-*/
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType6( T * pT ) SAL_THROW(());
-
/** Gets the meta type of an IDL type.
The difference between this function template (with a type parameter) and
diff --git a/include/com/sun/star/uno/Type.hxx b/include/com/sun/star/uno/Type.hxx
index 7838c58..e32a645 100644
--- a/include/com/sun/star/uno/Type.hxx
+++ b/include/com/sun/star/uno/Type.hxx
@@ -186,123 +186,6 @@ inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType( SAL_UNUSED_PARA
return ::cppu::UnoType< double >::get();
}
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType1( T * pT ) SAL_THROW(())
-{
- if (! ::com::sun::star::uno::Array< T >::s_pType)
- {
- const ::com::sun::star::uno::Type & rElementType =
- ::cppu::getTypeFavourUnsigned( *pT );
- sal_Int32 size = sizeof( **pT );
- sal_Int32 dim1 = sizeof( *pT ) / size;
- ::typelib_static_array_type_init(
- & ::com::sun::star::uno::Array< T >::s_pType, rElementType.getTypeLibType(),
- 1, dim1 );
- }
- return * reinterpret_cast< const ::com::sun::star::uno::Type * >(
- & ::com::sun::star::uno::Array< T >::s_pType );
-}
-
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType2( T * pT ) SAL_THROW(())
-{
- if (! ::com::sun::star::uno::Array< T >::s_pType)
- {
- const ::com::sun::star::uno::Type & rElementType =
- ::cppu::getTypeFavourUnsigned( **pT );
- sal_Int32 size = sizeof( ***pT );
- sal_Int32 dim2 = sizeof( **pT ) / size;
- sal_Int32 dim1 = sizeof( *pT ) / dim2 / size;
- ::typelib_static_array_type_init(
- & ::com::sun::star::uno::Array< T >::s_pType, rElementType.getTypeLibType(),
- 2, dim1, dim2 );
- }
- return * reinterpret_cast< const ::com::sun::star::uno::Type * >(
- & ::com::sun::star::uno::Array< T >::s_pType );
-}
-
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType3( T * pT ) SAL_THROW(())
-{
- if (! ::com::sun::star::uno::Array< T >::s_pType)
- {
- const ::com::sun::star::uno::Type & rElementType =
- ::cppu::getTypeFavourUnsigned( ***pT );
- sal_Int32 size = sizeof( ****pT );
- sal_Int32 dim3 = sizeof( ***pT ) / size;
- sal_Int32 dim2 = sizeof( **pT ) / dim3 / size;
- sal_Int32 dim1 = sizeof( *pT ) / (dim2 * dim3)/ size;
- ::typelib_static_array_type_init(
- & ::com::sun::star::uno::Array< T >::s_pType, rElementType.getTypeLibType(),
- 3, dim1, dim2, dim3 );
- }
- return * reinterpret_cast< const ::com::sun::star::uno::Type * >(
- & ::com::sun::star::uno::Array< T >::s_pType );
-}
-
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType4( T * pT ) SAL_THROW(())
-{
- if (! ::com::sun::star::uno::Array< T >::s_pType)
- {
- const ::com::sun::star::uno::Type & rElementType =
- ::cppu::getTypeFavourUnsigned( ****pT );
- sal_Int32 size = sizeof( *****pT );
- sal_Int32 dim4 = sizeof( ****pT ) / size;
- sal_Int32 dim3 = sizeof( ***pT ) / dim4 / size;
- sal_Int32 dim2 = sizeof( **pT ) / (dim3 * dim4) / size;
- sal_Int32 dim1 = sizeof( *pT ) / (dim2 * dim3 * dim4) / size;
- ::typelib_static_array_type_init(
- & ::com::sun::star::uno::Array< T >::s_pType, rElementType.getTypeLibType(),
- 4, dim1, dim2, dim3, dim4 );
- }
- return * reinterpret_cast< const ::com::sun::star::uno::Type * >(
- & ::com::sun::star::uno::Array< T >::s_pType );
-}
-
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType5( T * pT ) SAL_THROW(())
-{
- if (! ::com::sun::star::uno::Array< T >::s_pType)
- {
- const ::com::sun::star::uno::Type & rElementType =
- ::cppu::getTypeFavourUnsigned( *****pT );
- sal_Int32 size = sizeof( ******pT );
- sal_Int32 dim5 = sizeof( *****pT ) / size;
- sal_Int32 dim4 = sizeof( ****pT ) / dim5 / size;
- sal_Int32 dim3 = sizeof( ***pT ) / (dim4 * dim5) / size;
- sal_Int32 dim2 = sizeof( **pT ) / (dim3 * dim4 * dim5) / size;
- sal_Int32 dim1 = sizeof( *pT ) / (dim2 * dim3 * dim4 * dim5) / size;
- ::typelib_static_array_type_init(
- & ::com::sun::star::uno::Array< T >::s_pType, rElementType.getTypeLibType(),
- 5, dim1, dim2, dim3, dim4, dim5 );
- }
- return * reinterpret_cast< const ::com::sun::star::uno::Type * >(
- & ::com::sun::star::uno::Array< T >::s_pType );
-}
-
-template< class T >
-inline const ::com::sun::star::uno::Type & SAL_CALL getCppuArrayType6( T * pT ) SAL_THROW(())
-{
- if (! ::com::sun::star::uno::Array< T >::s_pType)
- {
- const ::com::sun::star::uno::Type & rElementType =
- ::cppu::getTypeFavourUnsigned( ******pT );
- sal_Int32 size = sizeof( *******pT );
- sal_Int32 dim6 = sizeof( ******pT ) / size;
- sal_Int32 dim5 = sizeof( *****pT ) / dim6 / size;
- sal_Int32 dim4 = sizeof( ****pT ) / (dim5 * dim6) / size;
- sal_Int32 dim3 = sizeof( ***pT ) / (dim4 * dim5 * dim6) / size;
- sal_Int32 dim2 = sizeof( **pT ) / (dim3 * dim4 * dim5 * dim6) / size;
- sal_Int32 dim1 = sizeof( *pT ) / (dim2 * dim3 * dim4 * dim5 * dim6) / size;
- ::typelib_static_array_type_init(
- & ::com::sun::star::uno::Array< T >::s_pType, rElementType.getTypeLibType(),
- 6, dim1, dim2, dim3, dim4, dim5, dim6 );
- }
- return * reinterpret_cast< const ::com::sun::star::uno::Type * >(
- & ::com::sun::star::uno::Array< T >::s_pType );
-}
-
template< typename T >
inline const ::com::sun::star::uno::Type & SAL_CALL getCppuType() SAL_THROW(())
{
diff --git a/include/typelib/typedescription.h b/include/typelib/typedescription.h
index a7b06ec..2b7314f 100644
--- a/include/typelib/typedescription.h
+++ b/include/typelib/typedescription.h
@@ -95,7 +95,7 @@ typedef struct _typelib_TypeDescription
void * pReserved;
/** flag to determine whether the description is complete:
- compound and union types lack of member names, enums lack of member types and names,
+ compound types lack of member names, enums lack of member types and names,
interfaces lack of members and table init.
Call typelib_typedescription_complete() if false.
*/
@@ -165,42 +165,7 @@ typedef struct _typelib_StructTypeDescription
sal_Bool * pParameterizedTypes;
} typelib_StructTypeDescription;
-/** Type description of a union. The type class of this description is typelib_TypeClass_UNION.
-*/
-typedef struct _typelib_UnionTypeDescription
-{
- /** inherits all members of typelib_TypeDescription
- */
- typelib_TypeDescription aBase;
-
- /** type of the discriminant
- */
- typelib_TypeDescriptionReference * pDiscriminantTypeRef;
-
- /** union default descriminant
- */
- sal_Int64 nDefaultDiscriminant;
- /** union default member type (may be 0)
- */
- typelib_TypeDescriptionReference * pDefaultTypeRef;
- /** number of union member types
- */
- sal_Int32 nMembers;
- /** union member discriminant values (same order as idl declaration)
- */
- sal_Int64 * pDiscriminants;
- /** union member value types (same order as idl declaration)
- */
- typelib_TypeDescriptionReference ** ppTypeRefs;
- /** union member value names (same order as idl declaration)
- */
- rtl_uString ** ppMemberNames;
- /** union value offset for data access
- */
- sal_Int32 nValueOffset;
-} typelib_UnionTypeDescription;
-
-/** Type description of an array or sequence.
+/** Type description of a sequence.
*/
typedef struct _typelib_IndirectTypeDescription
{
@@ -208,30 +173,11 @@ typedef struct _typelib_IndirectTypeDescription
*/
typelib_TypeDescription aBase;
- /** array, sequence: pointer to element type
+ /** pointer to element type
*/
typelib_TypeDescriptionReference * pType;
} typelib_IndirectTypeDescription;
-/** Type description of an array.
-*/
-typedef struct _typelib_ArrayTypeDescription
-{
- /** inherits all members of typelib_IndirectTypeDescription
- */
- typelib_IndirectTypeDescription aBase;
-
- /** number of dimensions
- */
- sal_Int32 nDimensions;
- /** number of total array elements
- */
- sal_Int32 nTotalElements;
- /** array of dimensions
- */
- sal_Int32 * pDimensions;
-} typelib_ArrayTypeDescription;
-
/** Type description of an enum. The type class of this description is typelib_TypeClass_ENUM.
*/
typedef struct _typelib_EnumTypeDescription
@@ -531,47 +477,10 @@ typedef struct _typelib_Parameter_Init
sal_Bool bOut;
} typelib_Parameter_Init;
-/** Init struct of union types for typelib_typedescription_newUnion().
-*/
-typedef struct _typelib_Union_Init
-{
- /** union member discriminant
- */
- sal_Int64 nDiscriminant;
- /** union member name
- */
- rtl_uString * pMemberName;
- /** union member type
- */
- typelib_TypeDescriptionReference* pTypeRef;
-} typelib_Union_Init;
-
#if defined( SAL_W32)
#pragma pack(pop)
#endif
-
-/** Creates a union type description. All discriminants are handled as int64 values.
- The pDiscriminantTypeRef must be of type byte, short, ..., up to hyper.
-
- @param ppRet inout union type description
- @param pTypeName name of union type
- @param pDiscriminantTypeRef discriminant type
- @param nDefaultDiscriminant default discriminant
- @param pDefaultTypeRef default value type of union
- @param nMembers number of union members
- @param pMembers init members
-*/
-CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newUnion(
- typelib_TypeDescription ** ppRet,
- rtl_uString * pTypeName,
- typelib_TypeDescriptionReference * pDiscriminantTypeRef,
- sal_Int64 nDefaultDiscriminant,
- typelib_TypeDescriptionReference * pDefaultTypeRef,
- sal_Int32 nMembers,
- typelib_Union_Init * pMembers )
- SAL_THROW_EXTERN_C();
-
/** Creates an enum type description.
@param ppRet inout enum type description
@@ -590,20 +499,6 @@ CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newEnum(
sal_Int32 * pEnumValues )
SAL_THROW_EXTERN_C();
-/** Creates an array type description.
-
- @param ppRet inout enum type description
- @param pElementTypeRef element type
- @param nDimensions number of dimensions
- @param pDimensions dimensions
-*/
-CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newArray(
- typelib_TypeDescription ** ppRet,
- typelib_TypeDescriptionReference * pElementTypeRef,
- sal_Int32 nDimensions,
- sal_Int32 * pDimensions )
- SAL_THROW_EXTERN_C ();
-
/** Creates a new type description.
Since this function can only be used to create type descriptions for plain
@@ -614,7 +509,7 @@ CPPU_DLLPUBLIC void SAL_CALL typelib_typedescription_newArray(
@param ppRet inout type description
@param eTypeClass type class
@param pTypeName name of type
- @param pType sequence, array: element type;
+ @param pType sequence: element type;
struct, Exception: base type;
@param nMembers number of members if struct, exception
@param pMembers array of members if struct, exception
@@ -988,19 +883,6 @@ CPPU_DLLPUBLIC void SAL_CALL typelib_static_sequence_type_init(
typelib_TypeDescriptionReference * pElementType )
SAL_THROW_EXTERN_C ();
-/** Inits static array type reference. Thread synchronizes on typelib init mutex.
-
- @param ppRef pointer to type reference pointer
- @param pElementType element type of sequence
- @param nDimensions number of dimensions
- @param ... additional sal_Int32 parameter for each dimension
-*/
-CPPU_DLLPUBLIC void SAL_CALL typelib_static_array_type_init(
- typelib_TypeDescriptionReference ** ppRef,
- typelib_TypeDescriptionReference * pElementType,
- sal_Int32 nDimensions, ... )
- SAL_THROW_EXTERN_C ();
-
/** Inits incomplete static compound type reference. Thread synchronizes on typelib init mutex.
Since this function can only be used to create type descriptions for plain
@@ -1084,7 +966,7 @@ CPPU_DLLPUBLIC void SAL_CALL typelib_static_enum_type_init(
sal_Int32 nDefaultValue )
SAL_THROW_EXTERN_C();
-/** Completes a typedescription to be used for, e.g., marshalling values. COMPOUND, UNION,
+/** Completes a typedescription to be used for, e.g., marshalling values. COMPOUND,
INTERFACE and ENUM type descriptions may be partly initialized (see typelib_static_...(),
typelib_TypeDescription::bComplete). For interface type descriptions, this will also
init index tables.
commit 9e77c2fb7cadfd477fb1b971b011d43f30781660
Author: Stephan Bergmann <sbergman at redhat.com>
Date: Fri Jan 31 10:15:47 2014 +0100
Remove UNOIDL "array" and "union" vaporware remnants
...and deprecate what cannot be removed for compatibility.
Change-Id: I1ea335af775b867b468b8285113631167729a92a
diff --git a/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx b/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx
index 31d38be..facdcdd 100644
--- a/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx
+++ b/bridges/source/cpp_uno/gcc3_linux_x86-64/abi.cxx
@@ -171,9 +171,7 @@ classify_argument( typelib_TypeDescriptionReference *pTypeRef, enum x86_64_reg_c
case typelib_TypeClass_TYPE:
case typelib_TypeClass_ANY:
case typelib_TypeClass_TYPEDEF:
- case typelib_TypeClass_UNION:
case typelib_TypeClass_SEQUENCE:
- case typelib_TypeClass_ARRAY:
case typelib_TypeClass_INTERFACE:
return 0;
case typelib_TypeClass_STRUCT:
diff --git a/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx b/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx
index 9fb14a9..06e33de 100644
--- a/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx
+++ b/bridges/source/cpp_uno/gcc3_macosx_x86-64/abi.cxx
@@ -171,9 +171,7 @@ classify_argument( typelib_TypeDescriptionReference *pTypeRef, enum x86_64_reg_c
case typelib_TypeClass_TYPE:
case typelib_TypeClass_ANY:
case typelib_TypeClass_TYPEDEF:
- case typelib_TypeClass_UNION:
case typelib_TypeClass_SEQUENCE:
- case typelib_TypeClass_ARRAY:
case typelib_TypeClass_INTERFACE:
return 0;
case typelib_TypeClass_STRUCT:
diff --git a/bridges/source/cpp_uno/mingw_x86-64/abi.cxx b/bridges/source/cpp_uno/mingw_x86-64/abi.cxx
index 9fb14a9..06e33de 100644
--- a/bridges/source/cpp_uno/mingw_x86-64/abi.cxx
+++ b/bridges/source/cpp_uno/mingw_x86-64/abi.cxx
@@ -171,9 +171,7 @@ classify_argument( typelib_TypeDescriptionReference *pTypeRef, enum x86_64_reg_c
case typelib_TypeClass_TYPE:
case typelib_TypeClass_ANY:
case typelib_TypeClass_TYPEDEF:
- case typelib_TypeClass_UNION:
case typelib_TypeClass_SEQUENCE:
- case typelib_TypeClass_ARRAY:
case typelib_TypeClass_INTERFACE:
return 0;
case typelib_TypeClass_STRUCT:
diff --git a/codemaker/source/cppumaker/cpputype.cxx b/codemaker/source/cppumaker/cpputype.cxx
index 691aa75..eccb931 100644
--- a/codemaker/source/cppumaker/cpputype.cxx
+++ b/codemaker/source/cppumaker/cpputype.cxx
@@ -94,7 +94,6 @@ bool isBootstrapType(OUString const & name) {
"com.sun.star.reflection.ParamInfo",
"com.sun.star.reflection.ParamMode",
"com.sun.star.reflection.TypeDescriptionSearchDepth",
- "com.sun.star.reflection.XArrayTypeDescription",
"com.sun.star.reflection.XCompoundTypeDescription",
"com.sun.star.reflection.XEnumTypeDescription",
"com.sun.star.reflection.XIdlArray",
@@ -115,7 +114,6 @@ bool isBootstrapType(OUString const & name) {
"com.sun.star.reflection.XTypeDescription",
"com.sun.star.reflection.XTypeDescriptionEnumeration",
"com.sun.star.reflection.XTypeDescriptionEnumerationAccess",
- "com.sun.star.reflection.XUnionTypeDescription",
"com.sun.star.registry.RegistryKeyType",
"com.sun.star.registry.RegistryValueType",
"com.sun.star.registry.XImplementationRegistration",
diff --git a/comphelper/source/container/enumerablemap.cxx b/comphelper/source/container/enumerablemap.cxx
index b314277..207680e 100644
--- a/comphelper/source/container/enumerablemap.cxx
+++ b/comphelper/source/container/enumerablemap.cxx
@@ -70,7 +70,6 @@ namespace comphelper
using ::com::sun::star::uno::TypeClass_ANY;
using ::com::sun::star::uno::TypeClass_EXCEPTION;
using ::com::sun::star::uno::TypeClass_STRUCT;
- using ::com::sun::star::uno::TypeClass_UNION;
using ::com::sun::star::uno::TypeClass_FLOAT;
using ::com::sun::star::uno::TypeClass_DOUBLE;
using ::com::sun::star::uno::TypeClass_INTERFACE;
@@ -462,7 +461,6 @@ namespace comphelper
break;
case TypeClass_EXCEPTION:
case TypeClass_STRUCT:
- case TypeClass_UNION:
{
// values are accepted if and only if their type equals, or is derived from, our value type
diff --git a/comphelper/source/misc/anytostring.cxx b/comphelper/source/misc/anytostring.cxx
index 624c973..12f646c 100644
--- a/comphelper/source/misc/anytostring.cxx
+++ b/comphelper/source/misc/anytostring.cxx
@@ -297,8 +297,6 @@ void appendValue( OUStringBuffer & buf,
case typelib_TypeClass_UNSIGNED_HYPER:
buf.append( *static_cast< sal_Int64 const * >(val) );
break;
-// case typelib_TypeClass_UNION:
-// case typelib_TypeClass_ARRAY:
// case typelib_TypeClass_UNKNOWN:
// case typelib_TypeClass_SERVICE:
// case typelib_TypeClass_MODULE:
diff --git a/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx b/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx
index f0706e1..b02439e 100644
--- a/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx
+++ b/cppu/source/helper/purpenv/helper_purpenv_Proxy.cxx
@@ -51,7 +51,6 @@ static bool relatesToInterface(typelib_TypeDescription * pTypeDescr)
switch (((typelib_IndirectTypeDescription *)pTypeDescr)->pType->eTypeClass)
{
case typelib_TypeClass_INTERFACE:
- case typelib_TypeClass_UNION: // might relate to interface
case typelib_TypeClass_ANY: // might relate to interface
return true;
case typelib_TypeClass_SEQUENCE:
@@ -80,7 +79,6 @@ static bool relatesToInterface(typelib_TypeDescription * pTypeDescr)
switch (pTypes[nPos]->eTypeClass)
{
case typelib_TypeClass_INTERFACE:
- case typelib_TypeClass_UNION: // might relate to interface
case typelib_TypeClass_ANY: // might relate to interface
return true;
// case typelib_TypeClass_TYPEDEF:
@@ -103,7 +101,6 @@ static bool relatesToInterface(typelib_TypeDescription * pTypeDescr)
return relatesToInterface( (typelib_TypeDescription *)pComp->pBaseTypeDescription );
break;
}
- case typelib_TypeClass_UNION: // might relate to interface
case typelib_TypeClass_ANY: // might relate to interface
case typelib_TypeClass_INTERFACE:
return true;
diff --git a/cppuhelper/source/tdmgr.cxx b/cppuhelper/source/tdmgr.cxx
index df6adc6..8e614d2 100644
--- a/cppuhelper/source/tdmgr.cxx
+++ b/cppuhelper/source/tdmgr.cxx
@@ -47,7 +47,6 @@
#include <com/sun/star/reflection/XInterfaceTypeDescription2.hpp>
#include <com/sun/star/reflection/XCompoundTypeDescription.hpp>
#include <com/sun/star/reflection/XStructTypeDescription.hpp>
-#include <com/sun/star/reflection/XUnionTypeDescription.hpp>
#include "com/sun/star/uno/RuntimeException.hpp"
#include "boost/scoped_array.hpp"
@@ -66,104 +65,6 @@ static typelib_TypeDescription * createCTD(
const Reference< XTypeDescription > & xType );
//==================================================================================================
-inline static sal_Int64 coerceToInt64( const Any & rVal )
-{
- switch (rVal.getValueTypeClass())
- {
- case TypeClass_CHAR:
- return *(sal_Unicode *)rVal.getValue();
- case TypeClass_BOOLEAN:
- return (*(sal_Bool *)rVal.getValue() ? 1 : 0);
- case TypeClass_BYTE:
- return *(sal_Int8 *)rVal.getValue();
- case TypeClass_SHORT:
- return *(sal_Int16 *)rVal.getValue();
- case TypeClass_UNSIGNED_SHORT:
- return *(sal_uInt16 *)rVal.getValue();
- case TypeClass_LONG:
- return *(sal_Int32 *)rVal.getValue();
- case TypeClass_UNSIGNED_LONG:
- return *(sal_uInt32 *)rVal.getValue();
- case TypeClass_HYPER:
- return *(sal_Int64 *)rVal.getValue();
- case TypeClass_UNSIGNED_HYPER:
- return *(sal_uInt64 *)rVal.getValue();
- case TypeClass_ENUM:
- return *(int *)rVal.getValue();
- default:
- OSL_ASSERT(false);
- return 0;
- }
-}
-//==================================================================================================
-inline static typelib_TypeDescription * createCTD(
- const Reference< XUnionTypeDescription > & xType )
-{
- typelib_TypeDescription * pRet = 0;
- if (xType.is())
- {
- OUString aTypeName( xType->getName() );
-
- // discriminant type
- Reference< XTypeDescription > xDiscrTD( xType->getDiscriminantType() );
- OUString aDiscrTypeName( xDiscrTD->getName() );
- typelib_TypeDescriptionReference * pDiscrTypeRef = 0;
- typelib_typedescriptionreference_new( &pDiscrTypeRef,
- (typelib_TypeClass)xDiscrTD->getTypeClass(),
- aDiscrTypeName.pData );
- // default member type
- Reference< XTypeDescription > xDefaultMemberTD( xType->getDefaultMemberType() );
- OUString aDefMemberTypeName( xDefaultMemberTD->getName() );
- typelib_TypeDescriptionReference * pDefMemberTypeRef = 0;
- typelib_typedescriptionreference_new( &pDefMemberTypeRef,
- (typelib_TypeClass)xDefaultMemberTD->getTypeClass(),
- aDefMemberTypeName.pData );
- // init array
- Sequence< Any > aDiscriminants( xType->getDiscriminants() );
- Sequence< Reference< XTypeDescription > > aMemberTypes( xType->getMemberTypes() );
- Sequence< OUString > aMemberNames( xType->getMemberNames() );
- sal_Int32 nMembers = aDiscriminants.getLength();
- OSL_ASSERT( nMembers == aMemberNames.getLength() && nMembers == aMemberTypes.getLength() );
-
- const Any * pDiscriminants = aDiscriminants.getConstArray();
- const Reference< XTypeDescription > * pMemberTypes = aMemberTypes.getConstArray();
- const OUString * pMemberNames = aMemberNames.getConstArray();
-
- typelib_Union_Init * pMembers = (typelib_Union_Init *)alloca( nMembers * sizeof(typelib_Union_Init) );
-
- sal_Int32 nPos;
- for ( nPos = nMembers; nPos--; )
- {
- typelib_Union_Init & rEntry = pMembers[nPos];
- // member discriminant
- rEntry.nDiscriminant = coerceToInt64( pDiscriminants[nPos] );
- // member type
- OUString aMemberTypeName( pMemberTypes[nPos]->getName() );
- rEntry.pTypeRef = 0;
- typelib_typedescriptionreference_new( &rEntry.pTypeRef,
- (typelib_TypeClass)pMemberTypes[nPos]->getTypeClass(),
- aMemberTypeName.pData );
- // member name
- rEntry.pMemberName = pMemberNames[nPos].pData;
- }
-
- typelib_typedescription_newUnion( &pRet, aTypeName.pData,
- pDiscrTypeRef,
- coerceToInt64( xType->getDefaultDiscriminant() ),
- pDefMemberTypeRef,
- nMembers, pMembers );
-
- for ( nPos = nMembers; nPos--; )
- {
- typelib_typedescriptionreference_release( pMembers[nPos].pTypeRef );
- }
-
- typelib_typedescriptionreference_release( pDiscrTypeRef );
- typelib_typedescriptionreference_release( pDefMemberTypeRef );
- }
- return pRet;
-}
-//==================================================================================================
inline static typelib_TypeDescription * createCTD(
const Reference< XCompoundTypeDescription > & xType )
{
@@ -620,9 +521,6 @@ static typelib_TypeDescription * createCTD(
break;
}
- case TypeClass_UNION:
- pRet = createCTD( Reference< XUnionTypeDescription >::query( xType ) );
- break;
case TypeClass_EXCEPTION:
pRet = createCTD( Reference< XCompoundTypeDescription >::query( xType ) );
break;
diff --git a/extensions/source/ole/unoconversionutilities.hxx b/extensions/source/ole/unoconversionutilities.hxx
index 1307d33..546d796 100644
--- a/extensions/source/ole/unoconversionutilities.hxx
+++ b/extensions/source/ole/unoconversionutilities.hxx
@@ -963,12 +963,7 @@ void UnoConversionUtilities<T>::anyToVariant(VARIANT* pVariant, const Any& rAny)
//TypeClass_TYPEDEF
//TypeClass_ANY:
//TypeClass_UNKNOWN:
- //TypeClass_UNSIGNED_OCTET:
- // TypeClass_UNION:
- // TypeClass_ARRAY:
- // TypeClass_UNSIGNED_INT:
- // TypeClass_UNSIGNED_BYTE:
- // TypeClass_MODULE:
+ //TypeClass_MODULE:
throw CannotConvertException(
"[automation bridge]UnoConversionUtilities<T>::anyToVariant\n"
"There is no conversion for this UNO type to a Automation type."
diff --git a/extensions/source/propctrlr/formcomponenthandler.cxx b/extensions/source/propctrlr/formcomponenthandler.cxx
index 7260092..c6d5f31 100644
--- a/extensions/source/propctrlr/formcomponenthandler.cxx
+++ b/extensions/source/propctrlr/formcomponenthandler.cxx
@@ -2207,7 +2207,6 @@ namespace pcr
return false;
if ( ( _rProperty.Type.getTypeClass() == TypeClass_INTERFACE )
- || ( _rProperty.Type.getTypeClass() == TypeClass_ARRAY )
|| ( _rProperty.Type.getTypeClass() == TypeClass_UNKNOWN )
)
return true;
diff --git a/include/com/sun/star/uno/Sequence.h b/include/com/sun/star/uno/Sequence.h
index ff52ee3..b7e4195 100644
--- a/include/com/sun/star/uno/Sequence.h
+++ b/include/com/sun/star/uno/Sequence.h
@@ -278,8 +278,7 @@ SAL_CALL getCppuType( const ::com::sun::star::uno::Sequence< E > * )
/** Gets the meta type of IDL sequence.
This function has been introduced, because one cannot get the (templated)
- cppu type out of C++ array types. Array types have special
- getCppuArrayTypeN() functions.
+ cppu type out of C++ array types.
@attention
the given element type must be the same as the template argument type!
diff --git a/include/typelib/typeclass.h b/include/typelib/typeclass.h
index 434094f..1c6b0d6 100644
--- a/include/typelib/typeclass.h
+++ b/include/typelib/typeclass.h
@@ -61,13 +61,19 @@ typedef enum _typelib_TypeClass
typelib_TypeClass_TYPEDEF = 16,
/** type class of struct */
typelib_TypeClass_STRUCT = 17,
- /** type class of union (not implemented) */
+ /** Deprecated, UNOIDL does not have a union concept.
+
+ @deprecated
+ */
typelib_TypeClass_UNION = 18,
/** type class of exception */
typelib_TypeClass_EXCEPTION = 19,
/** type class of sequence */
typelib_TypeClass_SEQUENCE = 20,
- /** type class of array (not implemented) */
+ /** Deprecated, UNOIDL does not have an array concept.
+
+ @deprecated
+ */
typelib_TypeClass_ARRAY = 21,
/** type class of interface */
typelib_TypeClass_INTERFACE = 22,
diff --git a/odk/docs/idl/idl_chapter_refs.txt b/odk/docs/idl/idl_chapter_refs.txt
index 8569d28..c9ffe1b 100644
--- a/odk/docs/idl/idl_chapter_refs.txt
+++ b/odk/docs/idl/idl_chapter_refs.txt
@@ -3389,13 +3389,11 @@ com.sun.star.reflection.XInterfaceMemberTypeDescription
com.sun.star.reflection.XInterfaceTypeDescription
com.sun.star.reflection.XInterfaceMethodTypeDescription
com.sun.star.reflection.XIndirectTypeDescription
-com.sun.star.reflection.XUnionTypeDescription
com.sun.star.reflection.TypeDescriptionProvider
com.sun.star.reflection.XInterfaceAttributeTypeDescription
com.sun.star.reflection.XTypeDescription
com.sun.star.reflection.XCompoundTypeDescription
com.sun.star.container.XHierarchicalNameAccess
-com.sun.star.reflection.XArrayTypeDescription
TOPIC:
LINK:Documentation/DevGuide/OfficeDev/Component/Controllers#XSelectionSupplier
diff --git a/pyuno/source/module/pyuno.cxx b/pyuno/source/module/pyuno.cxx
index ece4560..4c8145b 100644
--- a/pyuno/source/module/pyuno.cxx
+++ b/pyuno/source/module/pyuno.cxx
@@ -118,10 +118,6 @@ OUString val2str( const void * pVal, typelib_TypeDescriptionReference * pTypeRef
break;
}
- case typelib_TypeClass_UNION:
- {
- break;
- }
case typelib_TypeClass_STRUCT:
case typelib_TypeClass_EXCEPTION:
{
@@ -283,7 +279,6 @@ OUString val2str( const void * pVal, typelib_TypeDescriptionReference * pTypeRef
break;
case typelib_TypeClass_VOID:
- case typelib_TypeClass_ARRAY:
case typelib_TypeClass_UNKNOWN:
case typelib_TypeClass_SERVICE:
case typelib_TypeClass_MODULE:
diff --git a/pyuno/source/module/pyuno_type.cxx b/pyuno/source/module/pyuno_type.cxx
index c23d1e7..80d1fdb 100644
--- a/pyuno/source/module/pyuno_type.cxx
+++ b/pyuno/source/module/pyuno_type.cxx
@@ -81,10 +81,6 @@ const char *typeClassToString( TypeClass t )
ret = "INTERFACE"; break;
case com::sun::star::uno::TypeClass_TYPEDEF:
ret = "TYPEDEF"; break;
- case com::sun::star::uno::TypeClass_UNION:
- ret = "UNION"; break;
- case com::sun::star::uno::TypeClass_ARRAY:
- ret = "ARRAY"; break;
case com::sun::star::uno::TypeClass_SERVICE:
ret = "SERVICE"; break;
case com::sun::star::uno::TypeClass_MODULE:
diff --git a/ridljar/com/sun/star/uno/Union.java b/ridljar/com/sun/star/uno/Union.java
index 8daabbd..6a35d66 100644
--- a/ridljar/com/sun/star/uno/Union.java
+++ b/ridljar/com/sun/star/uno/Union.java
@@ -19,11 +19,9 @@
package com.sun.star.uno;
/**
- * The Union class is the base class for all classes generated
- * as java binding for the IDL type union.
- * <p>
- * Note: The idl type <code>union<code> is currently not fully
- * integrated into the UNO framework, so don't use it.
+ * Deprecated, UNOIDL does not have a union concept.
+ *
+ * @deprecated
*/
public class Union {
/**
diff --git a/solenv/gdb/libreoffice/util/uno.py b/solenv/gdb/libreoffice/util/uno.py
index b92a817..a80fdd8 100644
--- a/solenv/gdb/libreoffice/util/uno.py
+++ b/solenv/gdb/libreoffice/util/uno.py
@@ -63,14 +63,12 @@ class TypeClass(object):
TYPEDEF = 16
# type class of struct
STRUCT = 17
- # type class of union (not implemented)
- UNION = 18
+
# type class of exception
EXCEPTION = 19
# type class of sequence
SEQUENCE = 20
- # type class of array (not implemented)
- ARRAY = 21
+
# type class of interface
INTERFACE = 22
# type class of service (not implemented)
@@ -236,14 +234,10 @@ def make_uno_type(val):
pass
elif type_class == TypeClass.STRUCT:
uno_type = StructType(val, full_val)
- elif type_class == TypeClass.UNION:
- raise UnsupportedType('union')
elif type_class == TypeClass.EXCEPTION:
uno_type = CompoundType(val, full_val)
elif type_class == TypeClass.SEQUENCE:
uno_type = IndirectType(val, full_val)
- elif type_class == TypeClass.ARRAY:
- raise UnsupportedType('array')
elif type_class == TypeClass.INTERFACE:
uno_type = InterfaceType(val, full_val)
elif type_class == TypeClass.SERVICE:
diff --git a/stoc/source/corereflection/crarray.cxx b/stoc/source/corereflection/crarray.cxx
index 4bc0eb5..e329f63 100644
--- a/stoc/source/corereflection/crarray.cxx
+++ b/stoc/source/corereflection/crarray.cxx
@@ -87,7 +87,7 @@ void ArrayIdlClassImpl::realloc( Any & rArray, sal_Int32 nLen )
throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException)
{
TypeClass eTC = rArray.getValueTypeClass();
- if (eTC != TypeClass_SEQUENCE && eTC != TypeClass_ARRAY)
+ if (eTC != TypeClass_SEQUENCE)
{
throw IllegalArgumentException(
OUString("no sequence given!"),
@@ -112,7 +112,7 @@ sal_Int32 ArrayIdlClassImpl::getLen( const Any & rArray )
throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException)
{
TypeClass eTC = rArray.getValueTypeClass();
- if (eTC != TypeClass_SEQUENCE && eTC != TypeClass_ARRAY)
+ if (eTC != TypeClass_SEQUENCE)
{
throw IllegalArgumentException(
OUString("no sequence given!"),
@@ -126,7 +126,7 @@ Any ArrayIdlClassImpl::get( const Any & rArray, sal_Int32 nIndex )
throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::ArrayIndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException)
{
TypeClass eTC = rArray.getValueTypeClass();
- if (eTC != TypeClass_SEQUENCE && eTC != TypeClass_ARRAY)
+ if (eTC != TypeClass_SEQUENCE)
{
throw IllegalArgumentException(
OUString("no sequence given!"),
@@ -157,7 +157,7 @@ void ArrayIdlClassImpl::set( Any & rArray, sal_Int32 nIndex, const Any & rNewVal
throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::ArrayIndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException)
{
TypeClass eTC = rArray.getValueTypeClass();
- if (eTC != TypeClass_SEQUENCE && eTC != TypeClass_ARRAY)
+ if (eTC != TypeClass_SEQUENCE)
{
throw IllegalArgumentException(
OUString("no sequence given!"),
diff --git a/stoc/source/corereflection/crefl.cxx b/stoc/source/corereflection/crefl.cxx
index cc437d0..1ba2ed4 100644
--- a/stoc/source/corereflection/crefl.cxx
+++ b/stoc/source/corereflection/crefl.cxx
@@ -208,11 +208,9 @@ inline Reference< XIdlClass > IdlReflectionServiceImpl::constructClass(
return new EnumIdlClassImpl( this, pTypeDescr->pTypeName, pTypeDescr->eTypeClass, pTypeDescr );
case typelib_TypeClass_STRUCT:
- case typelib_TypeClass_UNION:
case typelib_TypeClass_EXCEPTION:
return new CompoundIdlClassImpl( this, pTypeDescr->pTypeName, pTypeDescr->eTypeClass, pTypeDescr );
- case typelib_TypeClass_ARRAY:
case typelib_TypeClass_SEQUENCE:
return new ArrayIdlClassImpl( this, pTypeDescr->pTypeName, pTypeDescr->eTypeClass, pTypeDescr );
diff --git a/stoc/source/typeconv/convert.cxx b/stoc/source/typeconv/convert.cxx
index b0c01c3..19d2353 100644
--- a/stoc/source/typeconv/convert.cxx
+++ b/stoc/source/typeconv/convert.cxx
@@ -521,9 +521,8 @@ Any SAL_CALL TypeConverter_Impl::convertTo( const Any& rVal, const Type& aDestTy
case TypeClass_ANY:
return rVal;
- // --- to STRUCT, UNION, EXCEPTION ----------------------------------------------------------
+ // --- to STRUCT, EXCEPTION ----------------------------------------------------------
case TypeClass_STRUCT:
-// case TypeClass_UNION: // xxx todo
case TypeClass_EXCEPTION:
{
// same types or destination type is derived source type?
@@ -700,22 +699,26 @@ Any TypeConverter_Impl::convertToSimpleType( const Any& rVal, TypeClass aDestina
switch (aDestinationClass)
{
// only simple Conversion of _simple_ types
- case TypeClass_INTERFACE:
- case TypeClass_SERVICE:
- case TypeClass_STRUCT:
- case TypeClass_TYPEDEF:
- case TypeClass_UNION:
- case TypeClass_EXCEPTION:
- case TypeClass_ARRAY:
- case TypeClass_SEQUENCE:
- case TypeClass_ENUM:
- case TypeClass_UNKNOWN:
- case TypeClass_MODULE:
+ case TypeClass_VOID:
+ case TypeClass_BOOLEAN:
+ case TypeClass_BYTE:
+ case TypeClass_SHORT:
+ case TypeClass_UNSIGNED_SHORT:
+ case TypeClass_LONG:
+ case TypeClass_UNSIGNED_LONG:
+ case TypeClass_HYPER:
+ case TypeClass_UNSIGNED_HYPER:
+ case TypeClass_FLOAT:
+ case TypeClass_DOUBLE:
+ case TypeClass_CHAR:
+ case TypeClass_STRING:
+ case TypeClass_ANY:
+ break;
+
+ default:
throw IllegalArgumentException(
OUString("destination type is not simple!"),
Reference< XInterface >(), (sal_Int16) 1 );
- default:
- break;
}
Type aSourceType = rVal.getValueType();
diff --git a/stoc/test/testconv.cxx b/stoc/test/testconv.cxx
index 415d3c5..79f06ab 100644
--- a/stoc/test/testconv.cxx
+++ b/stoc/test/testconv.cxx
@@ -585,7 +585,7 @@ static sal_Int32 initBlocks( ConvBlock * pTestBlocks )
pTestBlocks[nElems++] = ConvBlock( aVal, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 );
// st,do,fl,u3,i3,u1,i1,by,bo,ch,tc,si,sa
// ==SEQ of ANY==
- Sequence< Any > aAnySeq( 2 ), aAnySeq2( 2 ), aAnySeq3( 2 );
+ Sequence< Any > aAnySeq( 2 ), aAnySeq2( 2 );
Any * pAnySeq = aAnySeq.getArray();
pAnySeq[0] = makeAny( aINT32Seq );
pAnySeq[1] = makeAny( OUString("lala") );
@@ -598,12 +598,6 @@ static sal_Int32 initBlocks( ConvBlock * pTestBlocks )
aVal <<= aAnySeq2;
pTestBlocks[nElems++] = ConvBlock( aVal, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1 );
// st,do,fl,u3,i3,u1,i1,by,bo,ch,tc,si,sa
- pAnySeq = aAnySeq3.getArray();
- pAnySeq[0] <<= OUString("TypeClass_UNION");
- pAnySeq[1] <<= OUString("TypeClass_ENUM");
- aVal <<= aAnySeq3;
- pTestBlocks[nElems++] = ConvBlock( aVal, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1 );
- // st,do,fl,u3,i3,u1,i1,by,bo,ch,tc,si,sa
return nElems;
}
diff --git a/stoc/test/testintrosp.cxx b/stoc/test/testintrosp.cxx
index f6d0860..ef8192f 100644
--- a/stoc/test/testintrosp.cxx
+++ b/stoc/test/testintrosp.cxx
@@ -103,10 +103,8 @@ OUString AnyToString( const Any& aValue, sal_Bool bIncludeType, const Reference<
case TypeClass_SERVICE: aRetStr = "TYPE SERVICE"; break;
case TypeClass_STRUCT: aRetStr = "TYPE STRUCT"; break;
case TypeClass_TYPEDEF: aRetStr = "TYPE TYPEDEF"; break;
- case TypeClass_UNION: aRetStr = "TYPE UNION"; break;
case TypeClass_ENUM: aRetStr = "TYPE ENUM"; break;
case TypeClass_EXCEPTION: aRetStr = "TYPE EXCEPTION"; break;
- case TypeClass_ARRAY: aRetStr = "TYPE ARRAY"; break;
case TypeClass_SEQUENCE: aRetStr = "TYPE SEQUENCE"; break;
case TypeClass_VOID: aRetStr = "TYPE void"; break;
case TypeClass_ANY: aRetStr = "TYPE any"; break;
diff --git a/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl b/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl
index bd9f2ef..ff5673d 100644
--- a/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl
+++ b/udkapi/com/sun/star/reflection/XArrayTypeDescription.idl
@@ -26,9 +26,7 @@
module com { module sun { module star { module reflection {
-/** Deprecated. Arrays are not supported.
- Reflects a fixed-size array type.
- The type class of this description is TypeClass_ARRAY.
+/** Deprecated, UNOIDL does not have an array concept.
@deprecated
*/
diff --git a/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl b/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl
index 179dfe1..32bbe98 100644
--- a/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl
+++ b/udkapi/com/sun/star/reflection/XUnionTypeDescription.idl
@@ -26,10 +26,7 @@
module com { module sun { module star { module reflection {
-/** Deprecated. Unions are not supported.
- Reflects a union type.
- The discriminant of a union switches between the current value types.
- In addition, there is also a default case, having no discriminant.
+/** Deprecated, UNOIDL does not have a union concept.
@deprecated
*/
diff --git a/udkapi/com/sun/star/uno/TypeClass.idl b/udkapi/com/sun/star/uno/TypeClass.idl
index 959173f..1def57d 100644
--- a/udkapi/com/sun/star/uno/TypeClass.idl
+++ b/udkapi/com/sun/star/uno/TypeClass.idl
@@ -89,7 +89,9 @@ published enum TypeClass
/** reflecting compound types
*/
STRUCT,
- /** reflecting union types
+ /** Deprecated, UNOIDL does not have a union concept.
+
+ @deprecated
*/
UNION,
/** reflecting exception types
@@ -98,7 +100,9 @@ published enum TypeClass
/** reflecting sequence types
*/
SEQUENCE,
- /** reflecting array types
+ /** Deprecated, UNOIDL does not have an array concept.
+
+ @deprecated
*/
ARRAY,
/** reflecting interface types
diff --git a/winaccessibility/source/UAccCOM/MAccessible.cxx b/winaccessibility/source/UAccCOM/MAccessible.cxx
index 488fc65..4a1e333 100644
--- a/winaccessibility/source/UAccCOM/MAccessible.cxx
+++ b/winaccessibility/source/UAccCOM/MAccessible.cxx
@@ -2893,9 +2893,7 @@ void CMAccessible::get_OLECHARFromAny(Any& pAny, OLECHAR* pChar)
case TypeClass_TYPE:
case TypeClass_ANY:
case TypeClass_TYPEDEF:
- case TypeClass_UNION:
case TypeClass_EXCEPTION:
- case TypeClass_ARRAY:
case TypeClass_INTERFACE:
case TypeClass_SERVICE:
case TypeClass_MODULE:
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list