diff options
Diffstat (limited to 'stoc/source/corereflection/crenum.cxx')
-rw-r--r-- | stoc/source/corereflection/crenum.cxx | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/stoc/source/corereflection/crenum.cxx b/stoc/source/corereflection/crenum.cxx deleted file mode 100644 index 319b2cbf9..000000000 --- a/stoc/source/corereflection/crenum.cxx +++ /dev/null @@ -1,249 +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 "base.hxx" - -namespace stoc_corefl -{ - -//================================================================================================== -class IdlEnumFieldImpl - : public IdlMemberImpl - , public XIdlField - , public XIdlField2 -{ - sal_Int32 _nValue; - -public: - IdlEnumFieldImpl( IdlReflectionServiceImpl * pReflection, const OUString & rName, - typelib_TypeDescription * pTypeDescr, sal_Int32 nValue ) - : IdlMemberImpl( pReflection, rName, pTypeDescr, pTypeDescr ) - , _nValue( nValue ) - {} - virtual ~IdlEnumFieldImpl(); - - // XInterface - virtual Any SAL_CALL queryInterface( const Type & rType ) throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() throw(); - virtual void SAL_CALL release() throw(); - - // XTypeProvider - virtual Sequence< Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException); - virtual Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException); - - // XIdlMember - virtual Reference< XIdlClass > SAL_CALL getDeclaringClass() throw(::com::sun::star::uno::RuntimeException); - virtual OUString SAL_CALL getName() throw(::com::sun::star::uno::RuntimeException); - // XIdlField - virtual Reference< XIdlClass > SAL_CALL getType() throw(::com::sun::star::uno::RuntimeException); - virtual FieldAccessMode SAL_CALL getAccessMode() throw(::com::sun::star::uno::RuntimeException); - virtual Any SAL_CALL get( const Any & rObj ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL set( const Any & rObj, const Any & rValue ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IllegalAccessException, ::com::sun::star::uno::RuntimeException); - // XIdlField2: getType, getAccessMode and get are equal to XIdlField - virtual void SAL_CALL set( Any & rObj, const Any & rValue ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IllegalAccessException, ::com::sun::star::uno::RuntimeException); -}; -//__________________________________________________________________________________________________ -IdlEnumFieldImpl::~IdlEnumFieldImpl() -{ -} - -// XInterface -//__________________________________________________________________________________________________ -Any IdlEnumFieldImpl::queryInterface( const Type & rType ) - throw(::com::sun::star::uno::RuntimeException) -{ - Any aRet( ::cppu::queryInterface( rType, - static_cast< XIdlField * >( this ), - static_cast< XIdlField2 * >( this ) ) ); - return (aRet.hasValue() ? aRet : IdlMemberImpl::queryInterface( rType )); -} -//__________________________________________________________________________________________________ -void IdlEnumFieldImpl::acquire() throw() -{ - IdlMemberImpl::acquire(); -} -//__________________________________________________________________________________________________ -void IdlEnumFieldImpl::release() throw() -{ - IdlMemberImpl::release(); -} - -// XTypeProvider -//__________________________________________________________________________________________________ -Sequence< Type > IdlEnumFieldImpl::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< XIdlField2 > *)0 ), - ::getCppuType( (const Reference< XIdlField > *)0 ), - IdlMemberImpl::getTypes() ); - s_pTypes = &s_aTypes; - } - } - return s_pTypes->getTypes(); -} -//__________________________________________________________________________________________________ -Sequence< sal_Int8 > IdlEnumFieldImpl::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(); -} - -// XIdlMember -//__________________________________________________________________________________________________ -Reference< XIdlClass > IdlEnumFieldImpl::getDeclaringClass() - throw(::com::sun::star::uno::RuntimeException) -{ - return IdlMemberImpl::getDeclaringClass(); -} -//__________________________________________________________________________________________________ -OUString IdlEnumFieldImpl::getName() - throw(::com::sun::star::uno::RuntimeException) -{ - return IdlMemberImpl::getName(); -} - -// XIdlField -//__________________________________________________________________________________________________ -Reference< XIdlClass > IdlEnumFieldImpl::getType() - throw(::com::sun::star::uno::RuntimeException) -{ - return getDeclaringClass(); -} -//__________________________________________________________________________________________________ -FieldAccessMode IdlEnumFieldImpl::getAccessMode() - throw(::com::sun::star::uno::RuntimeException) -{ - return FieldAccessMode_READONLY; -} -//__________________________________________________________________________________________________ -Any IdlEnumFieldImpl::get( const Any & ) - throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException) -{ - return Any( &_nValue, getTypeDescr() ); -} -//__________________________________________________________________________________________________ -void IdlEnumFieldImpl::set( const Any &, const Any & ) - throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IllegalAccessException, ::com::sun::star::uno::RuntimeException) -{ - throw IllegalAccessException( - OUString( RTL_CONSTASCII_USTRINGPARAM("enum field is constant!") ), - (XWeak *)(OWeakObject *)this ); -} -//__________________________________________________________________________________________________ -void IdlEnumFieldImpl::set( Any &, const Any & ) - throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IllegalAccessException, ::com::sun::star::uno::RuntimeException) -{ - throw IllegalAccessException( - OUString( RTL_CONSTASCII_USTRINGPARAM("enum field is constant!") ), - (XWeak *)(OWeakObject *)this ); -} - -//################################################################################################## -//################################################################################################## -//################################################################################################## - - -//__________________________________________________________________________________________________ -EnumIdlClassImpl::~EnumIdlClassImpl() -{ - delete _pFields; -} - -// IdlClassImpl modifications -//__________________________________________________________________________________________________ -Reference< XIdlField > EnumIdlClassImpl::getField( const OUString & rName ) - throw(::com::sun::star::uno::RuntimeException) -{ - if (! _pFields) - getFields(); // init members - - const OUString2Field::const_iterator iFind( _aName2Field.find( rName ) ); - if (iFind != _aName2Field.end()) - return (*iFind).second; - else - return Reference< XIdlField >(); -} -//__________________________________________________________________________________________________ -Sequence< Reference< XIdlField > > EnumIdlClassImpl::getFields() - throw(::com::sun::star::uno::RuntimeException) -{ - if (! _pFields) - { - MutexGuard aGuard( getMutexAccess() ); - if (! _pFields) - { - sal_Int32 nFields = getTypeDescr()->nEnumValues; - Sequence< Reference< XIdlField > > * pFields = - new Sequence< Reference< XIdlField > >( nFields ); - Reference< XIdlField > * pSeq = pFields->getArray(); - - while (nFields--) - { - OUString aName( getTypeDescr()->ppEnumNames[nFields] ); - _aName2Field[aName] = pSeq[nFields] = new IdlEnumFieldImpl( - getReflection(), aName, IdlClassImpl::getTypeDescr(), getTypeDescr()->pEnumValues[nFields] ); - } - - _pFields = pFields; - } - } - return *_pFields; -} -//__________________________________________________________________________________________________ -void EnumIdlClassImpl::createObject( Any & rObj ) - throw(::com::sun::star::uno::RuntimeException) -{ - sal_Int32 eVal = - ((typelib_EnumTypeDescription *)IdlClassImpl::getTypeDescr())->nDefaultEnumValue; - rObj.setValue( &eVal, IdlClassImpl::getTypeDescr() ); -} - -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |