Remove UNOIDL "array" and "union" vaporware remnants
...and deprecate what cannot be removed for compatibility. Change-Id: I1ea335af775b867b468b8285113631167729a92a
This commit is contained in:
parent
11235e8649
commit
9e77c2fb7c
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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",
|
||||
|
@ -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
|
||||
|
||||
|
@ -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:
|
||||
|
@ -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;
|
||||
|
@ -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"
|
||||
@ -65,104 +64,6 @@ static typelib_TypeDescription * createCTD(
|
||||
Reference< container::XHierarchicalNameAccess > const & access,
|
||||
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;
|
||||
|
@ -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."
|
||||
|
@ -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;
|
||||
|
@ -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!
|
||||
|
@ -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,
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
@ -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:
|
||||
|
@ -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 {
|
||||
/**
|
||||
|
@ -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:
|
||||
|
@ -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!"),
|
||||
|
@ -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 );
|
||||
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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
|
||||
*/
|
||||
|
@ -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
|
||||
*/
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
@ -3047,10 +3045,8 @@ void CMAccessible::ConvertAnyToVariant(const ::com::sun::star::uno::Any &rAnyVal
|
||||
case TypeClass_ENUM:
|
||||
case TypeClass_TYPEDEF:
|
||||
case TypeClass_STRUCT:
|
||||
case TypeClass_UNION:
|
||||
case TypeClass_EXCEPTION:
|
||||
case TypeClass_SEQUENCE:
|
||||
case TypeClass_ARRAY:
|
||||
case TypeClass_INTERFACE:
|
||||
{
|
||||
Reference< XAccessible > pXAcc;
|
||||
|
@ -43,8 +43,7 @@ public class NumericalHelper
|
||||
public static final int CHAR_TYPE = 6;
|
||||
public static final int STRING_TYPE = -1;
|
||||
public static final int BOOLEAN_TYPE = -2;
|
||||
public static final int ARRAY_TYPE = -3;
|
||||
public static final int SEQUENCE_TYPE = -4;
|
||||
public static final int SEQUENCE_TYPE = -3;
|
||||
public static final int ASCII_VALUE_0 = 48;
|
||||
public static final int ASCII_VALUE_A = 65;
|
||||
public static final int COUNT_CHARS_IN_ALPHABET = 26;
|
||||
@ -659,7 +658,7 @@ public class NumericalHelper
|
||||
case BOOLEAN_TYPE:
|
||||
retValue = aTypeObject.aValue.toString();
|
||||
break;
|
||||
case ARRAY_TYPE:
|
||||
case SEQUENCE_TYPE:
|
||||
retValue = new String(toByteArray((aValue)));
|
||||
break;
|
||||
default:
|
||||
@ -738,11 +737,7 @@ public class NumericalHelper
|
||||
TypeObject aTypeObject = getTypeObject(anArrayValue);
|
||||
if (aTypeObject.iType == SEQUENCE_TYPE)
|
||||
{
|
||||
aTypeObject = convertSequenceToObjectArray(aTypeObject);
|
||||
}
|
||||
if (aTypeObject.iType == ARRAY_TYPE)
|
||||
{
|
||||
Object[] obj = (Object[]) aTypeObject.aValue;
|
||||
Object[] obj = convertSequenceToObjectArray(aTypeObject);
|
||||
retValue = new int[obj.length];
|
||||
for (int i = 0; i < obj.length; i++)
|
||||
{
|
||||
@ -772,11 +767,7 @@ public class NumericalHelper
|
||||
TypeObject aTypeObject = getTypeObject(anArrayValue);
|
||||
if (aTypeObject.iType == SEQUENCE_TYPE)
|
||||
{
|
||||
aTypeObject = convertSequenceToObjectArray(aTypeObject);
|
||||
}
|
||||
if (aTypeObject.iType == ARRAY_TYPE)
|
||||
{
|
||||
Object[] obj = (Object[]) aTypeObject.aValue;
|
||||
Object[] obj = convertSequenceToObjectArray(aTypeObject);
|
||||
retValue = new byte[obj.length];
|
||||
for (int i = 0; i < obj.length; i++)
|
||||
{
|
||||
@ -806,11 +797,7 @@ public class NumericalHelper
|
||||
TypeObject aTypeObject = getTypeObject(anArrayValue);
|
||||
if (aTypeObject.iType == SEQUENCE_TYPE)
|
||||
{
|
||||
aTypeObject = convertSequenceToObjectArray(aTypeObject);
|
||||
}
|
||||
if (aTypeObject.iType == ARRAY_TYPE)
|
||||
{
|
||||
Object[] obj = (Object[]) aTypeObject.aValue;
|
||||
Object[] obj = convertSequenceToObjectArray(aTypeObject);
|
||||
retValue = new short[obj.length];
|
||||
for (int i = 0; i < obj.length; i++)
|
||||
{
|
||||
@ -840,11 +827,7 @@ public class NumericalHelper
|
||||
TypeObject aTypeObject = getTypeObject(anArrayValue);
|
||||
if (aTypeObject.iType == SEQUENCE_TYPE)
|
||||
{
|
||||
aTypeObject = convertSequenceToObjectArray(aTypeObject);
|
||||
}
|
||||
if (aTypeObject.iType == ARRAY_TYPE)
|
||||
{
|
||||
Object[] obj = (Object[]) aTypeObject.aValue;
|
||||
Object[] obj = convertSequenceToObjectArray(aTypeObject);
|
||||
retValue = new String[obj.length];
|
||||
for (int i = 0; i < obj.length; i++)
|
||||
{
|
||||
@ -1120,13 +1103,6 @@ public class NumericalHelper
|
||||
aTypeObject.iType = BOOLEAN_TYPE;
|
||||
aTypeObject.aValue = Boolean.valueOf(AnyConverter.toBoolean(aValue));
|
||||
break;
|
||||
case TypeClass.ARRAY_value:
|
||||
aTypeObject.iType = ARRAY_TYPE;
|
||||
aTypeObject.aValue = new Object[]
|
||||
{
|
||||
AnyConverter.toArray(aValue)
|
||||
};
|
||||
break;
|
||||
case TypeClass.SEQUENCE_value:
|
||||
aTypeObject.iType = SEQUENCE_TYPE;
|
||||
aTypeObject.aValue = aValue;
|
||||
@ -1302,13 +1278,11 @@ public class NumericalHelper
|
||||
}
|
||||
}
|
||||
|
||||
private static TypeObject convertSequenceToObjectArray(
|
||||
private static Object[] convertSequenceToObjectArray(
|
||||
TypeObject sourceObject)
|
||||
throws com.sun.star.lang.IllegalArgumentException
|
||||
{
|
||||
TypeObject destObject = new TypeObject();
|
||||
Object array = sourceObject.aValue;
|
||||
destObject.iType = ARRAY_TYPE;
|
||||
Class<?> c = array.getClass();
|
||||
Object[] aShortVal = null;
|
||||
if (c.equals(byte[].class))
|
||||
@ -1388,8 +1362,7 @@ public class NumericalHelper
|
||||
"Cannot convert unknown type: '" + e.getMessage() + "'");
|
||||
}
|
||||
}
|
||||
destObject.aValue = aShortVal;
|
||||
return destObject;
|
||||
return aShortVal;
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user