diff options
Diffstat (limited to 'cppu/source/uno/assign.hxx')
-rw-r--r-- | cppu/source/uno/assign.hxx | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/cppu/source/uno/assign.hxx b/cppu/source/uno/assign.hxx index 66b065cb834b..655fe4c6d2e4 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; |