summaryrefslogtreecommitdiff
path: root/stoc/source/corereflection/crarray.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'stoc/source/corereflection/crarray.cxx')
-rw-r--r--stoc/source/corereflection/crarray.cxx234
1 files changed, 0 insertions, 234 deletions
diff --git a/stoc/source/corereflection/crarray.cxx b/stoc/source/corereflection/crarray.cxx
deleted file mode 100644
index bec266ebd..000000000
--- a/stoc/source/corereflection/crarray.cxx
+++ /dev/null
@@ -1,234 +0,0 @@
-/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-// MARKER(update_precomp.py): autogen include statement, do not remove
-#include "precompiled_stoc.hxx"
-#include <typelib/typedescription.h>
-#include <uno/data.h>
-
-#include "base.hxx"
-
-
-namespace stoc_corefl
-{
-
-// XInterface
-//__________________________________________________________________________________________________
-Any ArrayIdlClassImpl::queryInterface( const Type & rType )
- throw(::com::sun::star::uno::RuntimeException)
-{
- Any aRet( ::cppu::queryInterface( rType, static_cast< XIdlArray * >( this ) ) );
- return (aRet.hasValue() ? aRet : IdlClassImpl::queryInterface( rType ));
-}
-//__________________________________________________________________________________________________
-void ArrayIdlClassImpl::acquire() throw()
-{
- IdlClassImpl::acquire();
-}
-//__________________________________________________________________________________________________
-void ArrayIdlClassImpl::release() throw()
-{
- IdlClassImpl::release();
-}
-
-// XTypeProvider
-//__________________________________________________________________________________________________
-Sequence< Type > ArrayIdlClassImpl::getTypes()
- throw (::com::sun::star::uno::RuntimeException)
-{
- static OTypeCollection * s_pTypes = 0;
- if (! s_pTypes)
- {
- MutexGuard aGuard( getMutexAccess() );
- if (! s_pTypes)
- {
- static OTypeCollection s_aTypes(
- ::getCppuType( (const Reference< XIdlArray > *)0 ),
- IdlClassImpl::getTypes() );
- s_pTypes = &s_aTypes;
- }
- }
- return s_pTypes->getTypes();
-}
-//__________________________________________________________________________________________________
-Sequence< sal_Int8 > ArrayIdlClassImpl::getImplementationId()
- throw (::com::sun::star::uno::RuntimeException)
-{
- static OImplementationId * s_pId = 0;
- if (! s_pId)
- {
- MutexGuard aGuard( getMutexAccess() );
- if (! s_pId)
- {
- static OImplementationId s_aId;
- s_pId = &s_aId;
- }
- }
- return s_pId->getImplementationId();
-}
-
-// XIdlArray
-//__________________________________________________________________________________________________
-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)
- {
- throw IllegalArgumentException(
- OUString( RTL_CONSTASCII_USTRINGPARAM("no sequence given!") ),
- (XWeak *)(OWeakObject *)this, 0 );
- }
- if (nLen < 0)
- {
- throw IllegalArgumentException(
- OUString( RTL_CONSTASCII_USTRINGPARAM("illegal length given!") ),
- (XWeak *)(OWeakObject *)this, 1 );
- }
-
- uno_Sequence ** ppSeq = (uno_Sequence **)rArray.getValue();
- uno_sequence_realloc( ppSeq, (typelib_TypeDescription *)getTypeDescr(),
- nLen,
- reinterpret_cast< uno_AcquireFunc >(cpp_acquire),
- reinterpret_cast< uno_ReleaseFunc >(cpp_release) );
- rArray.pData = ppSeq;
-}
-//__________________________________________________________________________________________________
-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)
- {
- throw IllegalArgumentException(
- OUString( RTL_CONSTASCII_USTRINGPARAM("no sequence given!") ),
- (XWeak *)(OWeakObject *)this, 0 );
- }
-
- return (*(uno_Sequence **)rArray.getValue())->nElements;
-}
-//__________________________________________________________________________________________________
-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)
- {
- throw IllegalArgumentException(
- OUString( RTL_CONSTASCII_USTRINGPARAM("no sequence given!") ),
- (XWeak *)(OWeakObject *)this, 0 );
- }
-
- uno_Sequence * pSeq = *(uno_Sequence **)rArray.getValue();
- if (pSeq->nElements <= nIndex)
- {
- throw ArrayIndexOutOfBoundsException(
- OUString( RTL_CONSTASCII_USTRINGPARAM("illegal index given!") ),
- (XWeak *)(OWeakObject *)this );
- }
-
- Any aRet;
- typelib_TypeDescription * pElemTypeDescr = 0;
- TYPELIB_DANGER_GET( &pElemTypeDescr, getTypeDescr()->pType );
- uno_any_destruct( &aRet, reinterpret_cast< uno_ReleaseFunc >(cpp_release) );
- uno_any_construct( &aRet, &pSeq->elements[nIndex * pElemTypeDescr->nSize],
- pElemTypeDescr,
- reinterpret_cast< uno_AcquireFunc >(cpp_acquire) );
- TYPELIB_DANGER_RELEASE( pElemTypeDescr );
- return aRet;
-}
-
-//__________________________________________________________________________________________________
-void ArrayIdlClassImpl::set( Any & rArray, sal_Int32 nIndex, const Any & rNewValue )
- 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)
- {
- throw IllegalArgumentException(
- OUString( RTL_CONSTASCII_USTRINGPARAM("no sequence given!") ),
- (XWeak *)(OWeakObject *)this, 0 );
- }
-
- uno_Sequence * pSeq = *(uno_Sequence **)rArray.getValue();
- if (pSeq->nElements <= nIndex)
- {
- throw ArrayIndexOutOfBoundsException(
- OUString( RTL_CONSTASCII_USTRINGPARAM("illegal index given!") ),
- (XWeak *)(OWeakObject *)this );
- }
-
- uno_Sequence ** ppSeq = (uno_Sequence **)rArray.getValue();
- uno_sequence_reference2One(
- ppSeq, (typelib_TypeDescription *)getTypeDescr(),
- reinterpret_cast< uno_AcquireFunc >(cpp_acquire),
- reinterpret_cast< uno_ReleaseFunc >(cpp_release) );
- rArray.pData = ppSeq;
- pSeq = *ppSeq;
-
- typelib_TypeDescription * pElemTypeDescr = 0;
- TYPELIB_DANGER_GET( &pElemTypeDescr, getTypeDescr()->pType );
-
- if (! coerce_assign( &pSeq->elements[nIndex * pElemTypeDescr->nSize],
- pElemTypeDescr, rNewValue, getReflection() ))
- {
- TYPELIB_DANGER_RELEASE( pElemTypeDescr );
- throw IllegalArgumentException(
- OUString( RTL_CONSTASCII_USTRINGPARAM("sequence element is not assignable by given value!") ),
- (XWeak *)(OWeakObject *)this, 2 );
- }
- TYPELIB_DANGER_RELEASE( pElemTypeDescr );
-}
-
-// ArrayIdlClassImpl
-//__________________________________________________________________________________________________
-sal_Bool ArrayIdlClassImpl::isAssignableFrom( const Reference< XIdlClass > & xType )
- throw(::com::sun::star::uno::RuntimeException)
-{
- return (xType.is() &&
- (equals( xType ) ||
- (xType->getTypeClass() == getTypeClass() && // must be sequence|array
- getComponentType()->isAssignableFrom( xType->getComponentType() ))));
-}
-//__________________________________________________________________________________________________
-Reference< XIdlClass > ArrayIdlClassImpl::getComponentType()
- throw(::com::sun::star::uno::RuntimeException)
-{
- return getReflection()->forType( getTypeDescr()->pType );
-}
-//__________________________________________________________________________________________________
-Reference< XIdlArray > ArrayIdlClassImpl::getArray()
- throw(::com::sun::star::uno::RuntimeException)
-{
- return this;
-}
-
-}
-
-
-/* vim:set shiftwidth=4 softtabstop=4 expandtab: */