From 61193f586ba392e6da6955800945ec9da6830991 Mon Sep 17 00:00:00 2001 From: Daniel Boelzle Date: Thu, 21 Dec 2000 13:39:29 +0000 Subject: empty throw () clauses --- cppu/source/threadpool/makefile.mk | 7 +- cppu/source/threadpool/threadident.cxx | 68 +++++-------------- cppu/source/threadpool/threadpool.cxx | 10 ++- cppu/source/typelib/static_types.cxx | 33 ++++++---- cppu/source/typelib/typelib.cxx | 109 +++++++++++++++--------------- cppu/source/uno/any.cxx | 11 +++- cppu/source/uno/assign.hxx | 11 +++- cppu/source/uno/constr.hxx | 10 ++- cppu/source/uno/copy.hxx | 16 +++-- cppu/source/uno/data.cxx | 24 ++++++- cppu/source/uno/destr.hxx | 16 +++-- cppu/source/uno/eq.hxx | 16 +++-- cppu/source/uno/lbenv.cxx | 117 ++++++++++++++++++++------------- cppu/source/uno/lbmap.cxx | 102 ++++++++++++++++++---------- cppu/source/uno/prim.hxx | 22 +++---- cppu/source/uno/sequence.cxx | 17 ++++- 16 files changed, 350 insertions(+), 239 deletions(-) diff --git a/cppu/source/threadpool/makefile.mk b/cppu/source/threadpool/makefile.mk index 7a82725ba517..ac2397673bcc 100644 --- a/cppu/source/threadpool/makefile.mk +++ b/cppu/source/threadpool/makefile.mk @@ -2,9 +2,9 @@ # # $RCSfile: makefile.mk,v $ # -# $Revision: 1.1.1.1 $ +# $Revision: 1.2 $ # -# last change: $Author: hr $ $Date: 2000-09-18 15:25:52 $ +# last change: $Author: dbo $ $Date: 2000-12-21 14:39:23 $ # # The Contents of this file are made available subject to the terms of # either of the following licenses @@ -77,7 +77,8 @@ SLOFILES=\ $(SLO)$/threadpool.obj\ $(SLO)$/jobqueue.obj\ $(SLO)$/thread.obj\ - $(SLO)$/threadident.obj + $(SLO)$/threadident.obj\ + $(SLO)$/current.obj # $(SLO)$/threadpool.obj \ # $(SLO)$/process.obj \ diff --git a/cppu/source/threadpool/threadident.cxx b/cppu/source/threadpool/threadident.cxx index a7bd8a2b4e5d..2eac3cc55c9e 100644 --- a/cppu/source/threadpool/threadident.cxx +++ b/cppu/source/threadpool/threadident.cxx @@ -2,9 +2,9 @@ * * $RCSfile: threadident.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: jbu $ $Date: 2000-10-13 12:21:44 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -75,50 +75,15 @@ #include +#include "current.hxx" + + using namespace ::std; using namespace ::osl; using namespace ::rtl; +using namespace ::cppu; -static sal_Bool g_bInitialized; -static oslThreadKey g_key; - -namespace cppu_threadpool -{ -struct IdContainer -{ - sal_Sequence *pLocalThreadId; - sal_Int32 nRefCountOfCurrentId; - sal_Sequence *pCurrentId; -}; -} -using namespace cppu_threadpool; - -static void SAL_CALL destructIdContainer( void *p ) -{ - if( p ) - { - IdContainer *pId = (IdContainer * ) p; - rtl_byte_sequence_release( pId->pLocalThreadId ); - rtl_byte_sequence_release( pId->pCurrentId ); - rtl_freeMemory( p ); - } -} - -static inline oslThreadKey getKey() -{ - if( ! g_bInitialized ) - { - ::osl::MutexGuard guard( ::osl::Mutex::getGlobalMutex() ); - if( ! g_bInitialized ) - { - g_key = osl_createThreadKey( destructIdContainer ); - g_bInitialized = sal_True; - } - } - return g_key; -} - static inline void createLocalId( sal_Sequence **ppThreadId ) { rtl_byte_sequence_constructNoDefault( ppThreadId , 4 + 16 ); @@ -130,23 +95,22 @@ static inline void createLocalId( sal_Sequence **ppThreadId ) extern "C" SAL_DLLEXPORT void SAL_CALL uno_getIdOfCurrentThread( sal_Sequence **ppThreadId ) + throw () { - IdContainer * p = (IdContainer * ) osl_getThreadKeyData( getKey() ); - if( ! p ) + IdContainer * p = getIdContainer(); + if( ! p->bInit ) { // first time, that the thread enters the bridge createLocalId( ppThreadId ); // TODO // note : this is a leak ! - IdContainer *p = (IdContainer *) rtl_allocateMemory( sizeof( IdContainer ) ); p->pLocalThreadId = *ppThreadId; p->pCurrentId = *ppThreadId; p->nRefCountOfCurrentId = 1; rtl_byte_sequence_acquire( p->pLocalThreadId ); rtl_byte_sequence_acquire( p->pCurrentId ); - - OSL_VERIFY( osl_setThreadKeyData( getKey(), p ) ); + p->bInit = sal_True; } else { @@ -162,8 +126,9 @@ uno_getIdOfCurrentThread( sal_Sequence **ppThreadId ) extern "C" SAL_DLLEXPORT void SAL_CALL uno_releaseIdFromCurrentThread() + throw () { - IdContainer *p = (IdContainer * ) osl_getThreadKeyData( getKey() ); + IdContainer *p = getIdContainer(); OSL_ASSERT( p ); OSL_ASSERT( p->nRefCountOfCurrentId ); @@ -175,18 +140,17 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_releaseIdFromCurrentThread() } extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL uno_bindIdToCurrentThread( sal_Sequence *pThreadId ) + throw () { - IdContainer *p = (IdContainer * ) osl_getThreadKeyData( getKey() ); - if( ! p ) + IdContainer *p = getIdContainer(); + if( ! p->bInit ) { - IdContainer *p = (IdContainer * ) rtl_allocateMemory( sizeof( IdContainer ) ); - p->pLocalThreadId = 0; createLocalId( &(p->pLocalThreadId) ); p->nRefCountOfCurrentId = 1; p->pCurrentId = pThreadId; rtl_byte_sequence_acquire( p->pCurrentId ); - osl_setThreadKeyData( getKey() , p ); + p->bInit = sal_True; } else { diff --git a/cppu/source/threadpool/threadpool.cxx b/cppu/source/threadpool/threadpool.cxx index 7133eeb149e3..6a518707e679 100644 --- a/cppu/source/threadpool/threadpool.cxx +++ b/cppu/source/threadpool/threadpool.cxx @@ -2,9 +2,9 @@ * * $RCSfile: threadpool.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: hr $ $Date: 2000-09-18 15:25:52 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:23 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -420,6 +420,7 @@ using namespace cppu_threadpool; extern "C" SAL_DLLEXPORT void SAL_CALL uno_threadpool_putRequest( sal_Sequence *pThreadId, void *pThreadSpecificData, void ( SAL_CALL * doRequest ) ( void *pThreadSpecificData ), sal_Bool bIsOneway ) + throw () { ThreadPool::getInstance()->addJob( pThreadId, bIsOneway, pThreadSpecificData,doRequest ); } @@ -428,6 +429,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_threadpool_putRequest( extern "C" SAL_DLLEXPORT void SAL_CALL uno_threadpool_putReply( sal_Sequence *pThreadId, void *pThreadSpecificData ) + throw () { ThreadPool::getInstance()->addJob( pThreadId, sal_False, pThreadSpecificData, 0 ); } @@ -435,6 +437,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_threadpool_putReply( extern "C" SAL_DLLEXPORT struct uno_threadpool_Handle * SAL_CALL uno_threadpool_createHandle( sal_Int64 nDisposeId ) + throw () { sal_Sequence *pThreadId = 0; uno_getIdOfCurrentThread( &pThreadId ); @@ -449,6 +452,7 @@ uno_threadpool_createHandle( sal_Int64 nDisposeId ) extern "C" SAL_DLLEXPORT void SAL_CALL uno_threadpool_enter( struct uno_threadpool_Handle *pHandle , void **ppThreadSpecificData ) + throw () { OSL_ASSERT( ppThreadSpecificData ); @@ -462,12 +466,14 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_threadpool_enter( extern "C" SAL_DLLEXPORT void SAL_CALL uno_threadpool_disposeThreads( sal_Int64 nDisposeId ) + throw () { ThreadPool::getInstance()->dispose( nDisposeId ); } extern "C" SAL_DLLEXPORT void SAL_CALL uno_threadpool_stopDisposeThreads( sal_Int64 nDisposeId ) + throw () { ThreadPool::getInstance()->stopDisposing( nDisposeId ); } diff --git a/cppu/source/typelib/static_types.cxx b/cppu/source/typelib/static_types.cxx index 5705596a3352..1cb783273423 100644 --- a/cppu/source/typelib/static_types.cxx +++ b/cppu/source/typelib/static_types.cxx @@ -2,9 +2,9 @@ * * $RCSfile: static_types.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: hr $ $Date: 2000-09-18 15:25:52 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:26 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -71,23 +71,23 @@ using namespace osl; using namespace rtl; +extern "C" +{ + //------------------------------------------------------------------------ sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize( const typelib_TypeDescription * pTypeDescription, sal_Int32 nOffset, - sal_Int32 & rMaxIntegralTypeSize ); + sal_Int32 & rMaxIntegralTypeSize ) throw (); //------------------------------------------------------------------------ void SAL_CALL typelib_typedescription_newEmpty( typelib_TypeDescription ** ppRet, typelib_TypeClass eTypeClass, - rtl_uString * pTypeName ); + rtl_uString * pTypeName ) throw (); //----------------------------------------------------------------------------- void SAL_CALL typelib_typedescriptionreference_getByName( typelib_TypeDescriptionReference ** ppRet, - rtl_uString * pName ); - -extern "C" -{ + rtl_uString * pName ) throw (); #ifdef SAL_W32 #pragma pack(push, 8) @@ -116,7 +116,7 @@ struct AlignSize_Impl // the value of the maximal alignment static sal_Int32 nMaxAlignment = (sal_Int32)&((AlignSize_Impl *) 16)->dDouble - 16; -static inline sal_Int32 adjustAlignment( sal_Int32 nRequestedAlignment ) +static inline sal_Int32 adjustAlignment( sal_Int32 nRequestedAlignment ) throw () { if( nRequestedAlignment > nMaxAlignment ) nRequestedAlignment = nMaxAlignment; @@ -126,14 +126,15 @@ static inline sal_Int32 adjustAlignment( sal_Int32 nRequestedAlignment ) /** * Calculate the new size of the struktur. */ -static inline sal_Int32 newAlignedSize( sal_Int32 OldSize, sal_Int32 ElementSize, sal_Int32 NeededAlignment ) +static inline sal_Int32 newAlignedSize( + sal_Int32 OldSize, sal_Int32 ElementSize, sal_Int32 NeededAlignment ) throw () { NeededAlignment = adjustAlignment( NeededAlignment ); return (OldSize + NeededAlignment -1) / NeededAlignment * NeededAlignment + ElementSize; } //-------------------------------------------------------------------------------------------------- -static Mutex & typelib_getStaticInitMutex() +static Mutex & typelib_getStaticInitMutex() throw () { static Mutex * s_pMutex = 0; if (! s_pMutex) @@ -151,6 +152,7 @@ static Mutex & typelib_getStaticInitMutex() //################################################################################################## SAL_DLLEXPORT typelib_TypeDescriptionReference ** SAL_CALL typelib_static_type_getByTypeClass( typelib_TypeClass eTypeClass ) + throw () { static typelib_TypeDescriptionReference * s_aTypes[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, @@ -328,6 +330,7 @@ SAL_DLLEXPORT typelib_TypeDescriptionReference ** SAL_CALL typelib_static_type_g SAL_DLLEXPORT void SAL_CALL typelib_static_type_init( typelib_TypeDescriptionReference ** ppRef, typelib_TypeClass eTypeClass, const sal_Char * pTypeName ) + throw () { if (! *ppRef) { @@ -346,7 +349,7 @@ SAL_DLLEXPORT void SAL_CALL typelib_static_type_init( } // !for NOT REALLY WEAK TYPES only! -static inline typelib_TypeDescriptionReference * __getTypeByName( rtl_uString * pTypeName ) +static inline typelib_TypeDescriptionReference * __getTypeByName( rtl_uString * pTypeName ) throw () { typelib_TypeDescriptionReference * pRef = 0; ::typelib_typedescriptionreference_getByName( &pRef, pTypeName ); @@ -359,7 +362,7 @@ static inline typelib_TypeDescriptionReference * __getTypeByName( rtl_uString * //################################################################################################## SAL_DLLEXPORT void SAL_CALL typelib_static_sequence_type_init( typelib_TypeDescriptionReference ** ppRef, - typelib_TypeDescriptionReference * pElementType ) + typelib_TypeDescriptionReference * pElementType ) throw () { if (! *ppRef) { @@ -397,6 +400,7 @@ SAL_DLLEXPORT void SAL_CALL typelib_static_compound_type_init( typelib_TypeClass eTypeClass, const sal_Char * pTypeName, typelib_TypeDescriptionReference * pBaseType, sal_Int32 nMembers, typelib_TypeDescriptionReference ** ppMembers ) + throw () { OSL_ENSHURE( typelib_TypeClass_STRUCT == eTypeClass || typelib_TypeClass_EXCEPTION == eTypeClass, "### unexpected type class!" ); @@ -466,6 +470,7 @@ SAL_DLLEXPORT void SAL_CALL typelib_static_interface_type_init( typelib_TypeDescriptionReference ** ppRef, const sal_Char * pTypeName, typelib_TypeDescriptionReference * pBaseType ) + throw () { if (! *ppRef) { @@ -517,6 +522,7 @@ SAL_DLLEXPORT void SAL_CALL typelib_static_enum_type_init( typelib_TypeDescriptionReference ** ppRef, const sal_Char * pTypeName, sal_Int32 nDefaultValue ) + throw () { if (! *ppRef) { @@ -562,6 +568,7 @@ SAL_DLLEXPORT void SAL_CALL typelib_static_union_type_init( sal_Int32 nMembers, sal_Int64 * pDiscriminants, typelib_TypeDescriptionReference ** pMemberTypes ) + throw () { if (! *ppRef) { diff --git a/cppu/source/typelib/typelib.cxx b/cppu/source/typelib/typelib.cxx index 3e5f2fe81df2..7bb9fb036503 100644 --- a/cppu/source/typelib/typelib.cxx +++ b/cppu/source/typelib/typelib.cxx @@ -2,9 +2,9 @@ * * $RCSfile: typelib.cxx,v $ * - * $Revision: 1.3 $ + * $Revision: 1.4 $ * - * last change: $Author: dbo $ $Date: 2000-12-15 11:04:23 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:26 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -141,7 +141,7 @@ struct AlignSize_Impl // the value of the maximal alignment static sal_Int32 nMaxAlignment = (sal_Int32)&((AlignSize_Impl *) 16)->dDouble - 16; -static inline sal_Int32 adjustAlignment( sal_Int32 nRequestedAlignment ) +static inline sal_Int32 adjustAlignment( sal_Int32 nRequestedAlignment ) throw () { if( nRequestedAlignment > nMaxAlignment ) nRequestedAlignment = nMaxAlignment; @@ -151,18 +151,19 @@ static inline sal_Int32 adjustAlignment( sal_Int32 nRequestedAlignment ) /** * Calculate the new size of the struktur. */ -static inline sal_Int32 newAlignedSize( sal_Int32 OldSize, sal_Int32 ElementSize, sal_Int32 NeededAlignment ) +static inline sal_Int32 newAlignedSize( + sal_Int32 OldSize, sal_Int32 ElementSize, sal_Int32 NeededAlignment ) throw () { NeededAlignment = adjustAlignment( NeededAlignment ); return (OldSize + NeededAlignment -1) / NeededAlignment * NeededAlignment + ElementSize; } -inline sal_Bool reallyWeak( typelib_TypeClass eTypeClass ) +static inline sal_Bool reallyWeak( typelib_TypeClass eTypeClass ) throw () { return TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK( eTypeClass ); } -inline sal_Int32 getDescriptionSize( typelib_TypeClass eTypeClass ) +static inline sal_Int32 getDescriptionSize( typelib_TypeClass eTypeClass ) throw () { OSL_ASSERT( typelib_TypeClass_TYPEDEF != eTypeClass ); @@ -210,21 +211,21 @@ inline sal_Int32 getDescriptionSize( typelib_TypeClass eTypeClass ) //----------------------------------------------------------------------------- -void SAL_CALL typelib_typedescriptionreference_getByName( +extern "C" void SAL_CALL typelib_typedescriptionreference_getByName( typelib_TypeDescriptionReference ** ppRet, - rtl_uString * pName ); + rtl_uString * pName ) throw (); //----------------------------------------------------------------------------- struct equalStr_Impl { - sal_Bool operator()(const sal_Unicode * const & s1, const sal_Unicode * const & s2) const + sal_Bool operator()(const sal_Unicode * const & s1, const sal_Unicode * const & s2) const throw () { return 0 == rtl_ustr_compare( s1, s2 ); } }; //----------------------------------------------------------------------------- struct hashStr_Impl { - size_t operator()(const sal_Unicode * const & s) const + size_t operator()(const sal_Unicode * const & s) const throw () { return rtl_ustr_hashCode( s ); } }; @@ -258,10 +259,10 @@ struct TypeDescriptor_Init_Impl // The mutex to guard all type library accesses Mutex * pMutex; - inline Mutex & getMutex(); + inline Mutex & getMutex() throw (); inline void callChain( - typelib_TypeDescription ** ppRet, rtl_uString * pName ); + typelib_TypeDescription ** ppRet, rtl_uString * pName ) throw (); #ifdef CPPU_ASSERTIONS // only for debugging @@ -275,10 +276,10 @@ struct TypeDescriptor_Init_Impl sal_Int32 nInterfaceTypeDescriptionCount; sal_Int32 nTypeDescriptionReferenceCount; #endif - ~TypeDescriptor_Init_Impl(); + ~TypeDescriptor_Init_Impl() throw (); }; //__________________________________________________________________________________________________ -inline Mutex & TypeDescriptor_Init_Impl::getMutex() +inline Mutex & TypeDescriptor_Init_Impl::getMutex() throw () { if( !pMutex ) { @@ -290,7 +291,7 @@ inline Mutex & TypeDescriptor_Init_Impl::getMutex() } //__________________________________________________________________________________________________ inline void TypeDescriptor_Init_Impl::callChain( - typelib_TypeDescription ** ppRet, rtl_uString * pName ) + typelib_TypeDescription ** ppRet, rtl_uString * pName ) throw () { if (pCallbacks) { @@ -313,13 +314,13 @@ inline void TypeDescriptor_Init_Impl::callChain( // never called #if defined(CPPU_LEAK_STATIC_DATA) && defined(__SUNPRO_CC) && (__SUNPRO_CC == 0x500) -static void dumb_sunpro5_must_have_dtor_stl_hashmap_code_if_compiled_with_minus_g() +static void dumb_sunpro5_must_have_dtor_stl_hashmap_code_if_compiled_with_minus_g() throw () { delete (WeakMap_Impl *)0xbeef1e; } #endif //__________________________________________________________________________________________________ -TypeDescriptor_Init_Impl::~TypeDescriptor_Init_Impl() +TypeDescriptor_Init_Impl::~TypeDescriptor_Init_Impl() throw () { #ifndef CPPU_LEAK_STATIC_DATA if( pCache ) @@ -422,7 +423,7 @@ static TypeDescriptor_Init_Impl aInit; //------------------------------------------------------------------------ //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_registerCallback( - void * pContext, typelib_typedescription_Callback pCallback ) + void * pContext, typelib_typedescription_Callback pCallback ) throw () { // todo mt safe: guard is no solution, can not acquire while calling callback! // OslGuard aGuard( aInit.getMutex() ); @@ -433,7 +434,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_registerCallback( //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_revokeCallback( - void * pContext, typelib_typedescription_Callback pCallback ) + void * pContext, typelib_typedescription_Callback pCallback ) throw () { if( aInit.pCallbacks ) { @@ -460,14 +461,14 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_revokeCallback( //------------------------------------------------------------------------ //------------------------------------------------------------------------ //------------------------------------------------------------------------ -sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize( +extern "C" sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize( const typelib_TypeDescription * pTypeDescription, sal_Int32 nOffset, - sal_Int32 & rMaxIntegralTypeSize ); + sal_Int32 & rMaxIntegralTypeSize ) throw (); //------------------------------------------------------------------------ -inline static void typelib_typedescription_initTables( - typelib_TypeDescription * pTD ) +static inline void typelib_typedescription_initTables( + typelib_TypeDescription * pTD ) throw () { typelib_InterfaceTypeDescription * pITD = (typelib_InterfaceTypeDescription *)pTD; @@ -536,10 +537,10 @@ inline static void typelib_typedescription_initTables( } //------------------------------------------------------------------------ -void SAL_CALL typelib_typedescription_newEmpty( +extern "C" void SAL_CALL typelib_typedescription_newEmpty( typelib_TypeDescription ** ppRet, typelib_TypeClass eTypeClass, - rtl_uString * pTypeName ) + rtl_uString * pTypeName ) throw () { if( *ppRet ) { @@ -689,7 +690,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_new( rtl_uString * pTypeName, typelib_TypeDescriptionReference * pType, sal_Int32 nMembers, - typelib_CompoundMember_Init * pMembers ) + typelib_CompoundMember_Init * pMembers ) throw () { if (typelib_TypeClass_TYPEDEF == eTypeClass) { @@ -769,7 +770,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_newUnion( sal_Int64 nDefaultDiscriminant, typelib_TypeDescriptionReference * pDefaultTypeRef, sal_Int32 nMembers, - typelib_Union_Init * pMembers ) + typelib_Union_Init * pMembers ) throw () { typelib_typedescription_newEmpty( ppRet, typelib_TypeClass_UNION, pTypeName ); // discriminant type @@ -820,7 +821,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_newEnum( sal_Int32 nDefaultValue, sal_Int32 nEnumValues, rtl_uString ** ppEnumNames, - sal_Int32 * pEnumValues ) + sal_Int32 * pEnumValues ) throw () { typelib_typedescription_newEmpty( ppRet, typelib_TypeClass_ENUM, pTypeName ); typelib_EnumTypeDescription * pEnum = (typelib_EnumTypeDescription *)*ppRet; @@ -848,7 +849,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_newInterface( sal_uInt32 nUik1, sal_uInt16 nUik2, sal_uInt16 nUik3, sal_uInt32 nUik4, sal_uInt32 nUik5, typelib_TypeDescriptionReference * pBaseInterface, sal_Int32 nMembers, - typelib_TypeDescriptionReference ** ppMembers ) + typelib_TypeDescriptionReference ** ppMembers ) throw () { typelib_InterfaceTypeDescription * pITD = 0; typelib_typedescription_newEmpty( @@ -921,7 +922,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_newInterfaceMetho sal_Int32 nParams, typelib_Parameter_Init * pParams, sal_Int32 nExceptions, - rtl_uString ** ppExceptionNames ) + rtl_uString ** ppExceptionNames ) throw () { typelib_typedescription_newEmpty( (typelib_TypeDescription **)ppRet, typelib_TypeClass_INTERFACE_METHOD, pTypeName ); @@ -987,7 +988,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_newInterfaceAttri rtl_uString * pTypeName, typelib_TypeClass eAttributeTypeClass, rtl_uString * pAttributeTypeName, - sal_Bool bReadOnly ) + sal_Bool bReadOnly ) throw () { typelib_typedescription_newEmpty( (typelib_TypeDescription **)ppRet, typelib_TypeClass_INTERFACE_ATTRIBUTE, pTypeName ); @@ -1018,7 +1019,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_newInterfaceAttri //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_acquire( - typelib_TypeDescription * pTypeDescription ) + typelib_TypeDescription * pTypeDescription ) throw () { osl_incrementInterlockedCount( &pTypeDescription->nRefCount ); } @@ -1026,7 +1027,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_acquire( //------------------------------------------------------------------------ // frees anything except typelib_TypeDescription base! static inline void typelib_typedescription_destructExtendedMembers( - typelib_TypeDescription * pTD ) + typelib_TypeDescription * pTD ) throw () { OSL_ASSERT( typelib_TypeClass_TYPEDEF != pTD->eTypeClass ); @@ -1145,7 +1146,7 @@ static inline void typelib_typedescription_destructExtendedMembers( //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_release( - typelib_TypeDescription * pTD ) + typelib_TypeDescription * pTD ) throw () { OSL_ASSERT(pTD->nRefCount > 0); @@ -1218,7 +1219,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_release( //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_register( - typelib_TypeDescription ** ppNewDescription ) + typelib_TypeDescription ** ppNewDescription ) throw () { // connect the description with the weak reference ClearableMutexGuard aGuard( aInit.getMutex() ); @@ -1347,8 +1348,8 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_register( } //------------------------------------------------------------------------ -inline static sal_Bool type_equals( - typelib_TypeDescriptionReference * p1, typelib_TypeDescriptionReference * p2 ) +static inline sal_Bool type_equals( + typelib_TypeDescriptionReference * p1, typelib_TypeDescriptionReference * p2 ) throw () { return (p1 == p2 || (p1->eTypeClass == p2->eTypeClass && @@ -1356,17 +1357,17 @@ inline static sal_Bool type_equals( rtl_ustr_compare( p1->pTypeName->buffer, p2->pTypeName->buffer ) == 0)); } extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL typelib_typedescription_equals( - const typelib_TypeDescription * p1, const typelib_TypeDescription * p2 ) + const typelib_TypeDescription * p1, const typelib_TypeDescription * p2 ) throw () { return type_equals( (typelib_TypeDescriptionReference *)p1, (typelib_TypeDescriptionReference *)p2 ); } //------------------------------------------------------------------------ -sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize( +extern "C" sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize( const typelib_TypeDescription * pTypeDescription, sal_Int32 nOffset, - sal_Int32 & rMaxIntegralTypeSize ) + sal_Int32 & rMaxIntegralTypeSize ) throw () { sal_Int32 nSize; if( pTypeDescription->nSize ) @@ -1514,7 +1515,7 @@ sal_Int32 SAL_CALL typelib_typedescription_getAlignedUnoSize( //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_getByName( - typelib_TypeDescription ** ppRet, rtl_uString * pName ) + typelib_TypeDescription ** ppRet, rtl_uString * pName ) throw () { if( *ppRet ) { @@ -1649,7 +1650,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescription_getByName( extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_newByAsciiName( typelib_TypeDescriptionReference ** ppTDR, typelib_TypeClass eTypeClass, - const sal_Char * pTypeName ) + const sal_Char * pTypeName ) throw () { OUString aTypeName( OUString::createFromAscii( pTypeName ) ); typelib_typedescriptionreference_new( ppTDR, eTypeClass, aTypeName.pData ); @@ -1658,7 +1659,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_newByAsc extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_new( typelib_TypeDescriptionReference ** ppTDR, typelib_TypeClass eTypeClass, - rtl_uString * pTypeName ) + rtl_uString * pTypeName ) throw () { if( eTypeClass == typelib_TypeClass_TYPEDEF ) { @@ -1751,14 +1752,14 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_new( //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_acquire( - typelib_TypeDescriptionReference * pRef ) + typelib_TypeDescriptionReference * pRef ) throw () { osl_incrementInterlockedCount( &pRef->nRefCount ); } //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_release( - typelib_TypeDescriptionReference * pRef ) + typelib_TypeDescriptionReference * pRef ) throw () { // Is it a type description? if( reallyWeak( pRef->eTypeClass ) ) @@ -1793,7 +1794,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_release( //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_getDescription( typelib_TypeDescription ** ppRet, - typelib_TypeDescriptionReference * pRef ) + typelib_TypeDescriptionReference * pRef ) throw () { if( *ppRet ) { @@ -1840,9 +1841,9 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_getDescr } //------------------------------------------------------------------------ -void SAL_CALL typelib_typedescriptionreference_getByName( +extern "C" void SAL_CALL typelib_typedescriptionreference_getByName( typelib_TypeDescriptionReference ** ppRet, - rtl_uString * pName ) + rtl_uString * pName ) throw () { if( *ppRet ) { @@ -1871,7 +1872,7 @@ void SAL_CALL typelib_typedescriptionreference_getByName( //------------------------------------------------------------------------ extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL typelib_typedescriptionreference_equals( const typelib_TypeDescriptionReference * p1, - const typelib_TypeDescriptionReference * p2 ) + const typelib_TypeDescriptionReference * p2 ) throw () { return (p1 == p2 || (p1->eTypeClass == p2->eTypeClass && @@ -1882,7 +1883,7 @@ extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL typelib_typedescriptionreference_equa //################################################################################################## extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_assign( typelib_TypeDescriptionReference ** ppDest, - typelib_TypeDescriptionReference * pSource ) + typelib_TypeDescriptionReference * pSource ) throw () { if (*ppDest != pSource) { @@ -1893,7 +1894,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL typelib_typedescriptionreference_assign( } //################################################################################################## -extern "C" SAL_DLLEXPORT void SAL_CALL typelib_setCacheSize( sal_Int32 nNewSize ) +extern "C" SAL_DLLEXPORT void SAL_CALL typelib_setCacheSize( sal_Int32 nNewSize ) throw () { OSL_ENSHURE( nNewSize >= 0, "### illegal cache size given!" ); if (nNewSize >= 0) @@ -1931,7 +1932,7 @@ static sal_Bool s_aAssignableFromTab[11][11] = //################################################################################################## extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL typelib_typedescriptionreference_isAssignableFrom( typelib_TypeDescriptionReference * pAssignable, - typelib_TypeDescriptionReference * pFrom ) + typelib_TypeDescriptionReference * pFrom ) throw () { if (pAssignable && pFrom) { @@ -1994,7 +1995,7 @@ extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL typelib_typedescriptionreference_isAs //################################################################################################## extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL typelib_typedescription_isAssignableFrom( typelib_TypeDescription * pAssignable, - typelib_TypeDescription * pFrom ) + typelib_TypeDescription * pFrom ) throw () { return typelib_typedescriptionreference_isAssignableFrom( pAssignable->pWeakRef, pFrom->pWeakRef ); @@ -2002,7 +2003,7 @@ extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL typelib_typedescription_isAssignableF //################################################################################################## extern "C" SAL_DLLEXPORT sal_Bool SAL_CALL typelib_typedescription_complete( - typelib_TypeDescription ** ppTypeDescr ) + typelib_TypeDescription ** ppTypeDescr ) throw () { if (! (*ppTypeDescr)->bComplete) { diff --git a/cppu/source/uno/any.cxx b/cppu/source/uno/any.cxx index 46897298fa4f..5970075b5ca4 100644 --- a/cppu/source/uno/any.cxx +++ b/cppu/source/uno/any.cxx @@ -2,9 +2,9 @@ * * $RCSfile: any.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: dbo $ $Date: 2000-12-08 12:19:45 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:28 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -72,6 +72,7 @@ SAL_DLLEXPORT void SAL_CALL uno_type_any_assign( uno_Any * pDest, void * pSource, typelib_TypeDescriptionReference * pType, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { __destructAny( pDest, release ); if (pType) @@ -88,6 +89,7 @@ SAL_DLLEXPORT void SAL_CALL uno_any_assign( uno_Any * pDest, void * pSource, typelib_TypeDescription * pTypeDescr, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { __destructAny( pDest, release ); if (pTypeDescr) @@ -104,6 +106,7 @@ SAL_DLLEXPORT void SAL_CALL uno_type_any_construct( uno_Any * pDest, void * pSource, typelib_TypeDescriptionReference * pType, uno_AcquireFunc acquire ) + throw () { if (pType) { @@ -119,6 +122,7 @@ SAL_DLLEXPORT void SAL_CALL uno_any_construct( uno_Any * pDest, void * pSource, typelib_TypeDescription * pTypeDescr, uno_AcquireFunc acquire ) + throw () { if (pTypeDescr) { @@ -134,6 +138,7 @@ SAL_DLLEXPORT void SAL_CALL uno_type_any_constructAndConvert( uno_Any * pDest, void * pSource, typelib_TypeDescriptionReference * pType, uno_Mapping * mapping ) + throw () { if (pType) { @@ -149,6 +154,7 @@ SAL_DLLEXPORT void SAL_CALL uno_any_constructAndConvert( uno_Any * pDest, void * pSource, typelib_TypeDescription * pTypeDescr, uno_Mapping * mapping ) + throw () { if (pTypeDescr) { @@ -161,6 +167,7 @@ SAL_DLLEXPORT void SAL_CALL uno_any_constructAndConvert( } //################################################################################################## SAL_DLLEXPORT void SAL_CALL uno_any_destruct( uno_Any * pValue, uno_ReleaseFunc release ) + throw () { __destructAny( pValue, release ); } diff --git a/cppu/source/uno/assign.hxx b/cppu/source/uno/assign.hxx index 4846e5488e22..ede72636d21b 100644 --- a/cppu/source/uno/assign.hxx +++ b/cppu/source/uno/assign.hxx @@ -2,9 +2,9 @@ * * $RCSfile: assign.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: dbo $ $Date: 2000-09-25 14:47:41 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:28 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -79,6 +79,7 @@ namespace cppu inline void __assignInterface( void ** ppDest, void * pSource, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { void * pDest = *ppDest; if (pSource) @@ -102,6 +103,7 @@ inline sal_Bool __queryAndAssignInterface( void ** ppDest, void * pSource, typelib_TypeDescriptionReference * pDestType, uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw () { void * pDest = *ppDest; if (pSource) @@ -159,12 +161,14 @@ inline sal_Bool __queryAndAssignInterface( sal_Bool assignStruct( void * pDest, void * pSource, typelib_CompoundTypeDescription * pTypeDescr, - uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, uno_ReleaseFunc release ); + uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw (); //-------------------------------------------------------------------------------------------------- inline sal_Bool __assignStruct( void * pDest, void * pSource, typelib_CompoundTypeDescription * pTypeDescr, uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { if (pTypeDescr->pBaseTypeDescription) { @@ -199,6 +203,7 @@ inline sal_Bool __assignData( void * pSource, typelib_TypeDescriptionReference * pSourceType, typelib_TypeDescription * pSourceTypeDescr, uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { if (pDest == pSource) return sal_True; diff --git a/cppu/source/uno/constr.hxx b/cppu/source/uno/constr.hxx index 0391f167b135..c26f20c61b54 100644 --- a/cppu/source/uno/constr.hxx +++ b/cppu/source/uno/constr.hxx @@ -2,9 +2,9 @@ * * $RCSfile: constr.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: hr $ $Date: 2000-09-18 15:25:52 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:28 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -75,6 +75,7 @@ namespace cppu inline void __defaultConstructUnion( void * pMem, typelib_TypeDescription * pTypeDescr ) + throw () { ::uno_type_constructData( (char *)pMem + ((typelib_UnionTypeDescription *)pTypeDescr)->nValueOffset, @@ -84,11 +85,13 @@ inline void __defaultConstructUnion( //================================================================================================== void defaultConstructStruct( void * pMem, - typelib_CompoundTypeDescription * pCompType ); + typelib_CompoundTypeDescription * pCompType ) + throw (); //-------------------------------------------------------------------------------------------------- inline void __defaultConstructStruct( void * pMem, typelib_CompoundTypeDescription * pTypeDescr ) + throw () { if (pTypeDescr->pBaseTypeDescription) { @@ -110,6 +113,7 @@ inline void __defaultConstructData( void * pMem, typelib_TypeDescriptionReference * pType, typelib_TypeDescription * pTypeDescr ) + throw () { switch (pType->eTypeClass) { diff --git a/cppu/source/uno/copy.hxx b/cppu/source/uno/copy.hxx index 4147db4beb5c..171e41991870 100644 --- a/cppu/source/uno/copy.hxx +++ b/cppu/source/uno/copy.hxx @@ -2,9 +2,9 @@ * * $RCSfile: copy.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: hr $ $Date: 2000-09-18 15:25:52 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:28 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -77,12 +77,14 @@ namespace cppu void copyConstructStruct( void * pDest, void * pSource, typelib_CompoundTypeDescription * pTypeDescr, - uno_AcquireFunc acquire, uno_Mapping * mapping ); + uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw (); //-------------------------------------------------------------------------------------------------- inline void __copyConstructStruct( void * pDest, void * pSource, typelib_CompoundTypeDescription * pTypeDescr, uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw () { if (pTypeDescr->pBaseTypeDescription) { @@ -119,6 +121,7 @@ inline void __copyConstructUnion( void * pDest, void * pSource, typelib_TypeDescription * pTypeDescr, uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw () { typelib_TypeDescriptionReference * pSetType = __unionGetSetType( pSource, pTypeDescr ); if (mapping) @@ -142,12 +145,14 @@ inline void __copyConstructUnion( void copyConstructSequence( uno_Sequence ** ppDest, uno_Sequence * pSource, typelib_TypeDescriptionReference * pElementType, - uno_AcquireFunc acquire, uno_Mapping * mapping ); + uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw (); //-------------------------------------------------------------------------------------------------- inline void __copyConstructAnyFromData( uno_Any * pDestAny, void * pSource, typelib_TypeDescriptionReference * pType, typelib_TypeDescription * pTypeDescr, uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw () { TYPE_ACQUIRE( pType ); pDestAny->pType = pType; @@ -285,6 +290,7 @@ inline void __copyConstructAny( uno_Any * pDestAny, void * pSource, typelib_TypeDescriptionReference * pType, typelib_TypeDescription * pTypeDescr, uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw () { if (typelib_TypeClass_VOID == pType->eTypeClass) { @@ -431,6 +437,7 @@ inline void __copyConstructSequence( uno_Sequence ** ppDest, uno_Sequence * pSource, typelib_TypeDescriptionReference * pElementType, uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw () { typelib_TypeClass eTypeClass = pElementType->eTypeClass; if (!mapping || @@ -587,6 +594,7 @@ inline void __copyConstructData( void * pDest, void * pSource, typelib_TypeDescriptionReference * pType, typelib_TypeDescription * pTypeDescr, uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw () { switch (pType->eTypeClass) { diff --git a/cppu/source/uno/data.cxx b/cppu/source/uno/data.cxx index a188354ee45a..4bcd4986763f 100644 --- a/cppu/source/uno/data.cxx +++ b/cppu/source/uno/data.cxx @@ -2,9 +2,9 @@ * * $RCSfile: data.cxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: hr $ $Date: 2000-09-18 15:25:53 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:28 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -77,6 +77,7 @@ namespace cppu void defaultConstructStruct( void * pMem, typelib_CompoundTypeDescription * pCompType ) + throw () { __defaultConstructStruct( pMem, pCompType ); } @@ -85,6 +86,7 @@ void copyConstructStruct( void * pDest, void * pSource, typelib_CompoundTypeDescription * pTypeDescr, uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw () { __copyConstructStruct( pDest, pSource, pTypeDescr, acquire, mapping ); } @@ -93,6 +95,7 @@ void destructStruct( void * pValue, typelib_CompoundTypeDescription * pTypeDescr, uno_ReleaseFunc release ) + throw () { __destructStruct( pValue, pTypeDescr, release ); } @@ -101,6 +104,7 @@ sal_Bool equalStruct( void * pDest, void *pSource, typelib_CompoundTypeDescription * pTypeDescr, uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw () { return __equalStruct( pDest, pSource, pTypeDescr, queryInterface, release ); } @@ -109,6 +113,7 @@ sal_Bool assignStruct( void * pDest, void * pSource, typelib_CompoundTypeDescription * pTypeDescr, uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { return __assignStruct( pDest, pSource, pTypeDescr, queryInterface, acquire, release ); } @@ -117,6 +122,7 @@ void copyConstructSequence( uno_Sequence ** ppDest, uno_Sequence * pSource, typelib_TypeDescriptionReference * pElementType, uno_AcquireFunc acquire, uno_Mapping * mapping ) + throw () { __copyConstructSequence( ppDest, pSource, pElementType, acquire, mapping ); } @@ -125,6 +131,7 @@ void destructSequence( uno_Sequence ** ppSequence, typelib_TypeDescriptionReference * pElementType, uno_ReleaseFunc release ) + throw () { uno_Sequence * pSequence = *ppSequence; OSL_ASSERT( pSequence ); @@ -142,6 +149,7 @@ sal_Bool equalSequence( uno_Sequence * pDest, uno_Sequence * pSource, typelib_TypeDescriptionReference * pElementType, uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw () { return __equalSequence( pDest, pSource, pElementType, queryInterface, release ); } @@ -151,12 +159,14 @@ extern "C" //################################################################################################## SAL_DLLEXPORT void SAL_CALL uno_type_constructData( void * pMem, typelib_TypeDescriptionReference * pType ) + throw () { __defaultConstructData( pMem, pType, 0 ); } //################################################################################################## SAL_DLLEXPORT void SAL_CALL uno_constructData( void * pMem, typelib_TypeDescription * pTypeDescr ) + throw () { __defaultConstructData( pMem, pTypeDescr->pWeakRef, pTypeDescr ); } @@ -164,6 +174,7 @@ SAL_DLLEXPORT void SAL_CALL uno_constructData( SAL_DLLEXPORT void SAL_CALL uno_type_destructData( void * pValue, typelib_TypeDescriptionReference * pType, uno_ReleaseFunc release ) + throw () { __destructData( pValue, pType, 0, release ); } @@ -172,6 +183,7 @@ SAL_DLLEXPORT void SAL_CALL uno_destructData( void * pValue, typelib_TypeDescription * pTypeDescr, uno_ReleaseFunc release ) + throw () { __destructData( pValue, pTypeDescr->pWeakRef, pTypeDescr, release ); } @@ -180,6 +192,7 @@ SAL_DLLEXPORT void SAL_CALL uno_type_copyData( void * pDest, void * pSource, typelib_TypeDescriptionReference * pType, uno_AcquireFunc acquire ) + throw () { __copyConstructData( pDest, pSource, pType, 0, acquire, 0 ); } @@ -188,6 +201,7 @@ SAL_DLLEXPORT void SAL_CALL uno_copyData( void * pDest, void * pSource, typelib_TypeDescription * pTypeDescr, uno_AcquireFunc acquire ) + throw () { __copyConstructData( pDest, pSource, pTypeDescr->pWeakRef, pTypeDescr, acquire, 0 ); } @@ -196,6 +210,7 @@ SAL_DLLEXPORT void SAL_CALL uno_type_copyAndConvertData( void * pDest, void * pSource, typelib_TypeDescriptionReference * pType, uno_Mapping * mapping ) + throw () { __copyConstructData( pDest, pSource, pType, 0, 0, mapping ); } @@ -204,6 +219,7 @@ SAL_DLLEXPORT void SAL_CALL uno_copyAndConvertData( void * pDest, void * pSource, typelib_TypeDescription * pTypeDescr, uno_Mapping * mapping ) + throw () { __copyConstructData( pDest, pSource, pTypeDescr->pWeakRef, pTypeDescr, 0, mapping ); } @@ -212,6 +228,7 @@ SAL_DLLEXPORT sal_Bool SAL_CALL uno_type_equalData( void * pVal1, typelib_TypeDescriptionReference * pVal1Type, void * pVal2, typelib_TypeDescriptionReference * pVal2Type, uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw () { return __equalData( pVal1, pVal1Type, 0, pVal2, pVal2Type, 0, @@ -222,6 +239,7 @@ SAL_DLLEXPORT sal_Bool SAL_CALL uno_equalData( void * pVal1, typelib_TypeDescription * pVal1TD, void * pVal2, typelib_TypeDescription * pVal2TD, uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw () { return __equalData( pVal1, pVal1TD->pWeakRef, pVal1TD, pVal2, pVal2TD->pWeakRef, pVal2TD, @@ -232,6 +250,7 @@ SAL_DLLEXPORT sal_Bool SAL_CALL uno_type_assignData( void * pDest, typelib_TypeDescriptionReference * pDestType, void * pSource, typelib_TypeDescriptionReference * pSourceType, uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { return __assignData( pDest, pDestType, 0, pSource, pSourceType, 0, @@ -242,6 +261,7 @@ SAL_DLLEXPORT sal_Bool SAL_CALL uno_assignData( void * pDest, typelib_TypeDescription * pDestTD, void * pSource, typelib_TypeDescription * pSourceTD, uno_QueryInterfaceFunc queryInterface, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { return __assignData( pDest, pDestTD->pWeakRef, pDestTD, pSource, pSourceTD->pWeakRef, pSourceTD, diff --git a/cppu/source/uno/destr.hxx b/cppu/source/uno/destr.hxx index d2fef7e6eff8..47e5be07b312 100644 --- a/cppu/source/uno/destr.hxx +++ b/cppu/source/uno/destr.hxx @@ -2,9 +2,9 @@ * * $RCSfile: destr.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: hr $ $Date: 2000-09-18 15:25:53 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -77,6 +77,7 @@ inline void __destructUnion( void * pValue, typelib_TypeDescription * pTypeDescr, uno_ReleaseFunc release ) + throw () { typelib_TypeDescriptionReference * pType = __unionGetSetType( pValue, pTypeDescr ); ::uno_type_destructData( @@ -88,12 +89,14 @@ inline void __destructUnion( void destructStruct( void * pValue, typelib_CompoundTypeDescription * pTypeDescr, - uno_ReleaseFunc release ); + uno_ReleaseFunc release ) + throw (); //-------------------------------------------------------------------------------------------------- inline void __destructStruct( void * pValue, typelib_CompoundTypeDescription * pTypeDescr, uno_ReleaseFunc release ) + throw () { if (pTypeDescr->pBaseTypeDescription) { @@ -113,11 +116,13 @@ inline void __destructStruct( void destructSequence( uno_Sequence ** ppSequence, typelib_TypeDescriptionReference * pElementType, - uno_ReleaseFunc release ); + uno_ReleaseFunc release ) + throw (); //-------------------------------------------------------------------------------------------------- inline void __destructAny( uno_Any * pAny, uno_ReleaseFunc release ) + throw () { typelib_TypeDescriptionReference * pType = pAny->pType; @@ -184,6 +189,7 @@ inline sal_Int32 __destructElements( void * pElements, typelib_TypeDescriptionReference * pElementType, sal_Int32 nStartIndex, sal_Int32 nStopIndex, uno_ReleaseFunc release ) + throw () { switch (pElementType->eTypeClass) { @@ -325,6 +331,7 @@ inline void __destructSequence( typelib_TypeDescriptionReference * pType, typelib_TypeDescription * pTypeDescr, uno_ReleaseFunc release ) + throw () { if (! ::osl_decrementInterlockedCount( &pSequence->nRefCount )) { @@ -354,6 +361,7 @@ inline void __destructData( typelib_TypeDescriptionReference * pType, typelib_TypeDescription * pTypeDescr, uno_ReleaseFunc release ) + throw () { switch (pType->eTypeClass) { diff --git a/cppu/source/uno/eq.hxx b/cppu/source/uno/eq.hxx index 4fa4fc00b239..5209bb31841b 100644 --- a/cppu/source/uno/eq.hxx +++ b/cppu/source/uno/eq.hxx @@ -2,9 +2,9 @@ * * $RCSfile: eq.hxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: dbo $ $Date: 2000-12-08 12:20:44 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -80,7 +80,7 @@ namespace cppu //-------------------------------------------------------------------------------------------------- -inline sal_Bool __unoEqualObject( void * pUnoI1, void * pUnoI2 ) +inline sal_Bool __unoEqualObject( void * pUnoI1, void * pUnoI2 ) throw () { if (pUnoI1 == pUnoI2) return sal_True; @@ -139,6 +139,7 @@ inline sal_Bool __unoEqualObject( void * pUnoI1, void * pUnoI2 ) inline sal_Bool __equalObject( void * pI1, void * pI2, uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw () { if (pI1 == pI2) return sal_True; @@ -165,12 +166,14 @@ inline sal_Bool __equalObject( sal_Bool equalStruct( void * pDest, void *pSource, typelib_CompoundTypeDescription * pTypeDescr, - uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ); + uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw (); //-------------------------------------------------------------------------------------------------- inline sal_Bool __equalStruct( void * pDest, void *pSource, typelib_CompoundTypeDescription * pTypeDescr, uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw () { if (pTypeDescr->pBaseTypeDescription && !equalStruct( pDest, pSource, pTypeDescr->pBaseTypeDescription, queryInterface, release )) @@ -200,12 +203,14 @@ inline sal_Bool __equalStruct( sal_Bool equalSequence( uno_Sequence * pDest, uno_Sequence * pSource, typelib_TypeDescriptionReference * pElementType, - uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ); + uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw (); //-------------------------------------------------------------------------------------------------- inline sal_Bool __equalSequence( uno_Sequence * pDest, uno_Sequence * pSource, typelib_TypeDescriptionReference * pElementType, uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw () { if (pDest == pSource) return sal_True; @@ -386,6 +391,7 @@ inline sal_Bool __equalData( void * pSource, typelib_TypeDescriptionReference * pSourceType, typelib_TypeDescription * pSourceTypeDescr, uno_QueryInterfaceFunc queryInterface, uno_ReleaseFunc release ) + throw () { typelib_TypeClass eSourceTypeClass, eDestTypeClass; while (typelib_TypeClass_ANY == (eDestTypeClass = pDestType->eTypeClass)) diff --git a/cppu/source/uno/lbenv.cxx b/cppu/source/uno/lbenv.cxx index d8632dc86e46..3f0eeb79ac69 100644 --- a/cppu/source/uno/lbenv.cxx +++ b/cppu/source/uno/lbenv.cxx @@ -2,9 +2,9 @@ * * $RCSfile: lbenv.cxx,v $ * - * $Revision: 1.7 $ + * $Revision: 1.8 $ * - * last change: $Author: dbo $ $Date: 2000-12-15 10:17:22 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -124,9 +124,13 @@ using namespace cppu; using namespace com::sun::star::uno; +namespace cppu +{ + //-------------------------------------------------------------------------------------------------- inline static sal_Bool td_equals( typelib_InterfaceTypeDescription * pTD1, typelib_InterfaceTypeDescription * pTD2 ) + throw () { return (pTD1 == pTD2 || (((typelib_TypeDescription *)pTD1)->pTypeName->length == @@ -144,7 +148,7 @@ struct InterfaceEntry typelib_InterfaceTypeDescription * pTypeDescr; ObjectEntry * pOEntry; - inline sal_Bool supports( typelib_InterfaceTypeDescription * pTypeDescr_ ) const; + inline sal_Bool supports( typelib_InterfaceTypeDescription * pTypeDescr_ ) const throw (); }; //-------------------------------------------------------------------------------------------------- struct ObjectEntry @@ -154,23 +158,25 @@ struct ObjectEntry sal_Int32 nRef; vector< InterfaceEntry > aInterfaces; - inline ObjectEntry( uno_ExtEnvironment * pEnv, const OUString & rOId_ ); + inline ObjectEntry( uno_ExtEnvironment * pEnv, const OUString & rOId_ ) throw (); - inline void append( void * pInterface, typelib_InterfaceTypeDescription * pTypeDescr, - uno_freeProxyFunc fpFreeProxy ); - inline const InterfaceEntry * find( typelib_InterfaceTypeDescription * pTypeDescr ) const; + inline void append( + void * pInterface, typelib_InterfaceTypeDescription * pTypeDescr, + uno_freeProxyFunc fpFreeProxy ) throw (); + inline const InterfaceEntry * find( + typelib_InterfaceTypeDescription * pTypeDescr ) const throw (); }; //-------------------------------------------------------------------------------------------------- struct FctPtrHash : public unary_function< const void *, size_t > { - size_t operator()( const void * pKey ) const + size_t operator()( const void * pKey ) const throw () { return (size_t)pKey; } }; //-------------------------------------------------------------------------------------------------- struct FctOUStringHash : public unary_function< const OUString &, size_t > { - size_t operator()( const OUString & rKey ) const + size_t operator()( const OUString & rKey ) const throw () { return rKey.hashCode(); } }; @@ -188,17 +194,17 @@ struct EnvironmentsData Mutex aMutex; OUString2EnvironmentMap aName2EnvMap; - ~EnvironmentsData(); + ~EnvironmentsData() throw (); - inline uno_Environment * getEnvironment( const OUString & rTypeName, void * pContext ); - inline sal_Bool registerEnvironment( uno_Environment * pEnv ); - inline sal_Bool revokeEnvironment( uno_Environment * pEnv ); + inline uno_Environment * getEnvironment( const OUString & rTypeName, void * pContext ) throw (); + inline sal_Bool registerEnvironment( uno_Environment * pEnv ) throw (); + inline sal_Bool revokeEnvironment( uno_Environment * pEnv ) throw (); inline void getRegisteredEnvironments( uno_Environment *** pppEnvs, sal_Int32 * pnLen, uno_memAlloc memAlloc, - const OUString & rEnvTypeName ); + const OUString & rEnvTypeName ) throw (); }; //-------------------------------------------------------------------------------------------------- -static EnvironmentsData & getEnvironmentsData() +static EnvironmentsData & getEnvironmentsData() throw () { static EnvironmentsData * s_p = 0; if (! s_p) @@ -223,12 +229,13 @@ struct uno_DefaultEnvironment : public uno_ExtEnvironment Ptr2ObjectMap aPtr2ObjectMap; OId2ObjectMap aOId2ObjectMap; - uno_DefaultEnvironment( const OUString & rTypeName_, oslModule hMod_, void * pContext_ ); - ~uno_DefaultEnvironment(); + uno_DefaultEnvironment( + const OUString & rTypeName_, oslModule hMod_, void * pContext_ ) throw (); + ~uno_DefaultEnvironment() throw (); }; //__________________________________________________________________________________________________ -inline ObjectEntry::ObjectEntry( uno_ExtEnvironment * pEnv_, const OUString & rOId_ ) +inline ObjectEntry::ObjectEntry( uno_ExtEnvironment * pEnv_, const OUString & rOId_ ) throw () : pEnv( pEnv_ ) , oid( rOId_ ) , nRef( 0 ) @@ -236,8 +243,9 @@ inline ObjectEntry::ObjectEntry( uno_ExtEnvironment * pEnv_, const OUString & rO aInterfaces.reserve( 8 ); } //__________________________________________________________________________________________________ -inline void ObjectEntry::append( void * pInterface, typelib_InterfaceTypeDescription * pTypeDescr, - uno_freeProxyFunc fpFreeProxy ) +inline void ObjectEntry::append( + void * pInterface, typelib_InterfaceTypeDescription * pTypeDescr, + uno_freeProxyFunc fpFreeProxy ) throw () { InterfaceEntry aNewEntry; if (! fpFreeProxy) @@ -251,7 +259,8 @@ inline void ObjectEntry::append( void * pInterface, typelib_InterfaceTypeDescrip static_cast< uno_DefaultEnvironment * >( pEnv )->aPtr2ObjectMap[ pInterface ] = this; } //__________________________________________________________________________________________________ -inline sal_Bool InterfaceEntry::supports( typelib_InterfaceTypeDescription * pTypeDescr_ ) const +inline sal_Bool InterfaceEntry::supports( + typelib_InterfaceTypeDescription * pTypeDescr_ ) const throw () { typelib_InterfaceTypeDescription * pITD = pTypeDescr; while (pITD) @@ -263,7 +272,8 @@ inline sal_Bool InterfaceEntry::supports( typelib_InterfaceTypeDescription * pTy return sal_False; } //__________________________________________________________________________________________________ -inline const InterfaceEntry * ObjectEntry::find( typelib_InterfaceTypeDescription * pTypeDescr ) const +inline const InterfaceEntry * ObjectEntry::find( + typelib_InterfaceTypeDescription * pTypeDescr ) const throw () { // shortcut common case if (((typelib_TypeDescription *)pTypeDescr)->pTypeName->length == sizeof("com.sun.star.uno.XInterface") && @@ -282,11 +292,13 @@ inline const InterfaceEntry * ObjectEntry::find( typelib_InterfaceTypeDescriptio } return 0; } - +extern "C" +{ //-------------------------------------------------------------------------------------------------- static void SAL_CALL defenv_registerInterface( uno_ExtEnvironment * pEnv, void ** ppInterface, rtl_uString * pOId, typelib_InterfaceTypeDescription * pTypeDescr ) + throw () { OSL_ENSHURE( pEnv && ppInterface && pOId && pTypeDescr, "### null ptr!" ); const OUString & rOId = * reinterpret_cast< OUString * >( &pOId ); @@ -329,6 +341,7 @@ static void SAL_CALL defenv_registerInterface( static void SAL_CALL defenv_registerProxyInterface( uno_ExtEnvironment * pEnv, void ** ppInterface, uno_freeProxyFunc freeProxy, rtl_uString * pOId, typelib_InterfaceTypeDescription * pTypeDescr ) + throw () { OSL_ENSHURE( pEnv && ppInterface && pOId && pTypeDescr, "### null ptr!" ); const OUString & rOId = * reinterpret_cast< OUString * >( &pOId ); @@ -371,6 +384,7 @@ static void SAL_CALL defenv_registerProxyInterface( //-------------------------------------------------------------------------------------------------- static void SAL_CALL defenv_revokeInterface( uno_ExtEnvironment * pEnv, void * pInterface ) + throw () { OSL_ENSHURE( pEnv && pInterface, "### null ptr!" ); ClearableMutexGuard aGuard( static_cast< uno_DefaultEnvironment * >( pEnv )->aAccess ); @@ -412,6 +426,7 @@ static void SAL_CALL defenv_revokeInterface( //-------------------------------------------------------------------------------------------------- static void SAL_CALL defenv_getObjectIdentifier( uno_ExtEnvironment * pEnv, rtl_uString ** ppOId, void * pInterface ) + throw () { OSL_ENSHURE( pEnv && ppOId && pInterface, "### null ptr!" ); if (*ppOId) @@ -438,6 +453,7 @@ static void SAL_CALL defenv_getObjectIdentifier( static void SAL_CALL defenv_getRegisteredInterface( uno_ExtEnvironment * pEnv, void ** ppInterface, rtl_uString * pOId, typelib_InterfaceTypeDescription * pTypeDescr ) + throw () { OSL_ENSHURE( pEnv && ppInterface && pOId && pTypeDescr, "### null ptr!" ); if (*ppInterface) @@ -462,6 +478,7 @@ static void SAL_CALL defenv_getRegisteredInterface( //-------------------------------------------------------------------------------------------------- static void SAL_CALL defenv_getRegisteredInterfaces( uno_ExtEnvironment * pEnv, void *** pppInterfaces, sal_Int32 * pnLen, uno_memAlloc memAlloc ) + throw () { OSL_ENSHURE( pEnv && pppInterfaces && pnLen && memAlloc, "### null ptr!" ); MutexGuard aGuard( static_cast< uno_DefaultEnvironment * >( pEnv )->aAccess ); @@ -483,11 +500,13 @@ static void SAL_CALL defenv_getRegisteredInterfaces( } //-------------------------------------------------------------------------------------------------- static void SAL_CALL defenv_acquire( uno_Environment * pEnv ) + throw () { osl_incrementInterlockedCount( &((uno_DefaultEnvironment *)pEnv)->nRef ); } //-------------------------------------------------------------------------------------------------- static void SAL_CALL defenv_release( uno_Environment * pEnv ) + throw () { MutexGuard aGuard( getEnvironmentsData().aMutex ); if (! osl_decrementInterlockedCount( &((uno_DefaultEnvironment *)pEnv)->nRef )) @@ -498,12 +517,14 @@ static void SAL_CALL defenv_release( uno_Environment * pEnv ) } //-------------------------------------------------------------------------------------------------- static void SAL_CALL defenv_dispose( uno_Environment * pEnv ) + throw () { } +} //__________________________________________________________________________________________________ uno_DefaultEnvironment::uno_DefaultEnvironment( - const OUString & rTypeName_, void * pContext_, oslModule hMod_ ) + const OUString & rTypeName_, void * pContext_, oslModule hMod_ ) throw () : nRef( 0 ) , hModule( hMod_ ) { @@ -530,7 +551,7 @@ uno_DefaultEnvironment::uno_DefaultEnvironment( } //__________________________________________________________________________________________________ -uno_DefaultEnvironment::~uno_DefaultEnvironment() +uno_DefaultEnvironment::~uno_DefaultEnvironment() throw () { OSL_ENSHURE( aOId2ObjectMap.empty(), "### object entries left!" ); @@ -543,7 +564,7 @@ uno_DefaultEnvironment::~uno_DefaultEnvironment() } //================================================================================================== -static void writeLine( void * stream, const sal_Char * pLine, const sal_Char * pFilter ) +static void writeLine( void * stream, const sal_Char * pLine, const sal_Char * pFilter ) throw () { if (pFilter && *pFilter) { @@ -585,7 +606,7 @@ static void writeLine( void * stream, const sal_Char * pLine, const sal_Char * p } } //================================================================================================== -static void writeLine( void * stream, const OUString & rLine, const sal_Char * pFilter ) +static void writeLine( void * stream, const OUString & rLine, const sal_Char * pFilter ) throw () { OString aLine( OUStringToOString( rLine, RTL_TEXTENCODING_ASCII_US ) ); writeLine( stream, aLine.getStr(), pFilter ); @@ -593,7 +614,7 @@ static void writeLine( void * stream, const OUString & rLine, const sal_Char * p //################################################################################################## extern "C" SAL_DLLEXPORT void SAL_CALL uno_dumpEnvironment( - void * stream, uno_Environment * pEnv, const sal_Char * pFilter ) + void * stream, uno_Environment * pEnv, const sal_Char * pFilter ) throw () { OSL_ENSHURE( pEnv, "### null ptr!" ); OUStringBuffer buf; @@ -654,7 +675,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_dumpEnvironment( } //################################################################################################## extern "C" SAL_DLLEXPORT void SAL_CALL uno_dumpEnvironmentByName( - void * stream, rtl_uString * pEnvTypeName, const sal_Char * pFilter ) + void * stream, rtl_uString * pEnvTypeName, const sal_Char * pFilter ) throw () { uno_Environment * pEnv = 0; uno_getEnvironment( &pEnv, pEnvTypeName, 0 ); @@ -674,7 +695,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_dumpEnvironmentByName( } //-------------------------------------------------------------------------------------------------- -inline static const OUString & unoenv_getStaticOIdPart() +inline static const OUString & unoenv_getStaticOIdPart() throw () { static OUString * s_pStaticOidPart = 0; if (! s_pStaticOidPart) @@ -704,9 +725,11 @@ inline static const OUString & unoenv_getStaticOIdPart() } return *s_pStaticOidPart; } +extern "C" +{ //-------------------------------------------------------------------------------------------------- static void SAL_CALL unoenv_computeObjectIdentifier( - uno_ExtEnvironment * pEnv, rtl_uString ** ppOId, void * pInterface ) + uno_ExtEnvironment * pEnv, rtl_uString ** ppOId, void * pInterface ) throw () { OSL_ENSHURE( pEnv && ppOId && pInterface, "### null ptr!" ); if (*ppOId) @@ -757,18 +780,19 @@ static void SAL_CALL unoenv_computeObjectIdentifier( typelib_typedescription_release( pMTqueryInterface ); } //================================================================================================== -static void SAL_CALL unoenv_acquireInterface( uno_ExtEnvironment *, void * pUnoI ) +static void SAL_CALL unoenv_acquireInterface( uno_ExtEnvironment *, void * pUnoI ) throw () { (*((uno_Interface *)pUnoI)->acquire)( (uno_Interface *)pUnoI ); } //================================================================================================== -static void SAL_CALL unoenv_releaseInterface( uno_ExtEnvironment *, void * pUnoI ) +static void SAL_CALL unoenv_releaseInterface( uno_ExtEnvironment *, void * pUnoI ) throw () { (*((uno_Interface *)pUnoI)->release)( (uno_Interface *)pUnoI ); } +} //__________________________________________________________________________________________________ -EnvironmentsData::~EnvironmentsData() +EnvironmentsData::~EnvironmentsData() throw () { MutexGuard aGuard( aMutex ); @@ -790,7 +814,7 @@ EnvironmentsData::~EnvironmentsData() } //__________________________________________________________________________________________________ inline uno_Environment * EnvironmentsData::getEnvironment( - const OUString & rEnvTypeName, void * pContext ) + const OUString & rEnvTypeName, void * pContext ) throw () { uno_Environment * pEnv = 0; @@ -809,7 +833,7 @@ inline uno_Environment * EnvironmentsData::getEnvironment( return pEnv; } //__________________________________________________________________________________________________ -inline sal_Bool EnvironmentsData::registerEnvironment( uno_Environment * pEnv ) +inline sal_Bool EnvironmentsData::registerEnvironment( uno_Environment * pEnv ) throw () { OSL_ENSHURE( pEnv, "### null ptr!" ); OUString aKey( OUString::valueOf( (sal_Int64)pEnv->pContext ) ); @@ -827,7 +851,7 @@ inline sal_Bool EnvironmentsData::registerEnvironment( uno_Environment * pEnv ) return sal_False; } //__________________________________________________________________________________________________ -inline sal_Bool EnvironmentsData::revokeEnvironment( uno_Environment * pEnv ) +inline sal_Bool EnvironmentsData::revokeEnvironment( uno_Environment * pEnv ) throw () { OSL_ENSHURE( pEnv, "### null ptr!" ); OUString aKey( OUString::valueOf( (sal_Int64)pEnv->pContext ) ); @@ -841,7 +865,7 @@ inline sal_Bool EnvironmentsData::revokeEnvironment( uno_Environment * pEnv ) //__________________________________________________________________________________________________ inline void EnvironmentsData::getRegisteredEnvironments( uno_Environment *** pppEnvs, sal_Int32 * pnLen, uno_memAlloc memAlloc, - const OUString & rEnvTypeName ) + const OUString & rEnvTypeName ) throw () { OSL_ENSHURE( pppEnvs && pnLen && memAlloc, "### null ptr!" ); @@ -880,9 +904,11 @@ inline void EnvironmentsData::getRegisteredEnvironments( *pppEnvs = 0; } } - +extern "C" +{ //-------------------------------------------------------------------------------------------------- -static uno_Environment * initDefaultEnvironment( const OUString & rEnvTypeName, void * pContext ) +static uno_Environment * initDefaultEnvironment( + const OUString & rEnvTypeName, void * pContext ) throw () { uno_Environment * pEnv = 0; @@ -942,15 +968,16 @@ static uno_Environment * initDefaultEnvironment( const OUString & rEnvTypeName, } //-------------------------------------------------------------------------------------------------- -static void SAL_CALL anonymous_defenv_release( uno_Environment * pEnv ) +static void SAL_CALL anonymous_defenv_release( uno_Environment * pEnv ) throw () { if (! osl_decrementInterlockedCount( &((uno_DefaultEnvironment *)pEnv)->nRef )) delete (uno_DefaultEnvironment *)pEnv; } +} //################################################################################################## extern "C" SAL_DLLEXPORT void SAL_CALL uno_createEnvironment( - uno_Environment ** ppEnv, rtl_uString * pEnvTypeName, void * pContext ) + uno_Environment ** ppEnv, rtl_uString * pEnvTypeName, void * pContext ) throw () { OSL_ENSHURE( ppEnv, "### null ptr!" ); if (*ppEnv) @@ -963,7 +990,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_createEnvironment( //################################################################################################## extern "C" SAL_DLLEXPORT void SAL_CALL uno_getEnvironment( - uno_Environment ** ppEnv, rtl_uString * pEnvTypeName, void * pContext ) + uno_Environment ** ppEnv, rtl_uString * pEnvTypeName, void * pContext ) throw () { OSL_ENSHURE( ppEnv, "### null ptr!" ); if (*ppEnv) @@ -984,9 +1011,11 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_getEnvironment( //################################################################################################## extern "C" SAL_DLLEXPORT void SAL_CALL uno_getRegisteredEnvironments( uno_Environment *** pppEnvs, sal_Int32 * pnLen, uno_memAlloc memAlloc, - rtl_uString * pEnvTypeName ) + rtl_uString * pEnvTypeName ) throw () { getEnvironmentsData().getRegisteredEnvironments( pppEnvs, pnLen, memAlloc, (pEnvTypeName ? OUString( pEnvTypeName ) : OUString()) ); } + +} diff --git a/cppu/source/uno/lbmap.cxx b/cppu/source/uno/lbmap.cxx index 567dae6d9f7d..63831a65f3c7 100644 --- a/cppu/source/uno/lbmap.cxx +++ b/cppu/source/uno/lbmap.cxx @@ -2,9 +2,9 @@ * * $RCSfile: lbmap.cxx,v $ * - * $Revision: 1.6 $ + * $Revision: 1.7 $ * - * last change: $Author: dbo $ $Date: 2000-12-15 10:17:22 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -111,6 +111,9 @@ using namespace rtl; using namespace com::sun::star::uno; +namespace cppu +{ + //================================================================================================== struct MappingEntry { @@ -119,8 +122,9 @@ struct MappingEntry uno_freeMappingFunc freeMapping; OUString aMappingName; - MappingEntry( uno_Mapping * pMapping_, uno_freeMappingFunc freeMapping_, - const OUString & rMappingName_ ) + MappingEntry( + uno_Mapping * pMapping_, uno_freeMappingFunc freeMapping_, + const OUString & rMappingName_ ) throw () : nRef( 1 ) , pMapping( pMapping_ ) , freeMapping( freeMapping_ ) @@ -130,13 +134,13 @@ struct MappingEntry //-------------------------------------------------------------------------------------------------- struct FctOUStringHash : public unary_function< const OUString &, size_t > { - size_t operator()( const OUString & rKey ) const + size_t operator()( const OUString & rKey ) const throw () { return (size_t)rKey.hashCode(); } }; //-------------------------------------------------------------------------------------------------- struct FctPtrHash : public unary_function< uno_Mapping *, size_t > { - size_t operator()( uno_Mapping * pKey ) const + size_t operator()( uno_Mapping * pKey ) const throw () { return (size_t)pKey; } }; @@ -158,10 +162,10 @@ struct MappingsData Mutex aNegativeLibsMutex; t_OUStringSet aNegativeLibs; - ~MappingsData(); + ~MappingsData() throw (); }; //__________________________________________________________________________________________________ -MappingsData::~MappingsData() +MappingsData::~MappingsData() throw () { #ifdef CPPU_ASSERTIONS OSL_ENSHURE( aName2Entry.empty() && aMapping2Entry.empty(), "### unrevoked mappings!" ); @@ -185,7 +189,7 @@ MappingsData::~MappingsData() #endif } //-------------------------------------------------------------------------------------------------- -static MappingsData & getMappingsData() +static MappingsData & getMappingsData() throw () { static MappingsData * s_p = 0; if (! s_p) @@ -216,38 +220,47 @@ struct uno_Mediate_Mapping : public uno_Mapping OUString aAddPurpose; - uno_Mediate_Mapping( const Environment & rFrom_, const Environment & rTo_, - const Mapping & rFrom2Uno_, const Mapping & rUno2To_, - const OUString & rAddPurpose ); + uno_Mediate_Mapping( + const Environment & rFrom_, const Environment & rTo_, + const Mapping & rFrom2Uno_, const Mapping & rUno2To_, + const OUString & rAddPurpose ) + throw (); }; +extern "C" +{ //-------------------------------------------------------------------------------------------------- -static void SAL_CALL mediate_free( uno_Mapping * pMapping ) +static void SAL_CALL mediate_free( uno_Mapping * pMapping ) throw () { delete static_cast< uno_Mediate_Mapping * >( pMapping ); } //-------------------------------------------------------------------------------------------------- -static void SAL_CALL mediate_acquire( uno_Mapping * pMapping ) +static void SAL_CALL mediate_acquire( uno_Mapping * pMapping ) throw () { - if (1 == osl_incrementInterlockedCount( & static_cast< uno_Mediate_Mapping * >( pMapping )->nRef )) + if (1 == osl_incrementInterlockedCount( + & static_cast< uno_Mediate_Mapping * >( pMapping )->nRef )) { - uno_registerMapping( &pMapping, mediate_free, - static_cast< uno_Mediate_Mapping * >( pMapping )->aFrom.get(), - static_cast< uno_Mediate_Mapping * >( pMapping )->aTo.get(), - static_cast< uno_Mediate_Mapping * >( pMapping )->aAddPurpose.pData ); + uno_registerMapping( + &pMapping, mediate_free, + static_cast< uno_Mediate_Mapping * >( pMapping )->aFrom.get(), + static_cast< uno_Mediate_Mapping * >( pMapping )->aTo.get(), + static_cast< uno_Mediate_Mapping * >( pMapping )->aAddPurpose.pData ); } } //-------------------------------------------------------------------------------------------------- -static void SAL_CALL mediate_release( uno_Mapping * pMapping ) +static void SAL_CALL mediate_release( uno_Mapping * pMapping ) throw () { - if (! osl_decrementInterlockedCount( & static_cast< uno_Mediate_Mapping * >( pMapping )->nRef )) + if (! osl_decrementInterlockedCount( + & static_cast< uno_Mediate_Mapping * >( pMapping )->nRef )) { uno_revokeMapping( pMapping ); } } //-------------------------------------------------------------------------------------------------- -static void SAL_CALL mediate_mapInterface( uno_Mapping * pMapping, - void ** ppOut, void * pInterface, - typelib_InterfaceTypeDescription * pInterfaceTypeDescr ) +static void SAL_CALL mediate_mapInterface( + uno_Mapping * pMapping, + void ** ppOut, void * pInterface, + typelib_InterfaceTypeDescription * pInterfaceTypeDescr ) + throw () { OSL_ENSHURE( pMapping && ppOut, "### null ptr!" ); if (pMapping && ppOut) @@ -265,10 +278,12 @@ static void SAL_CALL mediate_mapInterface( uno_Mapping * pMapping, } } } +} //__________________________________________________________________________________________________ -uno_Mediate_Mapping::uno_Mediate_Mapping( const Environment & rFrom_, const Environment & rTo_, - const Mapping & rFrom2Uno_, const Mapping & rUno2To_, - const OUString & rAddPurpose_ ) +uno_Mediate_Mapping::uno_Mediate_Mapping( + const Environment & rFrom_, const Environment & rTo_, + const Mapping & rFrom2Uno_, const Mapping & rUno2To_, + const OUString & rAddPurpose_ ) throw () : nRef( 1 ) , aFrom( rFrom_ ) , aTo( rTo_ ) @@ -284,6 +299,7 @@ uno_Mediate_Mapping::uno_Mediate_Mapping( const Environment & rFrom_, const Envi //================================================================================================== static inline OUString getMappingName( const Environment & rFrom, const Environment & rTo, const OUString & rAddPurpose ) + throw () { OUStringBuffer aKey( 64 ); aKey.append( rAddPurpose ); @@ -301,6 +317,7 @@ static inline OUString getMappingName( //================================================================================================== static inline OUString getBridgeName( const Environment & rFrom, const Environment & rTo, const OUString & rAddPurpose ) + throw () { OUStringBuffer aBridgeName( 16 ); if (rAddPurpose.getLength()) @@ -314,14 +331,14 @@ static inline OUString getBridgeName( return aBridgeName.makeStringAndClear(); } //================================================================================================== -static inline void setNegativeBridge( const OUString & rBridgeName ) +static inline void setNegativeBridge( const OUString & rBridgeName ) throw () { MappingsData & rData = getMappingsData(); MutexGuard aGuard( rData.aNegativeLibsMutex ); rData.aNegativeLibs.insert( rBridgeName ); } //================================================================================================== -static inline oslModule loadModule( const OUString & rBridgeName ) +static inline oslModule loadModule( const OUString & rBridgeName ) throw () { sal_Bool bNeg; { @@ -363,6 +380,7 @@ static inline oslModule loadModule( const OUString & rBridgeName ) //================================================================================================== static Mapping loadExternalMapping( const Environment & rFrom, const Environment & rTo, const OUString & rAddPurpose ) + throw () { OSL_ASSERT( rFrom.is() && rTo.is() ); if (rFrom.is() && rTo.is()) @@ -407,6 +425,7 @@ static Mapping loadExternalMapping( //================================================================================================== static Mapping getDirectMapping( const Environment & rFrom, const Environment & rTo, const OUString & rAddPurpose = OUString() ) + throw () { OSL_ASSERT( rFrom.is() && rTo.is() ); if (rFrom.is() && rTo.is()) @@ -436,6 +455,7 @@ static inline Mapping createMediateMapping( const Environment & rFrom, const Environment & rTo, const Mapping & rFrom2Uno, const Mapping & rUno2To, const OUString & rAddPurpose ) + throw () { uno_Mapping * pRet = new uno_Mediate_Mapping( rFrom, rTo, rFrom2Uno, rUno2To, rAddPurpose ); // ref count initially 1 @@ -448,6 +468,7 @@ static inline Mapping createMediateMapping( //================================================================================================== static Mapping getMediateMapping( const Environment & rFrom, const Environment & rTo, const OUString & rAddPurpose ) + throw () { Environment aUno; Mapping aUno2To; @@ -506,7 +527,9 @@ static Mapping getMediateMapping( //################################################################################################## extern "C" SAL_DLLEXPORT void SAL_CALL uno_getMapping( - uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo, rtl_uString * pAddPurpose ) + uno_Mapping ** ppMapping, uno_Environment * pFrom, uno_Environment * pTo, + rtl_uString * pAddPurpose ) + throw () { OSL_ENSHURE( ppMapping && pFrom && pTo, "### null ptr!" ); if (*ppMapping) @@ -560,7 +583,9 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_getMapping( } //################################################################################################## extern "C" SAL_DLLEXPORT void SAL_CALL uno_getMappingByName( - uno_Mapping ** ppMapping, rtl_uString * pFrom, rtl_uString * pTo, rtl_uString * pAddPurpose ) + uno_Mapping ** ppMapping, rtl_uString * pFrom, rtl_uString * pTo, + rtl_uString * pAddPurpose ) + throw () { OSL_ENSHURE( ppMapping && pFrom && pTo, "### null ptr!" ); if (*ppMapping) @@ -590,6 +615,7 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_getMappingByName( extern "C" SAL_DLLEXPORT void SAL_CALL uno_registerMapping( uno_Mapping ** ppMapping, uno_freeMappingFunc freeMapping, uno_Environment * pFrom, uno_Environment * pTo, rtl_uString * pAddPurpose ) + throw () { MappingsData & rData = getMappingsData(); ClearableMutexGuard aGuard( rData.aMappingsMutex ); @@ -626,7 +652,9 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_registerMapping( } } //################################################################################################## -extern "C" SAL_DLLEXPORT void SAL_CALL uno_revokeMapping( uno_Mapping * pMapping ) +extern "C" SAL_DLLEXPORT void SAL_CALL uno_revokeMapping( + uno_Mapping * pMapping ) + throw () { MappingsData & rData = getMappingsData(); ClearableMutexGuard aGuard( rData.aMappingsMutex ); @@ -651,7 +679,9 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_revokeMapping( uno_Mapping * pMapping } //################################################################################################## -extern "C" SAL_DLLEXPORT void SAL_CALL uno_registerMappingCallback( uno_getMappingFunc pCallback ) +extern "C" SAL_DLLEXPORT void SAL_CALL uno_registerMappingCallback( + uno_getMappingFunc pCallback ) + throw () { OSL_ENSHURE( pCallback, "### null ptr!" ); MappingsData & rData = getMappingsData(); @@ -659,10 +689,14 @@ extern "C" SAL_DLLEXPORT void SAL_CALL uno_registerMappingCallback( uno_getMappi rData.aCallbacks.insert( pCallback ); } //################################################################################################## -extern "C" SAL_DLLEXPORT void SAL_CALL uno_revokeMappingCallback( uno_getMappingFunc pCallback ) +extern "C" SAL_DLLEXPORT void SAL_CALL uno_revokeMappingCallback( + uno_getMappingFunc pCallback ) + throw () { OSL_ENSHURE( pCallback, "### null ptr!" ); MappingsData & rData = getMappingsData(); MutexGuard aGuard( rData.aCallbacksMutex ); rData.aCallbacks.erase( pCallback ); } + +} diff --git a/cppu/source/uno/prim.hxx b/cppu/source/uno/prim.hxx index 4f589b4caf2d..69fef3ddceef 100644 --- a/cppu/source/uno/prim.hxx +++ b/cppu/source/uno/prim.hxx @@ -2,9 +2,9 @@ * * $RCSfile: prim.hxx,v $ * - * $Revision: 1.1.1.1 $ + * $Revision: 1.2 $ * - * last change: $Author: hr $ $Date: 2000-09-18 15:25:53 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -107,7 +107,7 @@ inline void * __map( void * p, typelib_TypeDescriptionReference * pType, typelib_TypeDescription * pTypeDescr, - uno_Mapping * mapping ) + uno_Mapping * mapping ) throw () { void * pRet = 0; if (p) @@ -126,7 +126,7 @@ inline void * __map( return pRet; } //-------------------------------------------------------------------------------------------------- -inline void __acquire( void * p, uno_AcquireFunc acquire ) +inline void __acquire( void * p, uno_AcquireFunc acquire ) throw () { if (p) { @@ -137,7 +137,7 @@ inline void __acquire( void * p, uno_AcquireFunc acquire ) } } //-------------------------------------------------------------------------------------------------- -inline void __releaseRef( void ** pRef, uno_ReleaseFunc release ) +inline void __releaseRef( void ** pRef, uno_ReleaseFunc release ) throw () { if (*pRef) { @@ -154,7 +154,7 @@ inline void __releaseRef( void ** pRef, uno_ReleaseFunc release ) //-------------------------------------------------------------------------------------------------- static uno_Sequence * s_pSeq = 0; static uno_Sequence s_seq; -inline uno_Sequence * __getEmptySequence() +inline uno_Sequence * __getEmptySequence() throw () { if (! s_pSeq) { @@ -171,7 +171,7 @@ inline uno_Sequence * __getEmptySequence() } //-------------------------------------------------------------------------------------------------- static typelib_TypeDescriptionReference * s_pVoidType = 0; -inline typelib_TypeDescriptionReference * __getVoidType() +inline typelib_TypeDescriptionReference * __getVoidType() throw () { if (! s_pVoidType) { @@ -201,7 +201,7 @@ inline typelib_TypeDescriptionReference * __getVoidType() //-------------------------------------------------------------------------------------------------- static typelib_TypeDescription * s_pQITD = 0; -inline typelib_TypeDescription * __getQueryInterfaceTypeDescr() +inline typelib_TypeDescription * __getQueryInterfaceTypeDescr() throw () { if (! s_pQITD) { @@ -224,7 +224,7 @@ inline typelib_TypeDescription * __getQueryInterfaceTypeDescr() //-------------------------------------------------------------------------------------------------- inline typelib_TypeDescriptionReference * __unionGetSetType( - void * pUnion, typelib_TypeDescription * pTD ) + void * pUnion, typelib_TypeDescription * pTD ) throw () { typelib_TypeDescriptionReference * pRet; @@ -248,8 +248,8 @@ inline typelib_TypeDescriptionReference * __unionGetSetType( } //-------------------------------------------------------------------------------------------------- inline sal_Bool __type_equals( - typelib_TypeDescriptionReference * pType1, - typelib_TypeDescriptionReference * pType2 ) + typelib_TypeDescriptionReference * pType1, typelib_TypeDescriptionReference * pType2 ) + throw () { return (pType1 == pType2 || (pType1->eTypeClass == pType2->eTypeClass && diff --git a/cppu/source/uno/sequence.cxx b/cppu/source/uno/sequence.cxx index bee8debe068f..6ecc1af54509 100644 --- a/cppu/source/uno/sequence.cxx +++ b/cppu/source/uno/sequence.cxx @@ -2,9 +2,9 @@ * * $RCSfile: sequence.cxx,v $ * - * $Revision: 1.2 $ + * $Revision: 1.3 $ * - * last change: $Author: dbo $ $Date: 2000-12-08 12:20:09 $ + * last change: $Author: dbo $ $Date: 2000-12-21 14:39:29 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -95,7 +95,7 @@ namespace cppu { //-------------------------------------------------------------------------------------------------- static inline void allocSeq( - uno_Sequence ** ppSeq, sal_Int32 nElementSize, sal_Int32 nElements ) + uno_Sequence ** ppSeq, sal_Int32 nElementSize, sal_Int32 nElements ) throw () { if (nElements) { @@ -114,6 +114,7 @@ inline void __defaultConstructElements( typelib_TypeDescriptionReference * pElementType, sal_Int32 nStartIndex, sal_Int32 nStopIndex, sal_Int32 nAlloc = 0 ) // >= 0 means (re)alloc memory for nAlloc elements + throw () { switch (pElementType->eTypeClass) { @@ -310,6 +311,7 @@ inline void __copyConstructElements( sal_Int32 nStartIndex, sal_Int32 nStopIndex, uno_AcquireFunc acquire, sal_Int32 nAlloc = 0 ) + throw () { switch (pElementType->eTypeClass) { @@ -527,6 +529,7 @@ inline void __reallocSequence( typelib_TypeDescriptionReference * pElementType, sal_Int32 nSize, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { uno_Sequence * pSource = *ppSequence; sal_Int32 nSourceElements = pSource->nElements; @@ -596,6 +599,7 @@ SAL_DLLEXPORT void SAL_CALL uno_type_sequence_construct( uno_Sequence ** ppSequence, typelib_TypeDescriptionReference * pType, void * pElements, sal_Int32 len, uno_AcquireFunc acquire ) + throw () { if (len) { @@ -637,6 +641,7 @@ SAL_DLLEXPORT void SAL_CALL uno_sequence_construct( uno_Sequence ** ppSequence, typelib_TypeDescription * pTypeDescr, void * pElements, sal_Int32 len, uno_AcquireFunc acquire ) + throw () { if (len) { @@ -672,6 +677,7 @@ SAL_DLLEXPORT void SAL_CALL uno_sequence_construct( SAL_DLLEXPORT void SAL_CALL uno_type_sequence_realloc( uno_Sequence ** ppSequence, typelib_TypeDescriptionReference * pType, sal_Int32 nSize, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { OSL_ENSHURE( ppSequence, "### null ptr!" ); OSL_ENSHURE( nSize >= 0, "### new size must be at least 0!" ); @@ -690,6 +696,7 @@ SAL_DLLEXPORT void SAL_CALL uno_type_sequence_realloc( SAL_DLLEXPORT void SAL_CALL uno_sequence_realloc( uno_Sequence ** ppSequence, typelib_TypeDescription * pTypeDescr, sal_Int32 nSize, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { OSL_ENSHURE( ppSequence, "### null ptr!" ); OSL_ENSHURE( nSize >= 0, "### new size must be at least 0!" ); @@ -706,6 +713,7 @@ SAL_DLLEXPORT void SAL_CALL uno_type_sequence_reference2One( uno_Sequence ** ppSequence, typelib_TypeDescriptionReference * pType, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { OSL_ENSHURE( ppSequence, "### null ptr!" ); uno_Sequence * pSequence = *ppSequence; @@ -744,6 +752,7 @@ SAL_DLLEXPORT void SAL_CALL uno_sequence_reference2One( uno_Sequence ** ppSequence, typelib_TypeDescription * pTypeDescr, uno_AcquireFunc acquire, uno_ReleaseFunc release ) + throw () { OSL_ENSHURE( ppSequence, "### null ptr!" ); uno_Sequence * pSequence = *ppSequence; @@ -778,6 +787,7 @@ SAL_DLLEXPORT void SAL_CALL uno_sequence_assign( uno_Sequence * pSource, typelib_TypeDescription * pTypeDescr, uno_ReleaseFunc release ) + throw () { if (*ppDest != pSource) { @@ -792,6 +802,7 @@ SAL_DLLEXPORT void SAL_CALL uno_type_sequence_assign( uno_Sequence * pSource, typelib_TypeDescriptionReference * pType, uno_ReleaseFunc release ) + throw () { if (*ppDest != pSource) { -- cgit