diff options
author | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:57:40 +0100 |
---|---|---|
committer | Michael Stahl <mstahl@redhat.com> | 2012-01-28 20:57:40 +0100 |
commit | 2716f7dce26f16a2b677c178aa7d01cea096ae47 (patch) | |
tree | 9e9f67205cd5b72f1031721273e1534a3a1e5b0f /cppuhelper | |
parent | 10ac9e750447fd57e3cef7993b0ad6c6538d6269 (diff) |
replace obsolete "master" branch with README that points at new repoHEADmaster-deletedmaster
Diffstat (limited to 'cppuhelper')
139 files changed, 0 insertions, 34370 deletions
diff --git a/cppuhelper/inc/cppuhelper/access_control.hxx b/cppuhelper/inc/cppuhelper/access_control.hxx deleted file mode 100644 index acd5008b8..000000000 --- a/cppuhelper/inc/cppuhelper/access_control.hxx +++ /dev/null @@ -1,127 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_ACCESS_CONTROL_HXX_ -#define _CPPUHELPER_ACCESS_CONTROL_HXX_ - -#include <com/sun/star/uno/XComponentContext.hpp> -#include <com/sun/star/security/XAccessController.hpp> - - -namespace cppu -{ - -/** Helper class retriving access controller singleton from component context. -*/ -class AccessControl -{ - ::com::sun::star::uno::Reference< ::com::sun::star::security::XAccessController > m_xController; - -public: - /** Ctor. - - @param xContext component context to retrieve access controller singleton - */ - AccessControl( - ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XComponentContext > const & xContext ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - /** Ctor. - - @param xController access controller - */ - AccessControl( - ::com::sun::star::uno::Reference< - ::com::sun::star::security::XAccessController > const & xController ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - /** Copy ctor. - - @param another object - */ - AccessControl( ::cppu::AccessControl const & ac ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - - /** Clears the access controller reference being used. - */ - inline void SAL_CALL clear() SAL_THROW( () ) - { m_xController.clear(); } - - /** Returns access to the access controller reference being used. - - @return access controller - */ - inline ::com::sun::star::uno::Reference< - ::com::sun::star::security::XAccessController > const & SAL_CALL get() const SAL_THROW( () ) - { return m_xController; } - - /** Returns access to the access controller reference being used. - - @return access controller - */ - inline ::com::sun::star::security::XAccessController * SAL_CALL operator -> () const SAL_THROW( () ) - { return m_xController.get(); } - - - /** A com.sun.star.security.RuntimePermission is for runtime permissions. - A RuntimePermission contains a name (also referred to as a "target name") but no - actions list; you either have the named permission or you don't. - - @param name name of permission - */ - void SAL_CALL checkRuntimePermission( - ::rtl::OUString const & name ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - - /** A com.sun.star.io.FilePermission represents access to a file or directory. - A FilePermission consists of a file url and a set of actions valid for that pathname. - - @param url file url - @param actions actions list - */ - void SAL_CALL checkFilePermission( - ::rtl::OUString const & url, - ::rtl::OUString const & actions ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - - /** A com.sun.star.connection.SocketPermission represents access to a network via sockets. - A SocketPermission consists of a host specification and a set of "actions" - specifying ways to connect to that host. - - @param host host and optional portrange - @param actions actions list - */ - void SAL_CALL checkSocketPermission( - ::rtl::OUString const & host, - ::rtl::OUString const & actions ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); -}; - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/basemutex.hxx b/cppuhelper/inc/cppuhelper/basemutex.hxx deleted file mode 100644 index 0b94deda0..000000000 --- a/cppuhelper/inc/cppuhelper/basemutex.hxx +++ /dev/null @@ -1,52 +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. - * - ************************************************************************/ - -#ifndef _CPPUHELPER_BASEMUTEX_HXX_ -#define _CPPUHELPER_BASEMUTEX_HXX_ - -#include <osl/mutex.hxx> - -namespace cppu -{ - /** base class for all classes who want derive from - ::cppu::WeakComponentImplHelperXX. - - Implmentation classes have first to derive from BaseMutex and then from - ::cppu::WeakComponentImplHelperXX to ensure that the BaseMutex is completely - initialized when the mutex is used to intialize the - ::cppu::WeakComponentImplHelperXX - */ - class BaseMutex - { - protected: - mutable ::osl::Mutex m_aMutex; - }; -} -#endif // _CPPUHELPER_BASEMUTEX_HXX_ - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/bootstrap.hxx b/cppuhelper/inc/cppuhelper/bootstrap.hxx deleted file mode 100644 index 76a0c32a4..000000000 --- a/cppuhelper/inc/cppuhelper/bootstrap.hxx +++ /dev/null @@ -1,226 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_BOOTSTRAP_HXX_ -#define _CPPUHELPER_BOOTSTRAP_HXX_ - -#include "sal/config.h" -#include "com/sun/star/uno/Exception.hpp" -#include "com/sun/star/uno/Reference.hxx" -#include "rtl/ustring.hxx" -#include "sal/types.h" - -namespace com { namespace sun { namespace star { - namespace container { class XHierarchicalNameAccess; } - namespace registry { class XSimpleRegistry; } - namespace uno { class XComponentContext; } -} } } - -namespace cppu -{ - -/** Creates a simple registry service instance. - - @rBootstrapPath optional bootstrap path for initial components - @return simple registry service instance -*/ -::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry > -SAL_CALL createSimpleRegistry( - const ::rtl::OUString & rBootstrapPath = ::rtl::OUString() ) - SAL_THROW( () ); - -/** Creates a nested registry service instance. - - @rBootstrapPath optional bootstrap path for initial components - @return nested registry service instance -*/ -::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry > -SAL_CALL createNestedRegistry( - const ::rtl::OUString & rBootstrapPath = ::rtl::OUString() ) - SAL_THROW( () ); - -/** Installs type description manager instance, i.e. registers a callback at cppu core. - - @param xTDMgr manager instance - @return true, if successfully registered -*/ -sal_Bool SAL_CALL installTypeDescriptionManager( - ::com::sun::star::uno::Reference< ::com::sun::star::container::XHierarchicalNameAccess > const & xTDMgr ) - SAL_THROW( () ); - -/** Bootstraps an initial component context with service manager upon a given registry. - This includes insertion of initial services: - - (registry) service manager, shared lib loader, - - simple registry, nested registry, - - implementation registration - - registry typedescription provider, typedescription manager (also installs it into cppu core) - - @param xRegistry registry for service manager and singleton objects of context (may be null) - @param rBootstrapPath optional bootstrap path for initial components - @return component context -*/ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > SAL_CALL -bootstrap_InitialComponentContext( - ::com::sun::star::uno::Reference< ::com::sun::star::registry::XSimpleRegistry > const & xRegistry, - ::rtl::OUString const & rBootstrapPath = ::rtl::OUString() ) - SAL_THROW( (::com::sun::star::uno::Exception) ); - - -/** Bootstraps an initial component context with service manager upon default types and - services registry. - This includes insertion of initial services: - - (registry) service manager, shared lib loader, - - simple registry, nested registry, - - implementation registration - - registry typedescription provider, typedescription manager (also installs it into cppu core) - - This function tries to find its parameters via these bootstrap variables: - - - UNO_TYPES -- a space separated list of file urls of type rdbs - - UNO_SERVICES -- a space separated list of file urls of service rdbs - - UNO_WRITERDB -- a file url of a write rdb (e.g. user.rdb) - - Please look at http://udk.openoffice.org/common/man/concept/uno_default_bootstrapping.html - for further info. - - @return component context -*/ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > SAL_CALL -defaultBootstrap_InitialComponentContext() SAL_THROW( (::com::sun::star::uno::Exception) ); - - -/** Bootstraps an initial component context with service manager upon default types and - services registry. - This includes insertion of initial services: - - (registry) service manager, shared lib loader, - - simple registry, nested registry, - - implementation registration - - registry typedescription provider, typedescription manager (also installs it into cppu core) - - This function tries to find its parameters via these bootstrap variables: - - - UNO_TYPES -- a space separated list of file urls of type rdbs - - UNO_SERVICES -- a space separated list of file urls of service rdbs - - UNO_WRITERDB -- a file url of a write rdb (e.g. user.rdb) - - Please look at http://udk.openoffice.org/common/man/concept/uno_default_bootstrapping.html - for further info. - - @param iniFile ini filename to get bootstrap variables - @return component context -*/ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > SAL_CALL -defaultBootstrap_InitialComponentContext(const ::rtl::OUString & iniFile) SAL_THROW( (::com::sun::star::uno::Exception) ); - -/** - * An exception indicating a bootstrap error. - * - * @since UDK 3.2.0 - */ -class BootstrapException -{ -public: - /** - * Constructs a BootstrapException. - */ - BootstrapException(); - - /** - * Constructs a BootstrapException with the specified detail message. - * - * @param rMessage - * A message containing any details about the exception. - */ - BootstrapException( const ::rtl::OUString & rMessage ); - - /** - * Copy constructs a BootstrapException. - */ - BootstrapException( const BootstrapException & e ); - - /** - * Destructs a BootstrapException. - */ - virtual ~BootstrapException(); - - /** - * Assigns a BootstrapException. - */ - BootstrapException & operator=( const BootstrapException & e ); - - /** Gets the message. - - @return - A reference to the message. The reference is valid for the lifetime of - this BootstrapException. - */ - const ::rtl::OUString & getMessage() const; - -private: - ::rtl::OUString m_aMessage; -}; - -/** - * Bootstraps the component context from a UNO installation. - * - * @return a bootstrapped component context - * @exception BootstrapException - * Thrown in case bootstrap() signals an exception due to a - * bootstrap error. - * - * @since UDK 3.2.0 - */ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > -SAL_CALL bootstrap(); - -/** - * Helper function to expand vnd.sun.star.expand URLs in contexts where no - * properly bootstrapped UNO is (yet) available. - * - * @internal - * - * @param uri - * Some URI (but not a URI reference). - * - * @return - * If uri is a vnd.sun.star.expand URL, then the expansion of that URL is - * returned; expansion may lead to a string that is not a legal URI. Otherwise, - * the uri is returned unchanged. - * - * @exception com::sun::star::lang::IllegalArgumentException - * If uri is a vnd.sun.star.expand URL that contains unknown macros. - * - * @since UDK 3.2.8 - */ -::rtl::OUString -SAL_CALL bootstrap_expandUri(::rtl::OUString const & uri); - -} // end namespace cppu - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase.hxx b/cppuhelper/inc/cppuhelper/compbase.hxx deleted file mode 100644 index 54db23a4e..000000000 --- a/cppuhelper/inc/cppuhelper/compbase.hxx +++ /dev/null @@ -1,118 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE_HXX_ -#define _CPPUHELPER_COMPBASE_HXX_ - -#include <cppuhelper/compbase_ex.hxx> -#include <cppuhelper/implbase.hxx> - -/* This header should not be used anymore. - @deprecated -*/ - -//================================================================================================== -/** @internal */ -#define __DEF_COMPIMPLHELPER_A( N ) \ -namespace cppu \ -{ \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE WeakComponentImplHelper##N \ - : public ::cppu::WeakComponentImplHelperBase \ - , public ImplHelperBase##N< __IFC##N > \ -{ \ - static ClassData##N s_aCD; \ -public: \ - WeakComponentImplHelper##N( ::osl::Mutex & rMutex ) SAL_THROW( () ) \ - : WeakComponentImplHelperBase( rMutex ) \ - {} \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { \ - ::com::sun::star::uno::Any aRet( getClassData( s_aCD ).query( rType, (ImplHelperBase##N< __IFC##N > *)this ) ); \ - if (aRet.hasValue()) \ - return aRet; \ - return WeakComponentImplHelperBase::queryInterface( rType ); \ - } \ - virtual void SAL_CALL acquire() throw () \ - { WeakComponentImplHelperBase::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { WeakComponentImplHelperBase::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return getClassData( s_aCD ).getTypes(); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return getClassData( s_aCD ).getImplementationId(); } \ -}; \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE WeakAggComponentImplHelper##N \ - : public ::cppu::WeakAggComponentImplHelperBase \ - , public ImplHelperBase##N< __IFC##N > \ -{ \ - static ClassData##N s_aCD; \ -public: \ - WeakAggComponentImplHelper##N( ::osl::Mutex & rMutex ) SAL_THROW( () ) \ - : WeakAggComponentImplHelperBase( rMutex ) \ - {} \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } \ - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { \ - ::com::sun::star::uno::Any aRet( getClassData( s_aCD ).query( rType, (ImplHelperBase##N< __IFC##N > *)this ) ); \ - if (aRet.hasValue()) \ - return aRet; \ - return WeakAggComponentImplHelperBase::queryAggregation( rType ); \ - } \ - virtual void SAL_CALL acquire() throw () \ - { WeakAggComponentImplHelperBase::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { WeakAggComponentImplHelperBase::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return getClassData( s_aCD ).getTypes(); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return getClassData( s_aCD ).getImplementationId(); } \ -}; - -//================================================================================================== -/** @internal */ -#define __DEF_COMPIMPLHELPER_B( N ) \ -template< __CLASS_IFC##N > \ -ClassData##N WeakComponentImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 4 ); \ -template< __CLASS_IFC##N > \ -ClassData##N WeakAggComponentImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 3 ); -//================================================================================================== -/** @internal */ -#define __DEF_COMPIMPLHELPER_C( N ) \ -} -//================================================================================================== -/** @internal */ -#define __DEF_COMPIMPLHELPER( N ) \ -__DEF_COMPIMPLHELPER_A( N ) \ -__DEF_COMPIMPLHELPER_B( N ) \ -__DEF_COMPIMPLHELPER_C( N ) - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase1.hxx b/cppuhelper/inc/cppuhelper/compbase1.hxx deleted file mode 100644 index 7879b6172..000000000 --- a/cppuhelper/inc/cppuhelper/compbase1.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE1_HXX_ -#define _CPPUHELPER_COMPBASE1_HXX_ - -#include <cppuhelper/implbase1.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 1 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1 > - class SAL_NO_VTABLE WeakComponentImplHelper1 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, WeakComponentImplHelper1< Ifc1 > > > {}; - public: - inline WeakComponentImplHelper1( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper1, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper1 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, PartialWeakComponentImplHelper1< Ifc1 > > > {}; - public: - inline PartialWeakComponentImplHelper1( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1 > - class SAL_NO_VTABLE WeakAggComponentImplHelper1 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, WeakAggComponentImplHelper1< Ifc1 > > > {}; - public: - inline WeakAggComponentImplHelper1( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase10.hxx b/cppuhelper/inc/cppuhelper/compbase10.hxx deleted file mode 100644 index 42c2468ef..000000000 --- a/cppuhelper/inc/cppuhelper/compbase10.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE10_HXX_ -#define _CPPUHELPER_COMPBASE10_HXX_ - -#include <cppuhelper/implbase10.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 10 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > - class SAL_NO_VTABLE WeakComponentImplHelper10 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, WeakComponentImplHelper10<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; - public: - inline WeakComponentImplHelper10( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper10, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper10 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, PartialWeakComponentImplHelper10<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; - public: - inline PartialWeakComponentImplHelper10( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > - class SAL_NO_VTABLE WeakAggComponentImplHelper10 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, WeakAggComponentImplHelper10<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; - public: - inline WeakAggComponentImplHelper10( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase11.hxx b/cppuhelper/inc/cppuhelper/compbase11.hxx deleted file mode 100644 index 025750c3c..000000000 --- a/cppuhelper/inc/cppuhelper/compbase11.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE11_HXX_ -#define _CPPUHELPER_COMPBASE11_HXX_ - -#include <cppuhelper/implbase11.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 11 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 > - class SAL_NO_VTABLE WeakComponentImplHelper11 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData11< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, WeakComponentImplHelper11<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11> > > {}; - public: - inline WeakComponentImplHelper11( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper11, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper11 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData11< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, PartialWeakComponentImplHelper11<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11> > > {}; - public: - inline PartialWeakComponentImplHelper11( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 > - class SAL_NO_VTABLE WeakAggComponentImplHelper11 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData11< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, WeakAggComponentImplHelper11<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11> > > {}; - public: - inline WeakAggComponentImplHelper11( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase12.hxx b/cppuhelper/inc/cppuhelper/compbase12.hxx deleted file mode 100644 index 015eaadb4..000000000 --- a/cppuhelper/inc/cppuhelper/compbase12.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE12_HXX_ -#define _CPPUHELPER_COMPBASE12_HXX_ - -#include <cppuhelper/implbase12.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 12 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > - class SAL_NO_VTABLE WeakComponentImplHelper12 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, WeakComponentImplHelper12<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; - public: - inline WeakComponentImplHelper12( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper12, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper12 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, PartialWeakComponentImplHelper12<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; - public: - inline PartialWeakComponentImplHelper12( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > - class SAL_NO_VTABLE WeakAggComponentImplHelper12 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, WeakAggComponentImplHelper12<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; - public: - inline WeakAggComponentImplHelper12( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase2.hxx b/cppuhelper/inc/cppuhelper/compbase2.hxx deleted file mode 100644 index 778f0b6ae..000000000 --- a/cppuhelper/inc/cppuhelper/compbase2.hxx +++ /dev/null @@ -1,174 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE2_HXX_ -#define _CPPUHELPER_COMPBASE2_HXX_ - -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 2 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2 > - class SAL_NO_VTABLE WeakComponentImplHelper2 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, WeakComponentImplHelper2<Ifc1, Ifc2> > > {}; - public: - inline WeakComponentImplHelper2( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper2, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper2 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, PartialWeakComponentImplHelper2<Ifc1, Ifc2> > > {}; - public: - inline PartialWeakComponentImplHelper2( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2 > - class SAL_NO_VTABLE WeakAggComponentImplHelper2 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, WeakAggComponentImplHelper2<Ifc1, Ifc2> > > {}; - public: - inline WeakAggComponentImplHelper2( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase3.hxx b/cppuhelper/inc/cppuhelper/compbase3.hxx deleted file mode 100644 index 2150be3d4..000000000 --- a/cppuhelper/inc/cppuhelper/compbase3.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE3_HXX_ -#define _CPPUHELPER_COMPBASE3_HXX_ - -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 3 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3 > - class SAL_NO_VTABLE WeakComponentImplHelper3 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, WeakComponentImplHelper3<Ifc1, Ifc2, Ifc3> > > {}; - public: - inline WeakComponentImplHelper3( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper3, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper3 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, PartialWeakComponentImplHelper3<Ifc1, Ifc2, Ifc3> > > {}; - public: - inline PartialWeakComponentImplHelper3( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3 > - class SAL_NO_VTABLE WeakAggComponentImplHelper3 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, WeakAggComponentImplHelper3<Ifc1, Ifc2, Ifc3> > > {}; - public: - inline WeakAggComponentImplHelper3( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase4.hxx b/cppuhelper/inc/cppuhelper/compbase4.hxx deleted file mode 100644 index d9c0c4afd..000000000 --- a/cppuhelper/inc/cppuhelper/compbase4.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE4_HXX_ -#define _CPPUHELPER_COMPBASE4_HXX_ - -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 4 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 > - class SAL_NO_VTABLE WeakComponentImplHelper4 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, WeakComponentImplHelper4<Ifc1, Ifc2, Ifc3, Ifc4> > > {}; - public: - inline WeakComponentImplHelper4( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper4, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper4 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, PartialWeakComponentImplHelper4<Ifc1, Ifc2, Ifc3, Ifc4> > > {}; - public: - inline PartialWeakComponentImplHelper4( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 > - class SAL_NO_VTABLE WeakAggComponentImplHelper4 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, WeakAggComponentImplHelper4<Ifc1, Ifc2, Ifc3, Ifc4> > > {}; - public: - inline WeakAggComponentImplHelper4( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase5.hxx b/cppuhelper/inc/cppuhelper/compbase5.hxx deleted file mode 100644 index e2376b340..000000000 --- a/cppuhelper/inc/cppuhelper/compbase5.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE5_HXX_ -#define _CPPUHELPER_COMPBASE5_HXX_ - -#include <cppuhelper/implbase5.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 5 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 > - class SAL_NO_VTABLE WeakComponentImplHelper5 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, WeakComponentImplHelper5<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {}; - public: - inline WeakComponentImplHelper5( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper5, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper5 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, PartialWeakComponentImplHelper5<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {}; - public: - inline PartialWeakComponentImplHelper5( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 > - class SAL_NO_VTABLE WeakAggComponentImplHelper5 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, WeakAggComponentImplHelper5<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {}; - public: - inline WeakAggComponentImplHelper5( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase6.hxx b/cppuhelper/inc/cppuhelper/compbase6.hxx deleted file mode 100644 index 0d962f6af..000000000 --- a/cppuhelper/inc/cppuhelper/compbase6.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE6_HXX_ -#define _CPPUHELPER_COMPBASE6_HXX_ - -#include <cppuhelper/implbase6.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 6 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 > - class SAL_NO_VTABLE WeakComponentImplHelper6 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData6 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, WeakComponentImplHelper6<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6> > > {}; - public: - inline WeakComponentImplHelper6( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper6, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper6 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData6 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, PartialWeakComponentImplHelper6<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6> > > {}; - public: - inline PartialWeakComponentImplHelper6( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 > - class SAL_NO_VTABLE WeakAggComponentImplHelper6 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData6 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, WeakAggComponentImplHelper6<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6> > > {}; - public: - inline WeakAggComponentImplHelper6( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase7.hxx b/cppuhelper/inc/cppuhelper/compbase7.hxx deleted file mode 100644 index b299bdb97..000000000 --- a/cppuhelper/inc/cppuhelper/compbase7.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE7_HXX_ -#define _CPPUHELPER_COMPBASE7_HXX_ - -#include <cppuhelper/implbase7.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 7 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 > - class SAL_NO_VTABLE WeakComponentImplHelper7 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData7< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, WeakComponentImplHelper7<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7> > > {}; - public: - inline WeakComponentImplHelper7( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper7, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper7 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData7< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, PartialWeakComponentImplHelper7<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7> > > {}; - public: - inline PartialWeakComponentImplHelper7( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 > - class SAL_NO_VTABLE WeakAggComponentImplHelper7 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData7< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, WeakAggComponentImplHelper7<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7> > > {}; - public: - inline WeakAggComponentImplHelper7( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase8.hxx b/cppuhelper/inc/cppuhelper/compbase8.hxx deleted file mode 100644 index 3c71b2ad0..000000000 --- a/cppuhelper/inc/cppuhelper/compbase8.hxx +++ /dev/null @@ -1,173 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE8_HXX_ -#define _CPPUHELPER_COMPBASE8_HXX_ - -#include <cppuhelper/implbase8.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 8 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 > - class SAL_NO_VTABLE WeakComponentImplHelper8 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData8< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, WeakComponentImplHelper8<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8> > > {}; - public: - inline WeakComponentImplHelper8( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper8, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper8 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData8< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, PartialWeakComponentImplHelper8<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8> > > {}; - public: - inline PartialWeakComponentImplHelper8( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 > - class SAL_NO_VTABLE WeakAggComponentImplHelper8 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData8< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, WeakAggComponentImplHelper8<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8> > > {}; - public: - inline WeakAggComponentImplHelper8( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase9.hxx b/cppuhelper/inc/cppuhelper/compbase9.hxx deleted file mode 100644 index aa9fd3d2d..000000000 --- a/cppuhelper/inc/cppuhelper/compbase9.hxx +++ /dev/null @@ -1,172 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE9_HXX_ -#define _CPPUHELPER_COMPBASE9_HXX_ - -#include <cppuhelper/implbase9.hxx> -#include <cppuhelper/compbase_ex.hxx> -/* -__DEF_COMPIMPLHELPER_EX( 9 ) -*/ - -namespace cppu -{ - -// Suppress warnings about hidden functions in case any of the IfcN has -// functions named dispose, addEventListener, or removeEventListener: -#if defined __SUNPRO_CC -#pragma disable_warn -#endif - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 > - class SAL_NO_VTABLE WeakComponentImplHelper9 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData9< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, WeakComponentImplHelper9<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9> > > {}; - public: - inline WeakComponentImplHelper9( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual void SAL_CALL dispose()throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::dispose(); } - virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::addEventListener(xListener); } - virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > & xListener)throw (::com::sun::star::uno::RuntimeException) - { WeakComponentImplHelperBase::removeEventListener(xListener); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - -#if defined __SUNPRO_CC -#pragma enable_warn -#endif - - /** Same as WeakComponentImplHelper9, except doesn't implement - addEventListener, removeEventListener and dispose. - - This requires derived classes to implement those three methods. - This makes it possible to implement classes which are required to - implement methods from multiple bases which have different - addEventListener/removeEventListener signatures without triggering - the g++ overloaded-virtual warning - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 > - class SAL_NO_VTABLE PartialWeakComponentImplHelper9 - : public WeakComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData9< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, PartialWeakComponentImplHelper9<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9> > > {}; - public: - inline PartialWeakComponentImplHelper9( ::osl::Mutex & rMutex ) throw () - : WeakComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_query( rType, cd::get(), this, (WeakComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - - /** Implementation helper supporting ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::lang::XComponent. - Upon disposing objects of this class, sub-classes receive a disposing() - call. Objects of this class can be held weakly, i.e. by a - ::com::sun::star::uno::WeakReference. Object of this class can be - aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - @deprecated - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 > - class SAL_NO_VTABLE WeakAggComponentImplHelper9 - : public WeakAggComponentImplHelperBase - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData9< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, WeakAggComponentImplHelper9<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9> > > {}; - public: - inline WeakAggComponentImplHelper9( ::osl::Mutex & rMutex ) throw () - : WeakAggComponentImplHelperBase( rMutex ) - {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_queryAgg( rType, cd::get(), this, (WeakAggComponentImplHelperBase *)this ); } - virtual void SAL_CALL acquire() throw () - { WeakAggComponentImplHelperBase::acquire(); } - virtual void SAL_CALL release() throw () - { WeakAggComponentImplHelperBase::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggComponentImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/compbase_ex.hxx b/cppuhelper/inc/cppuhelper/compbase_ex.hxx deleted file mode 100644 index 7d79304b2..000000000 --- a/cppuhelper/inc/cppuhelper/compbase_ex.hxx +++ /dev/null @@ -1,179 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPBASE_EX_HXX_ -#define _CPPUHELPER_COMPBASE_EX_HXX_ - -#include <osl/mutex.hxx> -#include <cppuhelper/implbase_ex.hxx> -#include <cppuhelper/interfacecontainer.hxx> -#include <com/sun/star/lang/XComponent.hpp> - - -namespace cppu -{ - -/** Implementation helper base class for components. Inherits from ::cppu::OWeakObject and - ::com::sun::star::lang::XComponent. - @internal -*/ -class SAL_NO_VTABLE WeakComponentImplHelperBase - : public ::cppu::OWeakObject - , public ::com::sun::star::lang::XComponent -{ -protected: - /** broadcast helper for disposing events - */ - ::cppu::OBroadcastHelper rBHelper; - - /** this function is called upon disposing the component - */ - virtual void SAL_CALL disposing(); - - /** This is the one and only constructor that is called from derived implementations. - - @param rMutex mutex to sync upon disposing - */ - WeakComponentImplHelperBase( ::osl::Mutex & rMutex ) SAL_THROW( () ); -public: - /** Destructor - */ - virtual ~WeakComponentImplHelperBase() SAL_THROW( () ); - - // these are here to force memory de/allocation to sal lib. - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - ::com::sun::star::uno::Type const & rType ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() - throw (); - virtual void SAL_CALL release() - throw (); - virtual void SAL_CALL dispose() - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addEventListener( - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > const & xListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeEventListener( - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > const & xListener ) - throw (::com::sun::star::uno::RuntimeException); -}; - -/** Implementation helper base class for components. Inherits from ::cppu::OWeakAggObject and - ::com::sun::star::lang::XComponent. - @internal -*/ -class SAL_NO_VTABLE WeakAggComponentImplHelperBase - : public ::cppu::OWeakAggObject - , public ::com::sun::star::lang::XComponent -{ -protected: - ::cppu::OBroadcastHelper rBHelper; - - /** Is called upon disposing the component. - */ - virtual void SAL_CALL disposing(); - - WeakAggComponentImplHelperBase( ::osl::Mutex & rMutex ) SAL_THROW( () ); -public: - virtual ~WeakAggComponentImplHelperBase() SAL_THROW( () ); - - // these are here to force memory de/allocation to sal lib. - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - ::com::sun::star::uno::Type const & rType ) - throw (::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( - ::com::sun::star::uno::Type const & rType ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() - throw (); - virtual void SAL_CALL release() - throw (); - virtual void SAL_CALL dispose() - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addEventListener( - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > const & xListener ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeEventListener( - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener > const & xListener ) - throw (::com::sun::star::uno::RuntimeException); -}; - -/** WeakComponentImplHelper - @internal -*/ -::com::sun::star::uno::Any SAL_CALL WeakComponentImplHelper_query( - ::com::sun::star::uno::Type const & rType, - class_data * cd, - void * that, - ::cppu::WeakComponentImplHelperBase * pBase ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); -/** WeakComponentImplHelper - @internal -*/ -::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL WeakComponentImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - -/** WeakAggComponentImplHelper - @internal -*/ -::com::sun::star::uno::Any SAL_CALL WeakAggComponentImplHelper_queryAgg( - ::com::sun::star::uno::Type const & rType, - class_data * cd, - void * that, - ::cppu::WeakAggComponentImplHelperBase * pBase ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); -/** WeakAggComponentImplHelper - @internal -*/ -::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL WeakAggComponentImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/component.hxx b/cppuhelper/inc/cppuhelper/component.hxx deleted file mode 100644 index 92eb60389..000000000 --- a/cppuhelper/inc/cppuhelper/component.hxx +++ /dev/null @@ -1,121 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPONENT_HXX_ -#define _CPPUHELPER_COMPONENT_HXX_ - -#include <osl/mutex.hxx> -#include <cppuhelper/weakagg.hxx> -#include <cppuhelper/interfacecontainer.hxx> - -#include <cppuhelper/implbase1.hxx> - -#include <com/sun/star/lang/XComponent.hpp> -#include <com/sun/star/lang/XEventListener.hpp> - - -namespace cppu -{ - -/** Deprecated. Helper for implementing ::com::sun::star::lang::XComponent. - Upon disposing objects of this class, sub-classes receive a disposing() call. Objects of - this class can be held weakly, i.e. by a ::com::sun::star::uno::WeakReference. Object of - this class can be aggregated, i.e. incoming queryInterface() calls are delegated. - - @attention - The life-cycle of the passed mutex reference has to be longer than objects of this class. - @deprecated -*/ -class OComponentHelper - : public ::cppu::OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public ::com::sun::star::lang::XComponent -{ -public: - /** Constructor. - - @param rMutex - the mutex used to protect multi-threaded access; - lifetime must be longer than the lifetime of this object. - */ - OComponentHelper( ::osl::Mutex & rMutex ) SAL_THROW( () ); - /** Dewstructor. If this object was not disposed previously, object will be disposed manually. - */ - virtual ~OComponentHelper() SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - - // XAggregation - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - ::com::sun::star::uno::Type const & rType ) - throw (::com::sun::star::uno::RuntimeException); - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( - ::com::sun::star::uno::Type const & rType ) - throw (::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL acquire() - throw (); - virtual void SAL_CALL release() - throw (); - - /** @attention - XTypeProvider::getImplementationId() has to be implemented separately! - */ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - throw(::com::sun::star::uno::RuntimeException) = 0; - /** @attention - XTypeProvider::getTypes() has to be re-implemented! - */ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - throw (::com::sun::star::uno::RuntimeException); - - // XComponent - virtual void SAL_CALL dispose() - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL addEventListener( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - virtual void SAL_CALL removeEventListener( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener ) - throw(::com::sun::star::uno::RuntimeException); - -protected: - /** Called in dispose method after the listeners were notified. - */ - virtual void SAL_CALL disposing(); - - /** @internal */ - OBroadcastHelper rBHelper; -private: - /** @internal */ - inline OComponentHelper( const OComponentHelper & ) SAL_THROW( () ); - /** @internal */ - inline OComponentHelper & operator = ( const OComponentHelper & ) SAL_THROW( () ); -}; - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/component_context.hxx b/cppuhelper/inc/cppuhelper/component_context.hxx deleted file mode 100644 index 2ab6a0cf2..000000000 --- a/cppuhelper/inc/cppuhelper/component_context.hxx +++ /dev/null @@ -1,99 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_COMPONENT_CONTEXT_HXX_ -#define _CPPUHELPER_COMPONENT_CONTEXT_HXX_ - -#include <com/sun/star/uno/XComponentContext.hpp> -#include <com/sun/star/lang/XSingleComponentFactory.hpp> - - -namespace cppu -{ - -/** Context entries init struct calling createComponentContext(). -*/ -struct ContextEntry_Init -{ - /** late init denotes a object that will be raised when first get() is calling for it - - The context implementation expects either a ::com::sun::star::lang::XSingleComponentFactory - object as value (to instanciate the object) or a string as value for raising - a service via the used service manager. - */ - bool bLateInitService; - /** name of context value - */ - ::rtl::OUString name; - /** context value - */ - ::com::sun::star::uno::Any value; - - /** Default ctor. - */ - inline ContextEntry_Init() SAL_THROW( () ) - : bLateInitService( false ) - {} - /** Ctor. - - @param name_ - name of entry - @param value_ - value of entry - @param bLateInitService_ - whether this entry is a late-init named object entry - (value is object factory or service string) - */ - inline ContextEntry_Init( - ::rtl::OUString const & name_, - ::com::sun::star::uno::Any const & value_, - bool bLateInitService_ = false ) SAL_THROW( () ) - : bLateInitService( bLateInitService_ ), - name( name_ ), - value( value_ ) - {} -}; - -/** Creates a component context with the given entries. - - @param pEntries array of entries - @param nEntries number of entries - @param xDelegate delegation to further context, if value was not found - @return new context object -*/ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > -SAL_CALL createComponentContext( - ContextEntry_Init const * pEntries, sal_Int32 nEntries, - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xDelegate = - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext >() ) - SAL_THROW( () ); - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/exc_hlp.hxx b/cppuhelper/inc/cppuhelper/exc_hlp.hxx deleted file mode 100644 index 3d70b9eb6..000000000 --- a/cppuhelper/inc/cppuhelper/exc_hlp.hxx +++ /dev/null @@ -1,100 +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. - * - ************************************************************************/ - -#ifndef _CPPUHELPER_EXC_HLP_HXX_ -#define _CPPUHELPER_EXC_HLP_HXX_ - -#include <com/sun/star/uno/Any.hxx> - -namespace cppu -{ - -/** This function throws the exception given by rExc. The given value has to - be of typeclass EXCEPTION and must be dervived from or of - type com.sun.star.uno.Exception. - - @param rExc - exception to be thrown. -*/ -void SAL_CALL throwException( const ::com::sun::star::uno::Any & rExc ) - SAL_THROW( (::com::sun::star::uno::Exception) ); - -/** Use this function to get the dynamic type of a caught C++-UNO exception; - completes the above function throwing exceptions generically. - - try - { - ... - } - catch (::com::sun::star::uno::RuntimeException &) - { - // you ought not handle RuntimeExceptions: - throw; - } - catch (::com::sun::star::uno::Exception &) - { - ::com::sun::star::uno::Any caught( ::cppu::getCaughtException() ); - ... - } - - Restrictions: - - use only for caught C++-UNO exceptions (UNOIDL defined) - - only as first statement in a catch block! - - don't do a C++ rethrow (throw;) after you have called this function - - call getCaughtException() just once in your catch block! - (function internally uses a C++ rethrow) - - @return - caught UNO exception - - @attention Caution! - This function is limited to the same C++ compiler runtime library. - E.g. for MSVC, this means that the catch handler code (the one - that calls getCaughtException()) needs to use the very same - C++ runtime library, e.g. msvcrt.dll as cppuhelper, e.g. - cppuhelper3MSC.dll and the bridge library, e.g. msci_uno.dll. - This is the case if all of them are compiled with the same - compiler version. - Background: The msci_uno.dll gets a rethrown exception out - of the internal msvcrt.dll thread local storage (tls). - Thus you _must_ not use this function if your code needs to run - in newer UDK versions without being recompiled, because those - newer UDK (-> OOo versions) potentially use newer C++ runtime - libraries which most often become incompatible! - - But this function ought to be usable for most OOo internal C++-UNO - development, because the whole OOo code base is compiled using the - same C++ compiler (and linking against one runtime library). -*/ -::com::sun::star::uno::Any SAL_CALL getCaughtException(); - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/factory.hxx b/cppuhelper/inc/cppuhelper/factory.hxx deleted file mode 100644 index f0d1a8407..000000000 --- a/cppuhelper/inc/cppuhelper/factory.hxx +++ /dev/null @@ -1,281 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_FACTORY_HXX_ -#define _CPPUHELPER_FACTORY_HXX_ - -#include <rtl/ustring.hxx> -#include <uno/dispatcher.h> -#include <rtl/unload.h> - -#include <com/sun/star/uno/XComponentContext.hpp> -#include <com/sun/star/lang/XSingleComponentFactory.hpp> -#include <com/sun/star/lang/XSingleServiceFactory.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/registry/XRegistryKey.hpp> - -//################################################################################################## - -#define COMPONENT_GETENV "component_getImplementationEnvironment" -#define COMPONENT_GETENVEXT "component_getImplementationEnvironmentExt" -#define COMPONENT_GETDESCRIPTION "component_getDescription" -#define COMPONENT_WRITEINFO "component_writeInfo" -#define COMPONENT_GETFACTORY "component_getFactory" - -typedef struct _uno_Environment uno_Environment; - -/** Function pointer declaration. - Function determines the environment of the component implementation, i.e. which compiler - compiled it. If the environment is NOT session specific (needs no additional context), - then this function should return the environment type name and leave ppEnv (to 0). - - @param ppEnvTypeName environment type name; string must be constant - @param ppEnv function returns its environment if the environment is session specific, - i.e. has special context -*/ -typedef void (SAL_CALL * component_getImplementationEnvironmentFunc)( - const sal_Char ** ppEnvTypeName, uno_Environment ** ppEnv ); - -/** Function pointer declaration. - Function determines the environment of the component implementation, i.e. the compiler. - If the environment is NOT session specific (needs no additional context), - then this function should return the environment type name and leave ppEnv (to 0). - - @param ppEnvTypeName environment type name; string must be a constant - @param ppEnv function returns an environment if the environment is session specific, - i.e. has special context - @param pImplName -*/ -typedef void (SAL_CALL * component_getImplementationEnvironmentExtFunc)( - sal_Char const ** ppEnvTypeName, - uno_Environment ** ppEnv, - sal_Char const * pImplName, - uno_Environment * pTargetEnv -); - -/** Function pointer declaration. - Function retrieves a component description. - - @return an XML formatted string containing a short component description - @deprecated -*/ -typedef const sal_Char * (SAL_CALL * component_getDescriptionFunc)(void); - -/** Function pointer declaration. - - @obsolete component_writeInfo should no longer be used in new components - - Function writes component registry info, at least writing the supported service names. - - @param pServiceManager - a service manager (the type is an XMultiServiceFactory that can be used - by the environment returned by component_getImplementationEnvironment) - @param pRegistryKey a registry key - (the type is XRegistryKey that can be used by the environment - returned by component_getImplementationEnvironment) - @return true if everything went fine -*/ -typedef sal_Bool (SAL_CALL * component_writeInfoFunc)( - void * pServiceManager, void * pRegistryKey ); - -/** Function pointer declaration. - Retrieves a factory to create component instances. - - @param pImplName - desired implementation name - @param pServiceManager - a service manager (the type is XMultiServiceFactory that can be used by the environment - returned by component_getImplementationEnvironment) - @param pRegistryKey - a registry key (the type is XRegistryKey that can be used by the environment - returned by component_getImplementationEnvironment) - @return acquired component factory - (the type is lang::XSingleComponentFactory or lang::XSingleServiceFactory to be used by the - environment returned by component_getImplementationEnvironment) -*/ -typedef void * (SAL_CALL * component_getFactoryFunc)( - const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey ); - -//################################################################################################## - -namespace cppu -{ - -/** Function pointer declaration. - Function creates component instance passing the component context to be used. - - @param xContext component context to be used - @return component instance -*/ -typedef ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >( - SAL_CALL * ComponentFactoryFunc)( - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > const & xContext ) - SAL_THROW( (::com::sun::star::uno::Exception) ); - -/** Creates a single component factory supporting the XSingleComponentFactory interface. - - @param fptr function pointer for instanciating the object - @param rImplementationName implementation name of service - @param rServiceNames supported services - @param pModCount for future extension (library unloading concept). -*/ -::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > -SAL_CALL createSingleComponentFactory( - ComponentFactoryFunc fptr, - ::rtl::OUString const & rImplementationName, - ::com::sun::star::uno::Sequence< ::rtl::OUString > const & rServiceNames, - rtl_ModuleCount * pModCount = 0 ) - SAL_THROW( () ); - -/** Creates a single service factory which holds the instance created only once. - - @param fptr function pointer for instanciating the object - @param rImplementationName implementation name of service - @param rServiceNames supported services - @param pModCount for future extension (library unloading concept). - - @see createSingleComponentFactory -*/ -::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > SAL_CALL -createOneInstanceComponentFactory( - ComponentFactoryFunc fptr, - ::rtl::OUString const & rImplementationName, - ::com::sun::star::uno::Sequence< ::rtl::OUString > const & rServiceNames, - rtl_ModuleCount * pModCount = 0 ) - SAL_THROW( () ); - -/** Deprecated. The type of the instanciate function used as argument of the create*Fcatory functions. - - @see createSingleFactory - @see createOneInstanceFactory - @deprecated -*/ -typedef ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >(SAL_CALL * ComponentInstantiation)( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager ); - -/** Deprecated. Creates a single service factory. - - @param rServiceManager the service manager used by the implementation. - @param rImplementationName the implementation name. An empty string is possible. - @param ComponentInstantiation the function pointer to create an object. - @param rServiceNames the service supported by the implementation. - @param pModCount for future extension (library unloading concept). - @return a factory that support the interfaces XServiceProvider, XServiceInfo - XSingleServiceFactory and XComponent. - - @see createOneInstanceFactory - @deprecated -*/ -::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL -createSingleFactory( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager, - const ::rtl::OUString & rImplementationName, - ComponentInstantiation pCreateFunction, - const ::com::sun::star::uno::Sequence< ::rtl::OUString > & rServiceNames, - rtl_ModuleCount * pModCount = 0 ) - SAL_THROW( () ); - -/** Deprecated. Creates a factory wrapping another one. - This means the methods of the interfaces XServiceProvider, XServiceInfo and - XSingleServiceFactory are forwarded. - @attention - The XComponent interface is not supported! - - @param rServiceManager the service manager used by the implementation. - @param xSingleServiceFactory the wrapped service factory. - @return a factory that support the interfaces XServiceProvider, XServiceInfo - XSingleServiceFactory. - - @see createSingleFactory - @deprecated -*/ -::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL -createFactoryProxy( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager, - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > & rFactory ) - SAL_THROW( () ); - -/** Deprecated. Creates a single service factory which holds the instance created only once. - - @param rServiceManager the service manager used by the implementation. - @param rImplementationName the implementation name. An empty string is possible. - @param ComponentInstantiation the function pointer to create an object. - @param rServiceNames the service supported by the implementation. - @param pModCount for future extension (library unloading concept). - @return a factory that support the interfaces XServiceProvider, XServiceInfo - XSingleServiceFactory and XComponent. - - @see createSingleFactory - @deprecated -*/ -::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL -createOneInstanceFactory( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager, - const ::rtl::OUString & rComponentName, - ComponentInstantiation pCreateFunction, - const ::com::sun::star::uno::Sequence< ::rtl::OUString > & rServiceNames, - rtl_ModuleCount * pModCount = 0 ) - SAL_THROW( () ); - -/** Deprecated. Creates a single service factory based on a registry. - - @param rServiceManager the service manager used by the implementation. - @param rImplementationName the implementation name. An empty string is possible. - @param rImplementationKey the registry key of the implementation section. - @return a factory that support the interfaces XServiceProvider, XServiceInfo - XSingleServiceFactory and XComponent. - @deprecated -*/ -::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL createSingleRegistryFactory( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager, - const ::rtl::OUString & rImplementationName, - const ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > & rImplementationKey ) - SAL_THROW( () ); - -/** Deprecated. Creates a single service factory which holds the instance created only once - based on a registry. - - @param rServiceManager the service manager used by the implementation. - @param rImplementationName the implementation name. An empty string is possible. - @param rImplementationKey the registry key of the implementation section. - @return a factory that support the interfaces XServiceProvider, XServiceInfo - XSingleServiceFactory and XComponent. - - @see createSingleRegistryFactory - @deprecated -*/ -::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleServiceFactory > SAL_CALL createOneInstanceRegistryFactory( - const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & rServiceManager, - const ::rtl::OUString & rComponentName, - const ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > & rImplementationKey ) - SAL_THROW( () ); - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/findsofficepath.h b/cppuhelper/inc/cppuhelper/findsofficepath.h deleted file mode 100644 index 8a7027ebf..000000000 --- a/cppuhelper/inc/cppuhelper/findsofficepath.h +++ /dev/null @@ -1,48 +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. - * - ************************************************************************/ - -#ifndef INCLUDED_CPPUHELPER_FINDSOFFICEPATH_H -#define INCLUDED_CPPUHELPER_FINDSOFFICEPATH_H - -#include "sal/config.h" - -#if defined __cplusplus -extern "C" { -#endif - -/* Internal function to find an soffice installation. - Not to be called by client code */ -char const* cppuhelper_detail_findSofficePath(void); - -#if defined __cplusplus -} -#endif - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase.hxx b/cppuhelper/inc/cppuhelper/implbase.hxx deleted file mode 100644 index 14cdde9bd..000000000 --- a/cppuhelper/inc/cppuhelper/implbase.hxx +++ /dev/null @@ -1,300 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE_HXX_ -#define _CPPUHELPER_IMPLBASE_HXX_ - -#include <osl/mutex.hxx> -#include <cppuhelper/weak.hxx> -#include <cppuhelper/weakagg.hxx> -#include <rtl/instance.hxx> - -#include <com/sun/star/lang/XTypeProvider.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> - -/* This header should not be used anymore. - @deprecated -*/ - -namespace cppu -{ - -/** Struct used for inline template implementation helpers: type entries. - Not for public use. - @internal -*/ -struct Type_Offset -{ - /** binary offset of vtable pointer from object base - */ - sal_Int32 nOffset; - /** interface type description of interface entry - */ - typelib_InterfaceTypeDescription * pTD; -}; -/** Struct used for inline template implementation helpers: class data of implementation. - Not for public use. - @internal -*/ -struct ClassDataBase -{ - /** determines whether the class data has been statically initialized - */ - sal_Bool bOffsetsInit; - /** length of static array ClassDataN - */ - sal_Int32 nType2Offset; - - /** class code determines which standard types are supported (and returned on - com.sun.star.lang.XTypeProvider::getTypes()) by the helper: - - - 1 -- com.sun.star.uno.XWeak - - 2 -- com.sun.star.uno.XWeak, com.sun.star.uno.XAggregation - - 3 -- com.sun.star.uno.XWeak, com.sun.star.uno.XAggregation, com.sun.star.lang.XComponent - - 4 -- com.sun.star.uno.XWeak, com.sun.star.lang.XComponent - */ - sal_Int32 nClassCode; - - /** pointer to types sequence (com.sun.star.lang.XTypeProvider) - */ - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > * pTypes; - /** pointer to class id (com.sun.star.lang.XTypeProvider) - */ - ::com::sun::star::uno::Sequence< sal_Int8 > * pId; - - /** def ctor - */ - ClassDataBase() SAL_THROW( () ); - /** class code ctor - - @param nClassCode class code, see ClassDataBase::nClassCode - */ - ClassDataBase( sal_Int32 nClassCode ) SAL_THROW( () ); - /** dtor - */ - ~ClassDataBase() SAL_THROW( () ); -}; -/** Struct used for inline template implementation helpers: - There will be versions of this struct with varying arType2Offset[] array sizes, each of which - is binary compatible with this one to be casted and used uniform. The size of the varying array - is set in ClassDataBase::nType2Offset (base class). - Not for public use. - @internal -*/ -struct ClassData : public ClassDataBase -{ - /** type entries array - */ - Type_Offset arType2Offset[1]; - - /** init call for supporting com.sun.star.lang.XTypeProvider - */ - void SAL_CALL initTypeProvider() SAL_THROW( () ); - /** initial writing type offsets for vtables - - @param rType type of interface - @param nOffset offset to vtable entry - */ - void SAL_CALL writeTypeOffset( const ::com::sun::star::uno::Type & rType, sal_Int32 nOffset ) - SAL_THROW( () ); - - /** Queries for an interface. - - @param rType demanded interface type - @pBase base this pointer related when writing type offsets (writeTypeOffset()) - @return demanded interface or empty any - */ - ::com::sun::star::uno::Any SAL_CALL query( - const ::com::sun::star::uno::Type & rType, ::com::sun::star::lang::XTypeProvider * pBase ) - SAL_THROW( () ); - /** Gets the types for supporting com.sun.star.lang.XTypeProvider - - @return sequence of types supported - */ - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() - SAL_THROW( () ); - /** Gets the class id of implementation supporting com.sun.star.lang.XTypeProvider - - @return class identifier (sequence< byte >) - */ - ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() - SAL_THROW( () ); -}; - -/** Shared mutex for implementation helper initialization. - Not for public use. - @internal -*/ -::osl::Mutex & SAL_CALL getImplHelperInitMutex(void) SAL_THROW( () ); -} - -// -// settle down beavis, here comes the macro template hell :] -// - -//================================================================================================== - -/** Implementation helper macros - Not for common use. There are expanded forms of the macro usage in implbaseN.hxx/compbaseN.hxx. - So there is commonly no need to use these macros. Though, you may need to implement more than - 12 interfaces. Then you have to declare something like the following in your headers - (where N is your demanded number of interfaces): - - #define __IFC3 Ifc1, Ifc2, Ifc3, ... up to N - #define __CLASS_IFC3 class Ifc1, class Ifc2, class Ifc3, ... up to N - #define __PUBLIC_IFC3 public Ifc1, public Ifc2, public Ifc3, ... up to N - __DEF_IMPLHELPER_PRE( N ) - __IFC_WRITEOFFSET( 1 ) __IFC_WRITEOFFSET( 2 ) __IFC_WRITEOFFSET( 3 ), ... up to N - __DEF_IMPLHELPER_POST( N ) - - @internal -*/ -#define __DEF_IMPLHELPER_PRE( N ) \ -namespace cppu \ -{ \ -struct ClassData##N : public ClassDataBase \ -{ \ - Type_Offset arType2Offset[ N ]; \ - ClassData##N( sal_Int32 nInClassCode ) SAL_THROW( () ) \ - : ClassDataBase( nInClassCode ) \ - {} \ -}; \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE ImplHelperBase##N \ - : public ::com::sun::star::lang::XTypeProvider \ - , __PUBLIC_IFC##N \ -{ \ -protected: \ - ClassData & SAL_CALL getClassData( ClassDataBase & s_aCD ) SAL_THROW( () ) \ - { \ - ClassData & rCD = * static_cast< ClassData * >( &s_aCD ); \ - if (! rCD.bOffsetsInit) \ - { \ - ::osl::MutexGuard aGuard( getImplHelperInitMutex() ); \ - if (! rCD.bOffsetsInit) \ - { \ - char * pBase = (char *)this; -/** Implementation helper macro: have a look at __DEF_IMPLHELPER_PRE - @internal -*/ -#define __IFC_WRITEOFFSET( N ) \ - rCD.writeTypeOffset( ::getCppuType( (const ::com::sun::star::uno::Reference< Ifc##N > *)0 ), \ - (char *)(Ifc##N *)this - pBase ); -/** Implementation helper macro: have a look at __DEF_IMPLHELPER_PRE - @internal -*/ -#define __DEF_IMPLHELPER_POST_A( N ) \ - rCD.bOffsetsInit = sal_True; \ - } \ - } \ - return rCD; \ - } \ -}; \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE ImplHelper##N \ - : public ImplHelperBase##N< __IFC##N > \ -{ \ - static ClassData##N s_aCD; \ -public: \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return this->getClassData( s_aCD ).query( rType, (ImplHelperBase##N< __IFC##N > *)this ); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return this->getClassData( s_aCD ).getTypes(); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return this->getClassData( s_aCD ).getImplementationId(); } \ -}; \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE WeakImplHelper##N \ - : public ::cppu::OWeakObject \ - , public ImplHelperBase##N< __IFC##N > \ -{ \ - static ClassData##N s_aCD; \ -public: \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { \ - ::com::sun::star::uno::Any aRet( this->getClassData( s_aCD ).query( rType, (ImplHelperBase##N< __IFC##N > *)this ) ); \ - return (aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType )); \ - } \ - virtual void SAL_CALL acquire() throw () \ - { OWeakObject::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { OWeakObject::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return this->getClassData( s_aCD ).getTypes(); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return this->getClassData( s_aCD ).getImplementationId(); } \ -}; \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE WeakAggImplHelper##N \ - : public ::cppu::OWeakAggObject \ - , public ImplHelperBase##N< __IFC##N > \ -{ \ - static ClassData##N s_aCD; \ -public: \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return OWeakAggObject::queryInterface( rType ); } \ - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { \ - ::com::sun::star::uno::Any aRet( this->getClassData( s_aCD ).query( rType, (ImplHelperBase##N< __IFC##N > *)this ) ); \ - return (aRet.hasValue() ? aRet : OWeakAggObject::queryAggregation( rType )); \ - } \ - virtual void SAL_CALL acquire() throw () \ - { OWeakAggObject::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { OWeakAggObject::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return this->getClassData( s_aCD ).getTypes(); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return this->getClassData( s_aCD ).getImplementationId(); } \ -}; - -/** Implementation helper macro: have a look at __DEF_IMPLHELPER_PRE - @internal -*/ -#define __DEF_IMPLHELPER_POST_B( N ) \ -template< __CLASS_IFC##N > \ -ClassData##N ImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 0 ); \ -template< __CLASS_IFC##N > \ -ClassData##N WeakImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 1 ); \ -template< __CLASS_IFC##N > \ -ClassData##N WeakAggImplHelper##N< __IFC##N >::s_aCD = ClassData##N( 2 ); -/** Implementation helper macro: have a look at __DEF_IMPLHELPER_PRE - @internal -*/ -#define __DEF_IMPLHELPER_POST_C( N ) \ -} -//================================================================================================== -/** Implementation helper macro: have a look at __DEF_IMPLHELPER_PRE - @internal -*/ -#define __DEF_IMPLHELPER_POST( N ) \ -__DEF_IMPLHELPER_POST_A( N ) \ -__DEF_IMPLHELPER_POST_B( N ) \ -__DEF_IMPLHELPER_POST_C( N ) -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase1.hxx b/cppuhelper/inc/cppuhelper/implbase1.hxx deleted file mode 100644 index c7de4ad26..000000000 --- a/cppuhelper/inc/cppuhelper/implbase1.hxx +++ /dev/null @@ -1,302 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE1_HXX_ -#define _CPPUHELPER_IMPLBASE1_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> -#include <com/sun/star/uno/XComponentContext.hpp> - -namespace cppu -{ - /** @internal */ - struct class_data1 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 1 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Impl > struct ImplClassData1 - { - class_data* operator ()() - { - static class_data1 s_cd = - { - 1 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1 > - class SAL_NO_VTABLE ImplHelper1 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1 - { - struct cd : public rtl::StaticAggregate< class_data, ImplClassData1 < Ifc1, ImplHelper1<Ifc1> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - - These classes are used when you implement your UNO component. - WeakImplHelper1 till WeakImplHelper12 can be used when you want - to implement 1 till 12 interfaces in your component. - */ - template< class Ifc1 > - class SAL_NO_VTABLE WeakImplHelper1 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, WeakImplHelper1< Ifc1 > > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1 > - class SAL_NO_VTABLE WeakAggImplHelper1 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, WeakAggImplHelper1< Ifc1 > > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1 > - class SAL_NO_VTABLE ImplInheritanceHelper1 - : public BaseClass - , public Ifc1 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, ImplInheritanceHelper1< BaseClass, Ifc1 > > > {}; - protected: -#if (defined __SUNPRO_CC && __SUNPRO_CC <= 0x550) - // Hack, to get comphelper::service_decl to work for non-trivial impl classes - ImplInheritanceHelper1( com::sun::star::uno::Sequence<com::sun::star::uno::Any> const& args, - com::sun::star::uno::Reference<com::sun::star::uno::XComponentContext> const& xContext ) : BaseClass(args,xContext) {} -#endif - template< typename T1 > - explicit ImplInheritanceHelper1(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper1(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper1( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper1( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper1( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper1( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper1() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1 > - class SAL_NO_VTABLE AggImplInheritanceHelper1 - : public BaseClass - , public Ifc1 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData1< Ifc1, AggImplInheritanceHelper1< BaseClass, Ifc1 > > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper1(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper1(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper1( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper1( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper1( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper1( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper1() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase10.hxx b/cppuhelper/inc/cppuhelper/implbase10.hxx deleted file mode 100644 index 26ea75257..000000000 --- a/cppuhelper/inc/cppuhelper/implbase10.hxx +++ /dev/null @@ -1,303 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE10_HXX_ -#define _CPPUHELPER_IMPLBASE10_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data10 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 10 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Ifc6, typename Ifc7, typename Ifc8, typename Ifc9, typename Ifc10, typename Impl > - struct ImplClassData10 - { - class_data* operator ()() - { - static class_data10 s_cd = - { - 10 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, - { { Ifc5::static_type }, ((sal_IntPtr)(Ifc5 *) (Impl *) 16) - 16 }, - { { Ifc6::static_type }, ((sal_IntPtr)(Ifc6 *) (Impl *) 16) - 16 }, - { { Ifc7::static_type }, ((sal_IntPtr)(Ifc7 *) (Impl *) 16) - 16 }, - { { Ifc8::static_type }, ((sal_IntPtr)(Ifc8 *) (Impl *) 16) - 16 }, - { { Ifc9::static_type }, ((sal_IntPtr)(Ifc9 *) (Impl *) 16) - 16 }, - { { Ifc10::static_type }, ((sal_IntPtr)(Ifc10 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > - class SAL_NO_VTABLE ImplHelper10 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, ImplHelper10<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > - class SAL_NO_VTABLE WeakImplHelper10 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, WeakImplHelper10<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > - class SAL_NO_VTABLE WeakAggImplHelper10 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, WeakAggImplHelper10<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > - class SAL_NO_VTABLE ImplInheritanceHelper10 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, ImplInheritanceHelper10<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper10(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper10(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper10( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper10( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper10( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper10( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper10() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10 > - class SAL_NO_VTABLE AggImplInheritanceHelper10 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData10< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, AggImplInheritanceHelper10<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper10(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper10(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper10( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper10( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper10( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper10( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper10() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase11.hxx b/cppuhelper/inc/cppuhelper/implbase11.hxx deleted file mode 100644 index c262cd6ae..000000000 --- a/cppuhelper/inc/cppuhelper/implbase11.hxx +++ /dev/null @@ -1,304 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE11_HXX_ -#define _CPPUHELPER_IMPLBASE11_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data11 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 11 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Ifc6, typename Ifc7, typename Ifc8, typename Ifc9, typename Ifc10, typename Ifc11, typename Impl > - struct ImplClassData11 - { - class_data* operator ()() - { - static class_data11 s_cd = - { - 11 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, - { { Ifc5::static_type }, ((sal_IntPtr)(Ifc5 *) (Impl *) 16) - 16 }, - { { Ifc6::static_type }, ((sal_IntPtr)(Ifc6 *) (Impl *) 16) - 16 }, - { { Ifc7::static_type }, ((sal_IntPtr)(Ifc7 *) (Impl *) 16) - 16 }, - { { Ifc8::static_type }, ((sal_IntPtr)(Ifc8 *) (Impl *) 16) - 16 }, - { { Ifc9::static_type }, ((sal_IntPtr)(Ifc9 *) (Impl *) 16) - 16 }, - { { Ifc10::static_type }, ((sal_IntPtr)(Ifc10 *) (Impl *) 16) - 16 }, - { { Ifc11::static_type }, ((sal_IntPtr)(Ifc11 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 > - class SAL_NO_VTABLE ImplHelper11 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData11< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, ImplHelper11<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 > - class SAL_NO_VTABLE WeakImplHelper11 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData11< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, WeakImplHelper11<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 > - class SAL_NO_VTABLE WeakAggImplHelper11 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData11< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, WeakAggImplHelper11<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 > - class SAL_NO_VTABLE ImplInheritanceHelper11 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData11< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, ImplInheritanceHelper11<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper11(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper11(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper11( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper11( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper11( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper11( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper11() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11 > - class SAL_NO_VTABLE AggImplInheritanceHelper11 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData11< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, AggImplInheritanceHelper11<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper11(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper11(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper11( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper11( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper11( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper11( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper11() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase12.hxx b/cppuhelper/inc/cppuhelper/implbase12.hxx deleted file mode 100644 index a4ef396c0..000000000 --- a/cppuhelper/inc/cppuhelper/implbase12.hxx +++ /dev/null @@ -1,305 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE12_HXX_ -#define _CPPUHELPER_IMPLBASE12_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data12 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 12 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Ifc6, typename Ifc7, typename Ifc8, typename Ifc9, typename Ifc10, typename Ifc11, typename Ifc12, typename Impl > - struct ImplClassData12 - { - class_data* operator ()() - { - static class_data12 s_cd = - { - 12 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, - { { Ifc5::static_type }, ((sal_IntPtr)(Ifc5 *) (Impl *) 16) - 16 }, - { { Ifc6::static_type }, ((sal_IntPtr)(Ifc6 *) (Impl *) 16) - 16 }, - { { Ifc7::static_type }, ((sal_IntPtr)(Ifc7 *) (Impl *) 16) - 16 }, - { { Ifc8::static_type }, ((sal_IntPtr)(Ifc8 *) (Impl *) 16) - 16 }, - { { Ifc9::static_type }, ((sal_IntPtr)(Ifc9 *) (Impl *) 16) - 16 }, - { { Ifc10::static_type }, ((sal_IntPtr)(Ifc10 *) (Impl *) 16) - 16 }, - { { Ifc11::static_type }, ((sal_IntPtr)(Ifc11 *) (Impl *) 16) - 16 }, - { { Ifc12::static_type }, ((sal_IntPtr)(Ifc12 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > - class SAL_NO_VTABLE ImplHelper12 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, ImplHelper12<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > - class SAL_NO_VTABLE WeakImplHelper12 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, WeakImplHelper12<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > - class SAL_NO_VTABLE WeakAggImplHelper12 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, WeakAggImplHelper12<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > - class SAL_NO_VTABLE ImplInheritanceHelper12 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, ImplInheritanceHelper12<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper12(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper12(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper12( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper12( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper12( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper12( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper12() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9, class Ifc10, class Ifc11, class Ifc12 > - class SAL_NO_VTABLE AggImplInheritanceHelper12 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9, public Ifc10, public Ifc11, public Ifc12 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData12< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12, AggImplInheritanceHelper12<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, Ifc10, Ifc11, Ifc12> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper12(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper12(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper12( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper12( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper12( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper12( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper12() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase2.hxx b/cppuhelper/inc/cppuhelper/implbase2.hxx deleted file mode 100644 index 8aa6fb4ce..000000000 --- a/cppuhelper/inc/cppuhelper/implbase2.hxx +++ /dev/null @@ -1,294 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE2_HXX_ -#define _CPPUHELPER_IMPLBASE2_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data2 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 2 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Impl > struct ImplClassData2 - { - class_data* operator ()() - { - static class_data2 s_cd = - { - 2 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your base class defines method implementations, acquire(), release() and delegates incoming - queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2 > - class SAL_NO_VTABLE ImplHelper2 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, ImplHelper2<Ifc1, Ifc2> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2 > - class SAL_NO_VTABLE WeakImplHelper2 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, WeakImplHelper2<Ifc1, Ifc2> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2 > - class SAL_NO_VTABLE WeakAggImplHelper2 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, WeakAggImplHelper2<Ifc1, Ifc2> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2 > - class SAL_NO_VTABLE ImplInheritanceHelper2 - : public BaseClass - , public Ifc1, public Ifc2 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, ImplInheritanceHelper2<BaseClass, Ifc1, Ifc2> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper2(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper2(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper2( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper2( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper2( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper2( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper2() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2 > - class SAL_NO_VTABLE AggImplInheritanceHelper2 - : public BaseClass - , public Ifc1, public Ifc2 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData2 < Ifc1, Ifc2, AggImplInheritanceHelper2<BaseClass, Ifc1, Ifc2> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper2(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper2(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper2( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper2( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper2( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper2( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper2() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase3.hxx b/cppuhelper/inc/cppuhelper/implbase3.hxx deleted file mode 100644 index e3cca581f..000000000 --- a/cppuhelper/inc/cppuhelper/implbase3.hxx +++ /dev/null @@ -1,296 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE3_HXX_ -#define _CPPUHELPER_IMPLBASE3_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data3 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 3 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Impl > struct ImplClassData3 - { - class_data* operator ()() - { - static class_data3 s_cd = - { - 3 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3 > - class SAL_NO_VTABLE ImplHelper3 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, ImplHelper3<Ifc1, Ifc2, Ifc3> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3 > - class SAL_NO_VTABLE WeakImplHelper3 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, WeakImplHelper3<Ifc1, Ifc2, Ifc3> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3 > - class SAL_NO_VTABLE WeakAggImplHelper3 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, WeakAggImplHelper3<Ifc1, Ifc2, Ifc3> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - also has to have a default ctor. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3 > - class SAL_NO_VTABLE ImplInheritanceHelper3 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, ImplInheritanceHelper3<BaseClass, Ifc1, Ifc2, Ifc3> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper3(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper3(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper3( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper3( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper3( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper3( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper3() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3 > - class SAL_NO_VTABLE AggImplInheritanceHelper3 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData3 < Ifc1, Ifc2, Ifc3, AggImplInheritanceHelper3<BaseClass, Ifc1, Ifc2, Ifc3> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper3(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper3(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper3( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper3( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper3( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper3( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper3() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase4.hxx b/cppuhelper/inc/cppuhelper/implbase4.hxx deleted file mode 100644 index c982fca2a..000000000 --- a/cppuhelper/inc/cppuhelper/implbase4.hxx +++ /dev/null @@ -1,297 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE4_HXX_ -#define _CPPUHELPER_IMPLBASE4_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data4 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 4 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Impl > - struct ImplClassData4 - { - class_data* operator ()() - { - static class_data4 s_cd = - { - 4 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 > - class SAL_NO_VTABLE ImplHelper4 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, ImplHelper4<Ifc1, Ifc2, Ifc3, Ifc4> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 > - class SAL_NO_VTABLE WeakImplHelper4 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, WeakImplHelper4<Ifc1, Ifc2, Ifc3, Ifc4> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4 > - class SAL_NO_VTABLE WeakAggImplHelper4 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, WeakAggImplHelper4<Ifc1, Ifc2, Ifc3, Ifc4> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4 > - class SAL_NO_VTABLE ImplInheritanceHelper4 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, ImplInheritanceHelper4<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper4(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper4(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper4( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper4( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper4( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper4( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper4() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4 > - class SAL_NO_VTABLE AggImplInheritanceHelper4 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData4 < Ifc1, Ifc2, Ifc3, Ifc4, AggImplInheritanceHelper4<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper4(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper4(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper4( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper4( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper4( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper4( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper4() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase5.hxx b/cppuhelper/inc/cppuhelper/implbase5.hxx deleted file mode 100644 index c2eff30c0..000000000 --- a/cppuhelper/inc/cppuhelper/implbase5.hxx +++ /dev/null @@ -1,298 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE5_HXX_ -#define _CPPUHELPER_IMPLBASE5_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data5 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 5 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Impl > - struct ImplClassData5 - { - class_data* operator ()() - { - static class_data5 s_cd = - { - 5 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, - { { Ifc5::static_type }, ((sal_IntPtr)(Ifc5 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 > - class SAL_NO_VTABLE ImplHelper5 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, ImplHelper5<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 > - class SAL_NO_VTABLE WeakImplHelper5 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, WeakImplHelper5<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 > - class SAL_NO_VTABLE WeakAggImplHelper5 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, WeakAggImplHelper5<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 > - class SAL_NO_VTABLE ImplInheritanceHelper5 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, ImplInheritanceHelper5<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper5(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper5(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper5( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper5( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper5( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper5( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper5() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5 > - class SAL_NO_VTABLE AggImplInheritanceHelper5 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData5 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, AggImplInheritanceHelper5<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper5(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper5(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper5( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper5( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper5( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper5( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper5() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase6.hxx b/cppuhelper/inc/cppuhelper/implbase6.hxx deleted file mode 100644 index ca1181314..000000000 --- a/cppuhelper/inc/cppuhelper/implbase6.hxx +++ /dev/null @@ -1,299 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE6_HXX_ -#define _CPPUHELPER_IMPLBASE6_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data6 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 6 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Ifc6, typename Impl > - struct ImplClassData6 - { - class_data* operator ()() - { - static class_data6 s_cd = - { - 6 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, - { { Ifc5::static_type }, ((sal_IntPtr)(Ifc5 *) (Impl *) 16) - 16 }, - { { Ifc6::static_type }, ((sal_IntPtr)(Ifc6 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 > - class SAL_NO_VTABLE ImplHelper6 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData6 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, ImplHelper6<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 > - class SAL_NO_VTABLE WeakImplHelper6 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData6 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, WeakImplHelper6<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 > - class SAL_NO_VTABLE WeakAggImplHelper6 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData6 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, WeakAggImplHelper6<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 > - class SAL_NO_VTABLE ImplInheritanceHelper6 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData6 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, ImplInheritanceHelper6<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper6(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper6(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper6( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper6( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper6( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper6( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper6() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6 > - class SAL_NO_VTABLE AggImplInheritanceHelper6 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData6 < Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, AggImplInheritanceHelper6<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper6(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper6(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper6( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper6( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper6( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper6( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper6() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase7.hxx b/cppuhelper/inc/cppuhelper/implbase7.hxx deleted file mode 100644 index 620e0e0a5..000000000 --- a/cppuhelper/inc/cppuhelper/implbase7.hxx +++ /dev/null @@ -1,301 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE7_HXX_ -#define _CPPUHELPER_IMPLBASE7_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data7 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 7 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Ifc6, typename Ifc7, typename Impl > - struct ImplClassData7 - { - class_data* operator ()() - { - static class_data7 s_cd = - { - 7 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, - { { Ifc5::static_type }, ((sal_IntPtr)(Ifc5 *) (Impl *) 16) - 16 }, - { { Ifc6::static_type }, ((sal_IntPtr)(Ifc6 *) (Impl *) 16) - 16 }, - { { Ifc7::static_type }, ((sal_IntPtr)(Ifc7 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 > - class SAL_NO_VTABLE ImplHelper7 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData7< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, ImplHelper7<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 > - class SAL_NO_VTABLE WeakImplHelper7 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData7< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, WeakImplHelper7<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 > - class SAL_NO_VTABLE WeakAggImplHelper7 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData7< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, WeakAggImplHelper7<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 > - class SAL_NO_VTABLE ImplInheritanceHelper7 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData7< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, ImplInheritanceHelper7<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper7(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper7(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper7( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper7( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper7( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper7( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper7() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7 > - class SAL_NO_VTABLE AggImplInheritanceHelper7 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData7< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, AggImplInheritanceHelper7<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper7(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper7(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper7( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper7( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper7( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper7( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper7() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase8.hxx b/cppuhelper/inc/cppuhelper/implbase8.hxx deleted file mode 100644 index 31bda399b..000000000 --- a/cppuhelper/inc/cppuhelper/implbase8.hxx +++ /dev/null @@ -1,301 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE8_HXX_ -#define _CPPUHELPER_IMPLBASE8_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data8 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 8 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Ifc6, typename Ifc7, typename Ifc8, typename Impl > - struct ImplClassData8 - { - class_data* operator ()() - { - static class_data8 s_cd = - { - 8 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, - { { Ifc5::static_type }, ((sal_IntPtr)(Ifc5 *) (Impl *) 16) - 16 }, - { { Ifc6::static_type }, ((sal_IntPtr)(Ifc6 *) (Impl *) 16) - 16 }, - { { Ifc7::static_type }, ((sal_IntPtr)(Ifc7 *) (Impl *) 16) - 16 }, - { { Ifc8::static_type }, ((sal_IntPtr)(Ifc8 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 > - class SAL_NO_VTABLE ImplHelper8 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData8< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, ImplHelper8<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 > - class SAL_NO_VTABLE WeakImplHelper8 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData8< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, WeakImplHelper8<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 > - class SAL_NO_VTABLE WeakAggImplHelper8 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData8< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, WeakAggImplHelper8<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 > - class SAL_NO_VTABLE ImplInheritanceHelper8 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData8< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, ImplInheritanceHelper8<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper8(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper8(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper8( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper8( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper8( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper8( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper8() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8 > - class SAL_NO_VTABLE AggImplInheritanceHelper8 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData8< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, AggImplInheritanceHelper8<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper8(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper8(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper8( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper8( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper8( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper8( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper8() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase9.hxx b/cppuhelper/inc/cppuhelper/implbase9.hxx deleted file mode 100644 index 911caac08..000000000 --- a/cppuhelper/inc/cppuhelper/implbase9.hxx +++ /dev/null @@ -1,303 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE9_HXX_ -#define _CPPUHELPER_IMPLBASE9_HXX_ - -#include <cppuhelper/implbase_ex.hxx> -#include <rtl/instance.hxx> - -namespace cppu -{ - /** @internal */ - struct class_data9 - { - sal_Int16 m_nTypes; - sal_Bool m_storedTypeRefs; - sal_Bool m_storedId; - sal_Int8 m_id[ 16 ]; - type_entry m_typeEntries[ 9 + 1 ]; - }; - - /** @internal */ - template< typename Ifc1, typename Ifc2, typename Ifc3, typename Ifc4, typename Ifc5, typename Ifc6, typename Ifc7, typename Ifc8, typename Ifc9, typename Impl > - struct ImplClassData9 - { - class_data* operator ()() - { - static class_data9 s_cd = - { - 9 +1, sal_False, sal_False, - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, - { - { { Ifc1::static_type }, ((sal_IntPtr)(Ifc1 *) (Impl *) 16) - 16 }, - { { Ifc2::static_type }, ((sal_IntPtr)(Ifc2 *) (Impl *) 16) - 16 }, - { { Ifc3::static_type }, ((sal_IntPtr)(Ifc3 *) (Impl *) 16) - 16 }, - { { Ifc4::static_type }, ((sal_IntPtr)(Ifc4 *) (Impl *) 16) - 16 }, - { { Ifc5::static_type }, ((sal_IntPtr)(Ifc5 *) (Impl *) 16) - 16 }, - { { Ifc6::static_type }, ((sal_IntPtr)(Ifc6 *) (Impl *) 16) - 16 }, - { { Ifc7::static_type }, ((sal_IntPtr)(Ifc7 *) (Impl *) 16) - 16 }, - { { Ifc8::static_type }, ((sal_IntPtr)(Ifc8 *) (Impl *) 16) - 16 }, - { { Ifc9::static_type }, ((sal_IntPtr)(Ifc9 *) (Impl *) 16) - 16 }, - { { ::com::sun::star::lang::XTypeProvider::static_type }, ((sal_IntPtr)(::com::sun::star::lang::XTypeProvider *) (Impl *) 16) - 16 } - } - }; - return reinterpret_cast< class_data * >(&s_cd); - } - }; - - - /** Implementation helper implementing interface ::com::sun::star::lang::XTypeProvider - and method XInterface::queryInterface(), but no reference counting. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s) including acquire()/ - release() and delegates incoming queryInterface() calls to this base class. - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 > - class SAL_NO_VTABLE ImplHelper9 - : public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData9< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, ImplHelper9<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_query( rType, cd::get(), this ); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakObject). - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 > - class SAL_NO_VTABLE WeakImplHelper9 - : public OWeakObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData9< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, WeakImplHelper9<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_query( rType, cd::get(), this, (OWeakObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface which supports weak mechanism to be held weakly - (supporting ::com::sun::star::uno::XWeak thru ::cppu::OWeakAggObject). - In addition, it supports also aggregation meaning object of this class can be aggregated - (::com::sun::star::uno::XAggregation thru ::cppu::OWeakAggObject). - If a delegator is set (this object is aggregated), then incoming queryInterface() - calls are delegated to the delegator object. If the delegator does not support the - demanded interface, it calls queryAggregation() on its aggregated objects. - - @derive - Inherit from this class giving your interface(s) to be implemented as template argument(s). - Your sub class defines method implementations for these interface(s). - */ - template< class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 > - class SAL_NO_VTABLE WeakAggImplHelper9 - : public OWeakAggObject - , public ::com::sun::star::lang::XTypeProvider - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData9< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, WeakAggImplHelper9<Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9> > > {}; - public: - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return OWeakAggObject::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_queryAgg( rType, cd::get(), this, (OWeakAggObject *)this ); } - virtual void SAL_CALL acquire() throw () - { OWeakAggObject::acquire(); } - virtual void SAL_CALL release() throw () - { OWeakAggObject::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return WeakAggImplHelper_getTypes( cd::get() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire() and release() calls are delegated to the BaseClass. Upon queryInterface(), - if a demanded interface is not supported by this class directly, the request is - delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface - and ::com::sun::star::lang::XTypeProvider are implemented properly. The - BaseClass must have at least one ctor that can be called with six or - fewer arguments, of which none is of non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 > - class SAL_NO_VTABLE ImplInheritanceHelper9 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData9< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, ImplInheritanceHelper9<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9> > > {}; - protected: - template< typename T1 > - explicit ImplInheritanceHelper9(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - ImplInheritanceHelper9(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - ImplInheritanceHelper9( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - ImplInheritanceHelper9( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - ImplInheritanceHelper9( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - ImplInheritanceHelper9( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - ImplInheritanceHelper9() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryInterface( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; - /** Implementation helper implementing interfaces ::com::sun::star::lang::XTypeProvider and - ::com::sun::star::uno::XInterface inherting from a BaseClass. - All acquire(), release() and queryInterface() calls are delegated to the BaseClass. - Upon queryAggregation(), if a demanded interface is not supported by this class directly, - the request is delegated to the BaseClass. - - @attention - The BaseClass has to be complete in a sense, that ::com::sun::star::uno::XInterface, - ::com::sun::star::uno::XAggregation and ::com::sun::star::lang::XTypeProvider - are implemented properly. The BaseClass must have at least one ctor - that can be called with six or fewer arguments, of which none is of - non-const reference type. - - @derive - Inherit from this class giving your additional interface(s) to be implemented as - template argument(s). Your sub class defines method implementations for these interface(s). - */ - template< class BaseClass, class Ifc1, class Ifc2, class Ifc3, class Ifc4, class Ifc5, class Ifc6, class Ifc7, class Ifc8, class Ifc9 > - class SAL_NO_VTABLE AggImplInheritanceHelper9 - : public BaseClass - , public Ifc1, public Ifc2, public Ifc3, public Ifc4, public Ifc5, public Ifc6, public Ifc7, public Ifc8, public Ifc9 - { - /** @internal */ - struct cd : public rtl::StaticAggregate< class_data, ImplClassData9< Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9, AggImplInheritanceHelper9<BaseClass, Ifc1, Ifc2, Ifc3, Ifc4, Ifc5, Ifc6, Ifc7, Ifc8, Ifc9> > > {}; - protected: - template< typename T1 > - explicit AggImplInheritanceHelper9(T1 const & arg1): BaseClass(arg1) {} - template< typename T1, typename T2 > - AggImplInheritanceHelper9(T1 const & arg1, T2 const & arg2): - BaseClass(arg1, arg2) {} - template< typename T1, typename T2, typename T3 > - AggImplInheritanceHelper9( - T1 const & arg1, T2 const & arg2, T3 const & arg3): - BaseClass(arg1, arg2, arg3) {} - template< typename T1, typename T2, typename T3, typename T4 > - AggImplInheritanceHelper9( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4): - BaseClass(arg1, arg2, arg3, arg4) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5 > - AggImplInheritanceHelper9( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5): - BaseClass(arg1, arg2, arg3, arg4, arg5) {} - template< - typename T1, typename T2, typename T3, typename T4, typename T5, - typename T6 > - AggImplInheritanceHelper9( - T1 const & arg1, T2 const & arg2, T3 const & arg3, T4 const & arg4, - T5 const & arg5, T6 const & arg6): - BaseClass(arg1, arg2, arg3, arg4, arg5, arg6) {} - public: - AggImplInheritanceHelper9() {} - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { return BaseClass::queryInterface( rType ); } - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) - { - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, cd::get(), this ) ); - if (aRet.hasValue()) - return aRet; - return BaseClass::queryAggregation( rType ); - } - virtual void SAL_CALL acquire() throw () - { BaseClass::acquire(); } - virtual void SAL_CALL release() throw () - { BaseClass::release(); } - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) - { return ImplInhHelper_getTypes( cd::get(), BaseClass::getTypes() ); } - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) - { return ImplHelper_getImplementationId( cd::get() ); } - }; -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase_ex.hxx b/cppuhelper/inc/cppuhelper/implbase_ex.hxx deleted file mode 100644 index 056bb3760..000000000 --- a/cppuhelper/inc/cppuhelper/implbase_ex.hxx +++ /dev/null @@ -1,177 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE_EX_HXX_ -#define _CPPUHELPER_IMPLBASE_EX_HXX_ - -#include <cppuhelper/weak.hxx> -#include <cppuhelper/weakagg.hxx> -#include <com/sun/star/lang/XTypeProvider.hpp> - -// Despite the fact that the following include is not used in this header, it has to remain, -// because it is expected by files including cppuhelper/implbaseN.hxx. -// So maybe we can omit it some time in the future... -#include <com/sun/star/lang/XMultiServiceFactory.hpp> - -/* If you need to define implementation helper classes that deal with more than - 12 interfaces, then use macros as follows, e.g. for 3 interfaces: - -#include <cppuhelper/implbase_ex_pre.hxx> -#define __IFC_EX_TYPE_INIT3( class_cast ) \ - __IFC_EX_TYPE_INIT( class_cast, 1 ), __IFC_EX_TYPE_INIT( class_cast, 2 ), \ - __IFC_EX_TYPE_INIT( class_cast, 3 ) -#include <cppuhelper/implbase_ex_post.hxx> -__DEF_IMPLHELPER_EX( 3 ) -*/ - - -namespace cppu -{ - -/** function pointer signature for getCppuType - @internal -*/ -typedef ::com::sun::star::uno::Type const & (SAL_CALL * fptr_getCppuType)( void * ) SAL_THROW( () ); - -/** single type + object offset - @internal -*/ -struct type_entry -{ - /** the type_entry is initialized with function pointer to ::getCppuType() function first, - but holds an unacquired typelib_TypeDescriptionReference * after initialization, - thus reusing the memory. Flag class_data::m_storedTypeRefs - */ - union - { - fptr_getCppuType getCppuType; - typelib_TypeDescriptionReference * typeRef; - } m_type; - /** offset for interface pointer - */ - sal_IntPtr m_offset; -}; - -/** identical dummy struct for casting class_dataN to class_data - @internal -*/ -struct class_data -{ - /** number of supported types in m_typeEntries - */ - sal_Int16 m_nTypes; - - /** determines whether m_typeEntries is initialized and carries unacquired type refs - */ - sal_Bool m_storedTypeRefs; - - /** determines whether an implementation id was created in m_id - */ - sal_Bool m_createdId; - - /** implementation id - */ - sal_Int8 m_id[ 16 ]; - - /** type, object offset - */ - type_entry m_typeEntries[ 1 ]; -}; - -/** ImplHelper - @internal -*/ -::com::sun::star::uno::Any SAL_CALL ImplHelper_query( - ::com::sun::star::uno::Type const & rType, - class_data * cd, - void * that ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); -/** ImplHelper - @internal -*/ -::com::sun::star::uno::Any SAL_CALL ImplHelper_queryNoXInterface( - ::com::sun::star::uno::Type const & rType, - class_data * cd, - void * that ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); -/** ImplHelper - @internal -*/ -::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL ImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); -/** ImplHelper - @internal -*/ -::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL ImplInhHelper_getTypes( - class_data * cd, - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > const & rAddTypes ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); -/** ImplHelper - @internal -*/ -::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL ImplHelper_getImplementationId( - class_data * cd ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - -/** WeakImplHelper - @internal -*/ -::com::sun::star::uno::Any SAL_CALL WeakImplHelper_query( - ::com::sun::star::uno::Type const & rType, - class_data * cd, - void * that, - ::cppu::OWeakObject * pBase ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); -/** WeakImplHelper - @internal -*/ -::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL WeakImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - -/** WeakAggImplHelper - @internal -*/ -::com::sun::star::uno::Any SAL_CALL WeakAggImplHelper_queryAgg( - ::com::sun::star::uno::Type const & rType, - class_data * cd, - void * that, - ::cppu::OWeakAggObject * pBase ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); -/** WeakAggImplHelper - @internal -*/ -::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL WeakAggImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase_ex_post.hxx b/cppuhelper/inc/cppuhelper/implbase_ex_post.hxx deleted file mode 100644 index 3a2f4ca4a..000000000 --- a/cppuhelper/inc/cppuhelper/implbase_ex_post.hxx +++ /dev/null @@ -1,234 +0,0 @@ -/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ -/************************************************************************* - * - * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. - * - * Copyright 2000, 2010 Oracle and/or its affiliates. - * - * OpenOffice.org - a multi-platform office productivity suite - * - * This file is part of OpenOffice.org. - * - * OpenOffice.org is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License version 3 - * only, as published by the Free Software Foundation. - * - * OpenOffice.org is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License version 3 for more details - * (a copy is included in the LICENSE file that accompanied this code). - * - * You should have received a copy of the GNU Lesser General Public License - * version 3 along with OpenOffice.org. If not, see - * <http://www.openoffice.org/license.html> - * for a copy of the LGPLv3 License. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE_EX_POST_HXX_ -#define _CPPUHELPER_IMPLBASE_EX_POST_HXX_ - - -/** @internal */ -#define __DEF_CLASS_DATA_INIT_EX( N, class_cast ) \ -{ \ -N +1, sal_False, sal_False, \ -{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, \ -{ \ -__IFC_EX_TYPE_INIT##N( class_cast ), \ -__IFC_EX_TYPE_INIT_NAME( class_cast, ::com::sun::star::lang::XTypeProvider ) \ -} \ -} - -/** @internal */ -#define __DEF_IMPLHELPER_EX( N ) \ -namespace cppu \ -{ \ -struct class_data##N \ -{ \ - sal_Int16 m_nTypes; \ - sal_Bool m_storedTypeRefs; \ - sal_Bool m_storedId; \ - sal_Int8 m_id[ 16 ]; \ - type_entry m_typeEntries[ N + 1 ]; \ -}; \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE ImplHelper##N \ - : public ::com::sun::star::lang::XTypeProvider \ - , __PUBLIC_IFC##N \ -{ \ - static class_data##N s_cd; \ -public: \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return ImplHelper_query( rType, (class_data *)&s_cd, this ); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplHelper_getTypes( (class_data *)&s_cd ); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ -}; \ -template< __CLASS_IFC##N > \ -class_data##N ImplHelper##N< __IFC##N >::s_cd = \ -__DEF_CLASS_DATA_INIT_EX( N, (ImplHelper##N< __IFC##N > *) ); \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE WeakImplHelper##N \ - : public OWeakObject \ - , public ::com::sun::star::lang::XTypeProvider \ - , __PUBLIC_IFC##N \ -{ \ - static class_data##N s_cd; \ -public: \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return WeakImplHelper_query( rType, (class_data *)&s_cd, this, (OWeakObject *)this ); } \ - virtual void SAL_CALL acquire() throw () \ - { OWeakObject::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { OWeakObject::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return WeakImplHelper_getTypes( (class_data *)&s_cd ); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ -}; \ -template< __CLASS_IFC##N > \ -class_data##N WeakImplHelper##N< __IFC##N >::s_cd = \ -__DEF_CLASS_DATA_INIT_EX( N, (WeakImplHelper##N< __IFC##N > *) ); \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE WeakAggImplHelper##N \ - : public OWeakAggObject \ - , public ::com::sun::star::lang::XTypeProvider \ - , __PUBLIC_IFC##N \ -{ \ - static class_data##N s_cd; \ -public: \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return OWeakAggObject::queryInterface( rType ); } \ - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return WeakAggImplHelper_queryAgg( rType, (class_data *)&s_cd, this, (OWeakAggObject *)this ); } \ - virtual void SAL_CALL acquire() throw () \ - { OWeakAggObject::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { OWeakAggObject::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return WeakAggImplHelper_getTypes( (class_data *)&s_cd ); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ -}; \ -template< __CLASS_IFC##N > \ -class_data##N WeakAggImplHelper##N< __IFC##N >::s_cd = \ -__DEF_CLASS_DATA_INIT_EX( N, (WeakAggImplHelper##N< __IFC##N > *) ); \ -template< class BaseClass, __CLASS_IFC##N > \ -class SAL_NO_VTABLE ImplInheritanceHelper##N \ - : public BaseClass \ - , __PUBLIC_IFC##N \ -{ \ - static class_data##N s_cd; \ -public: \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { \ - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, (class_data *)&s_cd, this ) ); \ - if (aRet.hasValue()) \ - return aRet; \ - return BaseClass::queryInterface( rType ); \ - } \ - virtual void SAL_CALL acquire() throw () \ - { BaseClass::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { BaseClass::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplInhHelper_getTypes( (class_data *)&s_cd, BaseClass::getTypes() ); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ -}; \ -template< class BaseClass, __CLASS_IFC##N > \ -class_data##N ImplInheritanceHelper##N< BaseClass, __IFC##N >::s_cd = \ -__DEF_CLASS_DATA_INIT_EX( N, (ImplInheritanceHelper##N< BaseClass, __IFC##N > *) ); \ -template< class BaseClass, __CLASS_IFC##N > \ -class SAL_NO_VTABLE AggImplInheritanceHelper##N \ - : public BaseClass \ - , __PUBLIC_IFC##N \ -{ \ - static class_data##N s_cd; \ -public: \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return BaseClass::queryInterface( rType ); } \ - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { \ - ::com::sun::star::uno::Any aRet( ImplHelper_queryNoXInterface( rType, (class_data *)&s_cd, this ) ); \ - if (aRet.hasValue()) \ - return aRet; \ - return BaseClass::queryAggregation( rType ); \ - } \ - virtual void SAL_CALL acquire() throw () \ - { BaseClass::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { BaseClass::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplInhHelper_getTypes( (class_data *)&s_cd, BaseClass::getTypes() ); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ -}; \ -template< class BaseClass, __CLASS_IFC##N > \ -class_data##N AggImplInheritanceHelper##N< BaseClass, __IFC##N >::s_cd = \ -__DEF_CLASS_DATA_INIT_EX( N, (AggImplInheritanceHelper##N< BaseClass, __IFC##N > *) ); \ -} - -/** @internal */ -#define __DEF_COMPIMPLHELPER_EX( N ) \ -namespace cppu \ -{ \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE WeakComponentImplHelper##N \ - : public WeakComponentImplHelperBase \ - , public ::com::sun::star::lang::XTypeProvider \ - , __PUBLIC_IFC##N \ -{ \ - static class_data##N s_cd; \ -public: \ - inline WeakComponentImplHelper##N( ::osl::Mutex & rMutex ) SAL_THROW( () ) \ - : WeakComponentImplHelperBase( rMutex ) \ - {} \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return WeakComponentImplHelper_query( rType, (class_data *)&s_cd, this, (WeakComponentImplHelperBase *)this ); } \ - virtual void SAL_CALL acquire() throw () \ - { WeakComponentImplHelperBase::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { WeakComponentImplHelperBase::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return WeakComponentImplHelper_getTypes( (class_data *)&s_cd ); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ -}; \ -template< __CLASS_IFC##N > \ -class_data##N WeakComponentImplHelper##N< __IFC##N >::s_cd = \ -__DEF_CLASS_DATA_INIT_EX( N, (WeakComponentImplHelper##N< __IFC##N > *) ); \ -template< __CLASS_IFC##N > \ -class SAL_NO_VTABLE WeakAggComponentImplHelper##N \ - : public WeakAggComponentImplHelperBase \ - , public ::com::sun::star::lang::XTypeProvider \ - , __PUBLIC_IFC##N \ -{ \ - static class_data##N s_cd; \ -public: \ - inline WeakAggComponentImplHelper##N( ::osl::Mutex & rMutex ) SAL_THROW( () ) \ - : WeakAggComponentImplHelperBase( rMutex ) \ - {} \ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return WeakAggComponentImplHelperBase::queryInterface( rType ); } \ - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( ::com::sun::star::uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) \ - { return WeakAggComponentImplHelper_queryAgg( rType, (class_data *)&s_cd, this, (WeakAggComponentImplHelperBase *)this ); } \ - virtual void SAL_CALL acquire() throw () \ - { WeakAggComponentImplHelperBase::acquire(); } \ - virtual void SAL_CALL release() throw () \ - { WeakAggComponentImplHelperBase::release(); } \ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() throw (::com::sun::star::uno::RuntimeException) \ - { return WeakAggComponentImplHelper_getTypes( (class_data *)&s_cd ); } \ - virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw (::com::sun::star::uno::RuntimeException) \ - { return ImplHelper_getImplementationId( (class_data *)&s_cd ); } \ -}; \ -template< __CLASS_IFC##N > \ -class_data##N WeakAggComponentImplHelper##N< __IFC##N >::s_cd = \ -__DEF_CLASS_DATA_INIT_EX( N, (WeakAggComponentImplHelper##N< __IFC##N > *) ); \ -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implbase_ex_pre.hxx b/cppuhelper/inc/cppuhelper/implbase_ex_pre.hxx deleted file mode 100644 index 7eee744cd..000000000 --- a/cppuhelper/inc/cppuhelper/implbase_ex_pre.hxx +++ /dev/null @@ -1,39 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLBASE_EX_PRE_HXX_ -#define _CPPUHELPER_IMPLBASE_EX_PRE_HXX_ - -/** @internal */ -#define __IFC_EX_TYPE_INIT_NAME( class_cast, ifc_name ) \ -{ { ifc_name::static_type }, ((sal_IntPtr)(ifc_name *) class_cast 16) - 16 } -/** @internal */ -#define __IFC_EX_TYPE_INIT( class_cast, N ) __IFC_EX_TYPE_INIT_NAME( class_cast, Ifc##N ) - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/implementationentry.hxx b/cppuhelper/inc/cppuhelper/implementationentry.hxx deleted file mode 100644 index 7e03bb939..000000000 --- a/cppuhelper/inc/cppuhelper/implementationentry.hxx +++ /dev/null @@ -1,116 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_IMPLEMENTATIONENTRY_HXX_ -#define _CPPUHELPER_IMPLEMENTATIONENTRY_HXX_ - -#include <cppuhelper/factory.hxx> - -namespace cppu -{ -/** One struct instance represents all data necessary for registering one service implementation. - - */ -struct ImplementationEntry -{ - /** Function that creates an instance of the implementation - */ - ComponentFactoryFunc create; - - /** Function that returns the implementation-name of the implementation - (same as XServiceInfo.getImplementationName() ). - */ - rtl::OUString ( SAL_CALL * getImplementationName )(); - - /** Function that returns all supported servicenames of the implementation - ( same as XServiceInfo.getSupportedServiceNames() ). - */ - com::sun::star::uno::Sequence< rtl::OUString > ( SAL_CALL * getSupportedServiceNames ) (); - - /** Function that creates a SingleComponentFactory. - */ - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XSingleComponentFactory > - ( SAL_CALL * createFactory )( - ComponentFactoryFunc fptr, - ::rtl::OUString const & rImplementationName, - ::com::sun::star::uno::Sequence< ::rtl::OUString > const & rServiceNames, - rtl_ModuleCount * pModCount ); - - /** The shared-library module-counter of the implementation. Maybe 0. The module-counter - is used during by the createFactory()-function. - */ - rtl_ModuleCount * moduleCounter; - - /** Must be set to 0 ! - For future extensions. - */ - sal_Int32 nFlags; -}; - -/** Helper function for implementation of the component_writeInfo()-function. - - @obsolete component_writeInfo should no longer be used in new components - - @param pServiceManager The first parameter passed to component_writeInfo()-function - (This is an instance of the service manager, that creates the factory). - @param pRegistryKey The second parameter passed to the component_writeInfo()-function. - This is a reference to the registry key, into which the implementation - data shall be written to. - @param entries Each element of the entries-array must contains a function pointer - table for registering an implementation. The end of the array - must be marked with a 0 entry in the create-function. - @return sal_True, if all implementations could be registered, otherwise sal_False. - */ -sal_Bool component_writeInfoHelper( - void *pServiceManager, void *pRegistryKey , const struct ImplementationEntry entries[] ); - -/** Helper function for implementation of the component_getFactory()-function, - that must be implemented by every shared library component. - - @param pImplName The implementation-name to be instantiated ( This is the - first parameter passed to the component_getFactory - @param pServiceManager The second parameter passed to component_getFactory()-function - (This is a of the service manager, that creates the factory). - @param pRegistryKey The third parameter passed to the component_getFactory()-function. - This is a reference to the registry key, where the implementation - data has been written to. - @param entries Each element of the entries-array must contains a function pointer - table for creating a factor of the implementation. The end of the array - must be marked with a 0 entry in the create-function. - @return 0 if the helper failed to instantiate a factory, otherwise an acquired pointer - to a factory. - */ -void *component_getFactoryHelper( - const sal_Char * pImplName, - void * pServiceManager, - void * pRegistryKey, - const struct ImplementationEntry entries[] ); - -} -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/interfacecontainer.h b/cppuhelper/inc/cppuhelper/interfacecontainer.h deleted file mode 100644 index 6242de88b..000000000 --- a/cppuhelper/inc/cppuhelper/interfacecontainer.h +++ /dev/null @@ -1,619 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_INTERFACECONTAINER_H_ -#define _CPPUHELPER_INTERFACECONTAINER_H_ - -#include <vector> -#include <osl/mutex.hxx> -#include <rtl/alloc.h> -#include <com/sun/star/uno/Sequence.hxx> -#include <com/sun/star/uno/XInterface.hpp> -#ifndef _COM_SUN_STAR_LANG_EVENTOBJECT_HXX_ -#include <com/sun/star/lang/EventObject.hpp> -#endif - -#ifndef _COM_SUN_STAR_LANG_DISPOSEDEXCEPTION_HXX_ -#include "com/sun/star/lang/DisposedException.hpp" -#endif - -/** */ //for docpp -namespace cppu -{ - -namespace detail { - - union element_alias - { - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > > *pAsSequence; - ::com::sun::star::uno::XInterface * pAsInterface; - element_alias() : pAsInterface(0) {} - }; - -} - -//=================================================================== -class OInterfaceContainerHelper; -/** - This is the iterator of a InterfaceContainerHelper. Typically - one constructs an instance on the stack for one firing session. - It is not allowed to assign or copy an instance of this class. - - @see OInterfaceContainerHelper - */ -class OInterfaceIteratorHelper -{ -public: - /** - Create an iterator over the elements of the container. The iterator - copies the elements of the conatainer. A change to the container - during the lifetime of an iterator is allowed and does not - affect the iterator-instance. The iterator and the container take cares - themself for concurrent access, no additional guarding is necessary. - - Remark: The copy is on demand. The iterator copy the elements only if the container - change the contents. It is not allowed to destroy the container as long - as an iterator exist. - - @param rCont the container of the elements. - */ - OInterfaceIteratorHelper( OInterfaceContainerHelper & rCont ) SAL_THROW( () ); - - /** - Releases the connection to the container. - */ - ~OInterfaceIteratorHelper() SAL_THROW( () ); - - /** Return sal_True, if there are more elements in the iterator. */ - sal_Bool SAL_CALL hasMoreElements() const SAL_THROW( () ) - { return nRemain != 0; } - /** Return the next element of the iterator. Calling this method if - hasMoreElements() has returned sal_False, is an error. Cast the - returned pointer to the - */ - ::com::sun::star::uno::XInterface * SAL_CALL next() SAL_THROW( () ); - - /** Removes the current element (the last one returned by next()) - from the underlying container. Calling this method before - next() has been called or calling it twice with no next() - inbetween is an error. - */ - void SAL_CALL remove() SAL_THROW( () ); - -private: - OInterfaceContainerHelper & rCont; - sal_Bool bIsList; - - detail::element_alias aData; - - sal_Int32 nRemain; - - OInterfaceIteratorHelper( const OInterfaceIteratorHelper & ) SAL_THROW( () ); - OInterfaceIteratorHelper & operator = ( const OInterfaceIteratorHelper & ) SAL_THROW( () ); -}; - -//=================================================================== -/** - A container of interfaces. To access the elements use an iterator. - This implementation is thread save. - - @see OInterfaceIteratorHelper - */ -class OInterfaceContainerHelper -{ -public: - // these are here to force memory de/allocation to sal lib. - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - /** - Create an interface container. - - @param rMutex the mutex to protect multi thread access. - The lifetime must be longer than the lifetime - of this object. - */ - OInterfaceContainerHelper( ::osl::Mutex & rMutex ) SAL_THROW( () ); - /** - Release all interfaces. All iterators must be destroyed before - the container is destructed. - */ - ~OInterfaceContainerHelper() SAL_THROW( () ); - /** - Return the number of Elements in the container. Only useful if you have acquired - the mutex. - */ - sal_Int32 SAL_CALL getLength() const SAL_THROW( () ); - - /** - Return all interfaces added to this container. - **/ - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > > SAL_CALL getElements() const SAL_THROW( () ); - - /** Inserts an element into the container. The position is not specified, thus it is not - specified in which order events are fired. - - @attention - If you add the same interface more than once, then it will be added to the elements list - more than once and thus if you want to remove that interface from the list, you have to call - removeInterface() the same number of times. - In the latter case, you will also get events fired more than once (if the interface is a - listener interface). - - @param rxIFace - interface to be added; it is allowed to insert null or - the same interface more than once - @return - the new count of elements in the container - */ - sal_Int32 SAL_CALL addInterface( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rxIFace ) SAL_THROW( () ); - /** Removes an element from the container. It uses interface equality to remove the interface. - - @param rxIFace - interface to be removed - @return - the new count of elements in the container - */ - sal_Int32 SAL_CALL removeInterface( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rxIFace ) SAL_THROW( () ); - /** - Call disposing on all object in the container that - support XEventListener. Than clear the container. - */ - void SAL_CALL disposeAndClear( const ::com::sun::star::lang::EventObject & rEvt ) SAL_THROW( () ); - /** - Clears the container without calling disposing(). - */ - void SAL_CALL clear() SAL_THROW( () ); - - /** Executes a functor for each contained listener of specified type, e.g. - <code>forEach<awt::XPaintListener>(...</code>. - - If a com::sun::star::lang::DisposedException occurs which relates to - the called listener, then that listener is removed from the container. - - @tpl ListenerT listener type - @tpl FuncT unary functor type, let your compiler deduce this for you - @param func unary functor object expecting an argument of type - ::com::sun::star::uno::Reference<ListenerT> - */ - template <typename ListenerT, typename FuncT> - inline void forEach( FuncT const& func ); - - /** Calls a UNO listener method for each contained listener. - - The listener method must take a single argument of type EventT, - and return <code>void</code>. - - If a com::sun::star::lang::DisposedException occurs which relates to - the called listener, then that listener is removed from the container. - - @tpl ListenerT UNO event listener type, let your compiler deduce this for you - @tpl EventT event type, let your compiler deduce this for you - @param NotificationMethod - Pointer to a method of a ListenerT interface. - @param Event - Event to notify to all contained listeners - - @example -<pre> - awt::PaintEvent aEvent( static_cast< ::cppu::OWeakObject* >( this ), ... ); - listeners.notifyEach( &XPaintListener::windowPaint, aEvent ); -</pre> - */ - template< typename ListenerT, typename EventT > - inline void notifyEach( void ( SAL_CALL ListenerT::*NotificationMethod )( const EventT& ), const EventT& Event ); - -private: -friend class OInterfaceIteratorHelper; - /** - bIsList == TRUE -> aData.pAsSequence of type Sequence< XInterfaceSequence >, - otherwise aData.pAsInterface == of type (XEventListener *) - */ - detail::element_alias aData; - ::osl::Mutex & rMutex; - /** TRUE -> used by an iterator. */ - sal_Bool bInUse; - /** TRUE -> aData.pAsSequence is of type Sequence< XInterfaceSequence >. */ - sal_Bool bIsList; - - OInterfaceContainerHelper( const OInterfaceContainerHelper & ) SAL_THROW( () ); - OInterfaceContainerHelper & operator = ( const OInterfaceContainerHelper & ) SAL_THROW( () ); - - /* - Dulicate content of the conaitner and release the old one without destroying. - The mutex must be locked and the memberbInUse must be true. - */ - void copyAndResetInUse() SAL_THROW( () ); - -private: - template< typename ListenerT, typename EventT > - class NotifySingleListener - { - private: - typedef void ( SAL_CALL ListenerT::*NotificationMethod )( const EventT& ); - NotificationMethod m_pMethod; - const EventT& m_rEvent; - public: - NotifySingleListener( NotificationMethod method, const EventT& event ) : m_pMethod( method ), m_rEvent( event ) { } - - void operator()( const ::com::sun::star::uno::Reference<ListenerT>& listener ) const - { - (listener.get()->*m_pMethod)( m_rEvent ); - } - }; -}; - -template <typename ListenerT, typename FuncT> -inline void OInterfaceContainerHelper::forEach( FuncT const& func ) -{ - OInterfaceIteratorHelper iter( *this ); - while (iter.hasMoreElements()) { - ::com::sun::star::uno::Reference<ListenerT> const xListener( - iter.next(), ::com::sun::star::uno::UNO_QUERY ); - if (xListener.is()) { -#if defined(EXCEPTIONS_OFF) - func( xListener ); -#else - try { - func( xListener ); - } - catch (::com::sun::star::lang::DisposedException const& exc) { - if (exc.Context == xListener) - iter.remove(); - } -#endif - } - } -} - -template< typename ListenerT, typename EventT > -inline void OInterfaceContainerHelper::notifyEach( void ( SAL_CALL ListenerT::*NotificationMethod )( const EventT& ), const EventT& Event ) -{ - forEach< ListenerT, NotifySingleListener< ListenerT, EventT > >( NotifySingleListener< ListenerT, EventT >( NotificationMethod, Event ) ); -} - -//=================================================================== -/** - A helper class to store interface references of different types. - - @see OInterfaceIteratorHelper - @see OInterfaceContainerHelper - */ -template< class key , class hashImpl , class equalImpl > -class OMultiTypeInterfaceContainerHelperVar -{ -public: - // these are here to force memory de/allocation to sal lib. - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - /** - Create a container of interface containers. - - @param rMutex the mutex to protect multi thread access. - The lifetime must be longer than the lifetime - of this object. - */ - inline OMultiTypeInterfaceContainerHelperVar( ::osl::Mutex & ) SAL_THROW( () ); - /** - Deletes all containers. - */ - inline ~OMultiTypeInterfaceContainerHelperVar() SAL_THROW( () ); - - /** - Return all id's under which at least one interface is added. - */ - inline ::com::sun::star::uno::Sequence< key > SAL_CALL getContainedTypes() const SAL_THROW( () ); - - /** - Return the container created under this key. - The InterfaceContainerHelper exists until the whole MultiTypeContainer is destroyed. - @return the container created under this key. If the container - was not created, null was returned. - */ - inline OInterfaceContainerHelper * SAL_CALL getContainer( const key & ) const SAL_THROW( () ); - - /** Inserts an element into the container with the specified key. - The position is not specified, thus it is not specified in which order events are fired. - - @attention - If you add the same interface more than once, then it will be added to the elements list - more than once and thus if you want to remove that interface from the list, you have to call - removeInterface() the same number of times. - In the latter case, you will also get events fired more than once (if the interface is a - listener interface). - - @param rKey - the id of the container - @param r - interface to be added; it is allowed, to insert null or - the same interface more than once - @return - the new count of elements in the container - */ - inline sal_Int32 SAL_CALL addInterface( - const key & rKey, - const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & r ) - SAL_THROW( () ); - - /** Removes an element from the container with the specified key. - It uses interface equality to remove the interface. - - @param rKey - the id of the container - @param rxIFace - interface to be removed - @return - the new count of elements in the container - */ - inline sal_Int32 SAL_CALL removeInterface( - const key & rKey, - const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rxIFace ) - SAL_THROW( () ); - - /** - Call disposing on all references in the container, that - support XEventListener. Then clears the container. - @param rEvt the event object which is passed during disposing() call - */ - inline void SAL_CALL disposeAndClear( const ::com::sun::star::lang::EventObject & rEvt ) SAL_THROW( () ); - /** - Remove all elements of all containers. Does not delete the container. - */ - inline void SAL_CALL clear() SAL_THROW( () ); - - typedef key keyType; -private: - typedef ::std::vector< std::pair < key , void* > > InterfaceMap; - InterfaceMap *m_pMap; - ::osl::Mutex & rMutex; - - inline typename InterfaceMap::iterator find(const key &rKey) const - { - typename InterfaceMap::iterator iter = m_pMap->begin(); - typename InterfaceMap::iterator end = m_pMap->end(); - - while( iter != end ) - { - equalImpl equal; - if( equal( iter->first, rKey ) ) - break; - iter++; - } - return iter; - } - - inline OMultiTypeInterfaceContainerHelperVar( const OMultiTypeInterfaceContainerHelperVar & ) SAL_THROW( () ); - inline OMultiTypeInterfaceContainerHelperVar & operator = ( const OMultiTypeInterfaceContainerHelperVar & ) SAL_THROW( () ); -}; - - - - -/** - This struct contains the standard variables of a broadcaster. Helper - classes only know a reference to this struct instead of references - to the four members. The access to the members must be guarded with - rMutex. - - The additional template parameter keyType has been added, because gcc - can't compile addListener( const container::keyType &key ). - */ -template < class container , class keyType > -struct OBroadcastHelperVar -{ - /** The shared mutex. */ - ::osl::Mutex & rMutex; - /** ListenerContainer class is thread save. */ - container aLC; - /** Dispose call ready. */ - sal_Bool bDisposed; - /** In dispose call. */ - sal_Bool bInDispose; - - /** - Initialize the structur. bDispose and bInDispose are set to false. - @param rMutex the mutex reference. - */ - OBroadcastHelperVar( ::osl::Mutex & rMutex_ ) SAL_THROW( () ) - : rMutex( rMutex_ ) - , aLC( rMutex_ ) - , bDisposed( sal_False ) - , bInDispose( sal_False ) - {} - - /** - adds a listener threadsafe. - **/ - inline void addListener( - const keyType &key, - const ::com::sun::star::uno::Reference < ::com::sun::star::uno::XInterface > &r ) - SAL_THROW( () ) - { - ::osl::MutexGuard guard( rMutex ); - OSL_ENSURE( !bInDispose, "do not add listeners in the dispose call" ); - OSL_ENSURE( !bDisposed, "object is disposed" ); - if( ! bInDispose && ! bDisposed ) - aLC.addInterface( key , r ); - } - - /** - removes a listener threadsafe - **/ - inline void removeListener( - const keyType &key, - const ::com::sun::star::uno::Reference < ::com::sun::star::uno::XInterface > & r ) - SAL_THROW( () ) - { - ::osl::MutexGuard guard( rMutex ); - OSL_ENSURE( !bDisposed, "object is disposed" ); - if( ! bInDispose && ! bDisposed ) - aLC.removeInterface( key , r ); - } - - /** - Return the container created under this key. - @return the container created under this key. If the container - was not created, null was returned. This can be used to optimize - performance ( construction of an event object can be avoided ). - ***/ - inline OInterfaceContainerHelper * SAL_CALL getContainer( const keyType &key ) const SAL_THROW( () ) - { return aLC.getContainer( key ); } -}; - -/*------------------------------------------ -* -* In general, the above templates are used with a Type as key. -* Therefore a default declaration is given ( OMultiTypeInterfaceContainerHelper and OBroadcastHelper ) -* -*------------------------------------------*/ - -// helper function call class -struct hashType_Impl -{ - size_t operator()(const ::com::sun::star::uno::Type & s) const SAL_THROW( () ) - { return s.getTypeName().hashCode(); } -}; - - -/** Specialized class for key type com::sun::star::uno::Type, - without explicit usage of STL symbols. -*/ -class OMultiTypeInterfaceContainerHelper -{ -public: - // these are here to force memory de/allocation to sal lib. - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - /** - Create a container of interface containers. - - @param rMutex the mutex to protect multi thread access. - The lifetime must be longer than the lifetime - of this object. - */ - OMultiTypeInterfaceContainerHelper( ::osl::Mutex & ) SAL_THROW( () ); - /** - Delete all containers. - */ - ~OMultiTypeInterfaceContainerHelper() SAL_THROW( () ); - - /** - Return all id's under which at least one interface is added. - */ - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getContainedTypes() const SAL_THROW( () ); - - /** - Return the container created under this key. - @return the container created under this key. If the container - was not created, null was returned. - */ - OInterfaceContainerHelper * SAL_CALL getContainer( const ::com::sun::star::uno::Type & rKey ) const SAL_THROW( () ); - - /** Inserts an element into the container with the specified key. - The position is not specified, thus it is not specified in which order events are fired. - - @attention - If you add the same interface more than once, then it will be added to the elements list - more than once and thus if you want to remove that interface from the list, you have to call - removeInterface() the same number of times. - In the latter case, you will also get events fired more than once (if the interface is a - listener interface). - - @param rKey - the id of the container - @param r - interface to be added; it is allowed, to insert null or - the same interface more than once - @return - the new count of elements in the container - */ - sal_Int32 SAL_CALL addInterface( - const ::com::sun::star::uno::Type & rKey, - const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & r ) - SAL_THROW( () ); - - /** Removes an element from the container with the specified key. - It uses interface equality to remove the interface. - - @param rKey - the id of the container - @param rxIFace - interface to be removed - @return - the new count of elements in the container - */ - sal_Int32 SAL_CALL removeInterface( - const ::com::sun::star::uno::Type & rKey, - const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rxIFace ) - SAL_THROW( () ); - - /** - Call disposing on all object in the container that - support XEventListener. Than clear the container. - */ - void SAL_CALL disposeAndClear( const ::com::sun::star::lang::EventObject & rEvt ) SAL_THROW( () ); - /** - Remove all elements of all containers. Does not delete the container. - */ - void SAL_CALL clear() SAL_THROW( () ); - - typedef ::com::sun::star::uno::Type keyType; -private: - void *m_pMap; - ::osl::Mutex & rMutex; - - inline OMultiTypeInterfaceContainerHelper( const OMultiTypeInterfaceContainerHelper & ) SAL_THROW( () ); - inline OMultiTypeInterfaceContainerHelper & operator = ( const OMultiTypeInterfaceContainerHelper & ) SAL_THROW( () ); -}; - -typedef OBroadcastHelperVar< OMultiTypeInterfaceContainerHelper , OMultiTypeInterfaceContainerHelper::keyType > OBroadcastHelper; - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/interfacecontainer.hxx b/cppuhelper/inc/cppuhelper/interfacecontainer.hxx deleted file mode 100644 index 68781c9d5..000000000 --- a/cppuhelper/inc/cppuhelper/interfacecontainer.hxx +++ /dev/null @@ -1,204 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_INTERFACECONTAINER_HXX_ -#define _CPPUHELPER_INTERFACECONTAINER_HXX_ - -#include <cppuhelper/interfacecontainer.h> - - -namespace cppu -{ - -template< class key , class hashImpl , class equalImpl > -inline OMultiTypeInterfaceContainerHelperVar< key , hashImpl , equalImpl >::OMultiTypeInterfaceContainerHelperVar( ::osl::Mutex & rMutex_ ) - SAL_THROW( () ) - : rMutex( rMutex_ ) -{ - m_pMap = new InterfaceMap; -} - -//=================================================================== -template< class key , class hashImpl , class equalImpl > -inline OMultiTypeInterfaceContainerHelperVar< key , hashImpl , equalImpl >::~OMultiTypeInterfaceContainerHelperVar() - SAL_THROW( () ) -{ - typename InterfaceMap::iterator iter = m_pMap->begin(); - typename InterfaceMap::iterator end = m_pMap->end(); - - while( iter != end ) - { - delete (OInterfaceContainerHelper*)(*iter).second; - (*iter).second = 0; - ++iter; - } - delete m_pMap; -} - -//=================================================================== -template< class key , class hashImpl , class equalImpl > -inline ::com::sun::star::uno::Sequence< key > OMultiTypeInterfaceContainerHelperVar< key , hashImpl , equalImpl >::getContainedTypes() const - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - typename InterfaceMap::size_type nSize = m_pMap->size(); - if( nSize != 0 ) - { - ::com::sun::star::uno::Sequence< key > aInterfaceTypes( nSize ); - key * pArray = aInterfaceTypes.getArray(); - - typename InterfaceMap::iterator iter = m_pMap->begin(); - typename InterfaceMap::iterator end = m_pMap->end(); - - sal_uInt32 i = 0; - while( iter != end ) - { - // are interfaces added to this container? - if( ((OInterfaceContainerHelper*)(*iter).second)->getLength() ) - // yes, put the type in the array - pArray[i++] = (*iter).first; - iter++; - } - if( i != nSize ) { - // may be empty container, reduce the sequence to the right size - aInterfaceTypes = ::com::sun::star::uno::Sequence<key>( pArray, i ); - } - return aInterfaceTypes; - } - return ::com::sun::star::uno::Sequence<key>(); -} - -//=================================================================== -template< class key , class hashImpl , class equalImpl > -OInterfaceContainerHelper * OMultiTypeInterfaceContainerHelperVar< key , hashImpl , equalImpl >::getContainer( - const key & rKey ) const SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - - typename InterfaceMap::iterator iter = find( rKey ); - if( iter != m_pMap->end() ) - return (OInterfaceContainerHelper*) (*iter).second; - return 0; -} - -//=================================================================== -template< class key , class hashImpl , class equalImpl > -sal_Int32 OMultiTypeInterfaceContainerHelperVar< key , hashImpl , equalImpl >::addInterface( - const key & rKey, - const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rListener ) - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - typename InterfaceMap::iterator iter = find( rKey ); - if( iter == m_pMap->end() ) - { - OInterfaceContainerHelper * pLC = new OInterfaceContainerHelper( rMutex ); - m_pMap->push_back(std::pair<key, void*>(rKey, pLC)); - return pLC->addInterface( rListener ); - } - else - return ((OInterfaceContainerHelper*)(*iter).second)->addInterface( rListener ); -} - -//=================================================================== -template< class key , class hashImpl , class equalImpl > -inline sal_Int32 OMultiTypeInterfaceContainerHelperVar< key , hashImpl , equalImpl >::removeInterface( - const key & rKey, - const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rListener ) - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - - // search container with id nUik - typename InterfaceMap::iterator iter = find( rKey ); - // container found? - if( iter != m_pMap->end() ) - return ((OInterfaceContainerHelper*)(*iter).second)->removeInterface( rListener ); - - // no container with this id. Always return 0 - return 0; -} - -//=================================================================== -template< class key , class hashImpl , class equalImpl > -void OMultiTypeInterfaceContainerHelperVar< key , hashImpl , equalImpl >::disposeAndClear( - const ::com::sun::star::lang::EventObject & rEvt ) - SAL_THROW( () ) -{ - typename InterfaceMap::size_type nSize = 0; - OInterfaceContainerHelper ** ppListenerContainers = NULL; - { - ::osl::MutexGuard aGuard( rMutex ); - nSize = m_pMap->size(); - if( nSize ) - { - typedef OInterfaceContainerHelper* ppp; - ppListenerContainers = new ppp[nSize]; - - typename InterfaceMap::iterator iter = m_pMap->begin(); - typename InterfaceMap::iterator end = m_pMap->end(); - - typename InterfaceMap::size_type i = 0; - while( iter != end ) - { - ppListenerContainers[i++] = (OInterfaceContainerHelper*)(*iter).second; - ++iter; - } - } - } - - // create a copy, because do not fire event in a guarded section - for( typename InterfaceMap::size_type i = 0; i < nSize; i++ ) - { - if( ppListenerContainers[i] ) - ppListenerContainers[i]->disposeAndClear( rEvt ); - } - - delete [] ppListenerContainers; -} - -//=================================================================== -template< class key , class hashImpl , class equalImpl > -void OMultiTypeInterfaceContainerHelperVar< key , hashImpl , equalImpl >::clear() SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - typename InterfaceMap::iterator iter = m_pMap->begin(); - typename InterfaceMap::iterator end = m_pMap->end(); - - while( iter != end ) - { - ((OInterfaceContainerHelper*)(*iter).second)->clear(); - ++iter; - } -} - - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/propertysetmixin.hxx b/cppuhelper/inc/cppuhelper/propertysetmixin.hxx deleted file mode 100644 index 41a9f1ae4..000000000 --- a/cppuhelper/inc/cppuhelper/propertysetmixin.hxx +++ /dev/null @@ -1,491 +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. - * - ************************************************************************/ - -#ifndef INCLUDED_CPPUHELPER_PROPERTYSETMIXIN_HXX -#define INCLUDED_CPPUHELPER_PROPERTYSETMIXIN_HXX \ - INCLUDED_CPPUHELPER_PROPERTYSETMIXIN_HXX - -#include "sal/config.h" -#include "com/sun/star/beans/PropertyVetoException.hpp" -#include "com/sun/star/beans/UnknownPropertyException.hpp" -#include "com/sun/star/beans/XFastPropertySet.hpp" -#include "com/sun/star/beans/XPropertyAccess.hpp" -#include "com/sun/star/beans/XPropertySet.hpp" -#include "com/sun/star/lang/IllegalArgumentException.hpp" -#include "com/sun/star/lang/WrappedTargetException.hpp" -#include "com/sun/star/uno/Reference.hxx" -#include "com/sun/star/uno/RuntimeException.hpp" -#include "com/sun/star/uno/Sequence.hxx" -#include "sal/types.h" - -/// @HTML - -namespace com { namespace sun { namespace star { - namespace beans { - class XPropertyChangeListener; - class XPropertySetInfo; - class XVetoableChangeListener; - struct PropertyValue; - } - namespace uno { - class Any; - class Type; - class XComponentContext; - } -} } } -namespace rtl { class OUString; } - -namespace cppu { - -template< typename T > class PropertySetMixin; - -// Suppress warnings about virtual functions but non-virtual destructor: -#if defined _MSC_VER -#pragma warning(push) -#pragma warning(disable: 4265) -#endif - -/** - @short A helper base class for <code>cppu::PropertySetMixin</code>. - - @descr See the documentation of <code>cppu::PropertySetMixin</code> for - further details. - - @descr That <code>cppu::PropertySetMixin</code> is derived from this - base class should be considered an implementation detail. The functionality - of <code>cppu::PropertySetMixin</code> that is inherited from this base - class and is visible to subclasses of - <code>cppu::PropertySetMixin</code> should be treated by such - subclasses as being provided by <code>cppu::PropertySetMixin</code> - directly (e.g., in such subclasses, use - “<code>PropertySetMixin::Implements</code>” instead of - “<code>PropertySetMixinImpl::Implements</code>”). - - @since UDK 3.2.1 -*/ -class PropertySetMixinImpl: - public com::sun::star::beans::XPropertySet, - public com::sun::star::beans::XFastPropertySet, - public com::sun::star::beans::XPropertyAccess -{ -protected: - /** - @short Flags used by subclasses of - <code>cppu::PropertySetMixin</code> to specify what UNO interface - types shall be supported. - */ - enum Implements { - /** - @short Flag specifying that the UNO interface type - <code>com::sun::star::beans::XPropertySet</code> shall be supported. - */ - IMPLEMENTS_PROPERTY_SET = 1, - - /** - @short Flag specifying that the UNO interface type - <code>com::sun::star::beans::XFastPropertySet</code> shall be - supported. - */ - IMPLEMENTS_FAST_PROPERTY_SET = 2, - - /** - @short Flag specifying that the UNO interface type - <code>com::sun::star::beans::XPropertyAccess</code> shall be - supported. - */ - IMPLEMENTS_PROPERTY_ACCESS = 4 - }; - - /** - @short A class used by subclasses of - <code>cppu::PropertySetMixin</code> when implementing UNO interface - type attribute setter functions. - - @descr This class is not thread safe; that is, the constructor, - <code>notify</code>, and the destructor must be called from the same - thread. - - @descr See <code>cppu::PropertySetMixinImpl::prepareSet</code> for - further details. - */ - class BoundListeners { - public: - /** - @short The constructor. - - @descr May throw <code>std::bad_alloc</code>. - */ - BoundListeners(); - - /** - @short The destructor. - - @descr Does not throw. - */ - ~BoundListeners(); - - /** - @short Notifies any - <code>com::sun::star::beans::XPropertyChangeListener</code>s. - - @descr May throw <code>com::sun::star::uno::RuntimeException</code> - and <code>std::bad_alloc</code>. - - @descr See <code>cppu::PropertySetMixinImpl::prepareSet</code> - for further details. - */ - void notify() const; - - private: - BoundListeners(BoundListeners &); // not defined - void operator =(BoundListeners); // not defined - - class Impl; - Impl * m_impl; - - friend class PropertySetMixinImpl; - }; - - /** - @short A function used by subclasses of - <code>cppu::PropertySetMixin</code> when implementing UNO interface - type attribute setter functions. - - @descr First, this function checks whether this instance has already been - disposed (see <code>cppu::PropertySetMixinImpl::dispose</code>), - and throws a <code>com::sun::star::lang::DisposedException</code> if - applicable. For a constrained attribute (whose setter can explicitly - raise <code>com::sun::star::beans::PropertyVetoException</code>), this - function notifies any - <code>com::sun::star::beans::XVetoableChangeListener</code>s. For a - bound attribute, this function modifies the passed-in - <code>boundListeners</code> so that it can afterwards be used to notify - any <code>com::sun::star::beans::XPropertyChangeListener</code>s. This - function should be called before storing the new attribute value, and - <code>boundListeners->notify()</code> should be called exactly once after - storing the new attribute value (in case the attribute is bound; - otherwise, calling <code>boundListeners->notify()</code> is ignored). - Furthermore, <code>boundListeners->notify()</code> and this function have - to be called from the same thread. - - @descr May throw - <code>com::sun::star::beans::PropertyVetoException</code>, - <code>com::sun::star::uno::RuntimeException</code> (and - <code>com::sun::star::lang::DisposedException</code> in particular), and - <code>std::bad_alloc</code>. - - @param propertyName the name of the property (which is the same as the - name of the attribute that is going to be set) - - @param oldValue the property value corresponding to the old attribute - value. This is only used as - <code>com::sun::star::beans::PropertyChangeEvent::OldValue</code>, which - is rather useless, anyway (see “Using the Observer Pattern” - in <a href="http://tools.openoffice.org/CodingGuidelines.sxw"> - <cite>OpenOffice.org Coding Guidelines</cite></a>). If the attribute - that is going to be set is neither bound nor constrained, or if - <code>com::sun::star::beans::PropertyChangeEvent::OldValue</code> should - not be set, a <code>VOID</code> <code>Any</code> can be used instead. - - @param newValue the property value corresponding to the new - attribute value. This is only used as - <code>com::sun::star::beans::PropertyChangeEvent::NewValue</code>, which - is rather useless, anyway (see “Using the Observer Pattern” - in <a href="http://tools.openoffice.org/CodingGuidelines.sxw"> - <cite>OpenOffice.org Coding Guidelines</cite></a>), <em>unless</em> the - attribute that is going to be set is constrained. If the attribute - that is going to be set is neither bound nor constrained, or if it is - only bound but - <code>com::sun::star::beans::PropertyChangeEvent::NewValue</code> should - not be set, a <code>VOID</code> <code>Any</code> can be used instead. - - @param boundListeners a pointer to a fresh - <code>cppu::PropertySetMixinImpl::BoundListeners</code> instance - (which has not been passed to this function before, and on which - <code>notify</code> has not yet been called); may only be null if the - attribute that is going to be set is not bound - */ - void prepareSet( - rtl::OUString const & propertyName, - com::sun::star::uno::Any const & oldValue, - com::sun::star::uno::Any const & newValue, - BoundListeners * boundListeners); - - /** - @short Mark this instance as being disposed. - - @descr See <code>com::sun::star::lang::XComponent</code> for the general - concept of disposing UNO objects. On the first call to this function, - all registered listeners - (<code>com::sun::star::beans::XPropertyChangeListener</code>s and - <code>com::sun::star::beans::XVetoableChangeListener</code>s) are - notified of the disposing source. Any subsequent calls to this function - are ignored. - - @descr May throw <code>com::sun::star::uno::RuntimeException</code> and - <code>std::bad_alloc</code>. - */ - void dispose(); - - /** - @short A function used by subclasses of - <code>cppu::PropertySetMixin</code> when implementing - <code>com::sun::star::uno::XInterface::queryInterface</code>. - - @descr This function checks for support of any of the UNO interface types - specified in the call of the <code>cppu::PropertySetMixin</code> - constructor. It does not check for any other UNO interface types (not - even for <code>com::sun::star::uno::XInterface</code>), and should not - be used directly as the implementation of - <code>com::sun::star::uno::XInterface::queryInterface</code> of this UNO - object. - */ - virtual com::sun::star::uno::Any SAL_CALL queryInterface( - com::sun::star::uno::Type const & type) - throw (com::sun::star::uno::RuntimeException); - - // @see com::sun::star::beans::XPropertySet::getPropertySetInfo - virtual - com::sun::star::uno::Reference< com::sun::star::beans::XPropertySetInfo > - SAL_CALL getPropertySetInfo() throw (com::sun::star::uno::RuntimeException); - - // @see com::sun::star::beans::XPropertySet::setPropertyValue - virtual void SAL_CALL setPropertyValue( - rtl::OUString const & propertyName, - com::sun::star::uno::Any const & value) - throw ( - com::sun::star::beans::UnknownPropertyException, - com::sun::star::beans::PropertyVetoException, - com::sun::star::lang::IllegalArgumentException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::uno::RuntimeException); - - // @see com::sun::star::beans::XPropertySet::getPropertyValue - virtual com::sun::star::uno::Any SAL_CALL getPropertyValue( - rtl::OUString const & propertyName) - throw ( - com::sun::star::beans::UnknownPropertyException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::uno::RuntimeException); - - /** - @short Adds a - <code>com::sun::star::beans::XPropertyChangeListener</code>. - - @descr If a listener is added more than once, it will receive all - relevant notifications multiple times. - - @see com::sun::star::beans::XPropertySet::addPropertyChangeListener - */ - virtual void SAL_CALL addPropertyChangeListener( - rtl::OUString const & propertyName, - com::sun::star::uno::Reference< - com::sun::star::beans::XPropertyChangeListener > const & listener) - throw ( - com::sun::star::beans::UnknownPropertyException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::uno::RuntimeException); - - // @see com::sun::star::beans::XPropertySet::removePropertyChangeListener - virtual void SAL_CALL removePropertyChangeListener( - rtl::OUString const & propertyName, - com::sun::star::uno::Reference< - com::sun::star::beans::XPropertyChangeListener > const & listener) - throw ( - com::sun::star::beans::UnknownPropertyException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::uno::RuntimeException); - - /** - @short Adds a - <code>com::sun::star::beans::XVetoableChangeListener</code>. - - @descr If a listener is added more than once, it will receive all - relevant notifications multiple times. - - @see com::sun::star::beans::XPropertySet::addVetoableChangeListener - */ - virtual void SAL_CALL addVetoableChangeListener( - rtl::OUString const & propertyName, - com::sun::star::uno::Reference< - com::sun::star::beans::XVetoableChangeListener > const & listener) - throw ( - com::sun::star::beans::UnknownPropertyException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::uno::RuntimeException); - - // @see com::sun::star::beans::XPropertySet::removeVetoableChangeListener - virtual void SAL_CALL removeVetoableChangeListener( - rtl::OUString const & propertyName, - com::sun::star::uno::Reference< - com::sun::star::beans::XVetoableChangeListener > const & listener) - throw ( - com::sun::star::beans::UnknownPropertyException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::uno::RuntimeException); - - // @see com::sun::star::beans::XFastPropertySet::setFastPropertyValue - virtual void SAL_CALL setFastPropertyValue( - sal_Int32 handle, com::sun::star::uno::Any const & value) - throw ( - com::sun::star::beans::UnknownPropertyException, - com::sun::star::beans::PropertyVetoException, - com::sun::star::lang::IllegalArgumentException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::uno::RuntimeException); - - // @see com::sun::star::beans::XFastPropertySet::getFastPropertyValue - virtual com::sun::star::uno::Any SAL_CALL getFastPropertyValue( - sal_Int32 handle) - throw ( - com::sun::star::beans::UnknownPropertyException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::uno::RuntimeException); - - // @see com::sun::star::beans::XPropertyAccess::getPropertyValues - virtual - com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > - SAL_CALL getPropertyValues() throw (com::sun::star::uno::RuntimeException); - - // @see com::sun::star::beans::XPropertyAccess::setPropertyValues - virtual void SAL_CALL setPropertyValues( - com::sun::star::uno::Sequence< com::sun::star::beans::PropertyValue > - const & props) - throw ( - com::sun::star::beans::UnknownPropertyException, - com::sun::star::beans::PropertyVetoException, - com::sun::star::lang::IllegalArgumentException, - com::sun::star::lang::WrappedTargetException, - com::sun::star::uno::RuntimeException); - -private: - PropertySetMixinImpl(PropertySetMixinImpl &); // not defined - void operator =(PropertySetMixinImpl &); // not defined - - PropertySetMixinImpl( - com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > - const & context, - Implements implements, - com::sun::star::uno::Sequence< rtl::OUString > const & absentOptional, - com::sun::star::uno::Type const & type); - - class Impl; - Impl * m_impl; - - friend class Impl; - template< typename T > friend class PropertySetMixin; - - ~PropertySetMixinImpl(); - - void checkUnknown(rtl::OUString const & propertyName); -}; - -/** - @short A helper mixin to implement certain UNO interfaces related to property - set handling on top of the attributes of a given UNO interface type. - - @descr The UNO interface type is specified by the type parameter - <code>T</code> (which must correspond to a UNO interface type). - - @descr No specializations of this class template should be added by client - code. - - @since UDK 3.2.1 -*/ -template< typename T > class PropertySetMixin: public PropertySetMixinImpl { -protected: - /** - @short The constructor. - - @descr May throw <code>com::sun::star::uno::RuntimeException</code> and - <code>std::bad_alloc</code>. - - @param context the component context used by this class template; must - not be null, and must supply the service - <code>com.sun.star.reflection.CoreReflection</code> and the singleton - <code>com.sun.star.reflection.theTypeDescriptionManager</code> - - @param implements a combination of zero or more flags specifying what - UNO interface types shall be supported - - @param absentOptional a list of optional properties that are not - present, and should thus not be visible via - <code>com::sun::star::beans::XPropertySet::getPropertySetInfo</code>, - <code>com::sun::star::beans::XPropertySet::addPropertyChangeListener<!-- - --></code>, <code>com::sun::star::beans::XPropertySet::<!-- - -->removePropertyChangeListener</code>, - <code>com::sun::star::beans::XPropertySet::addVetoableChangeListener<!-- - --></code>, and <code>com::sun::star::beans::XPropertySet::<!-- - -->removeVetoableChangeListener</code>. For consistency reasons, the - given <code>absentOptional</code> should only contain the names of - attributes that represent optional properties that are not present (that - is, the attribute getters and setters always throw a - <code>com::sun::star::beans::UnknownPropertyException</code>), and should - contain each such name only once. If an optional property is not present - (that is, the corresponding attribute getter and setter always throw a - <code>com::sun::star::beans::UnknownPropertyException</code>) but is not - contained in the given <code>absentOptional</code>, then it will be - visible via - <code>com::sun::star::beans::XPropertySet::getPropertySetInfo</code> as a - <code>com::sun::star::beans::Property</code> with a set - <code>com::sun::star::beans::PropertyAttribute::OPTIONAL</code>. If the - given <code>implements</code> specifies that - <code>com::sun::star::beans::XPropertySet</code> is not supported, then - the given <code>absentOptional</code> is effectively ignored and can be - empty. - */ - PropertySetMixin( - com::sun::star::uno::Reference< com::sun::star::uno::XComponentContext > - const & context, - Implements implements, - com::sun::star::uno::Sequence< rtl::OUString > const & absentOptional): - PropertySetMixinImpl( - context, implements, absentOptional, T::static_type()) - {} - - /** - @short The destructor. - - @descr Does not throw. - */ - ~PropertySetMixin() {} - -private: - PropertySetMixin(PropertySetMixin &); // not defined - void operator =(PropertySetMixin); // not defined -}; - -#if defined _MSC_VER -#pragma warning(pop) -#endif - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/propshlp.hxx b/cppuhelper/inc/cppuhelper/propshlp.hxx deleted file mode 100644 index 4e8889ccf..000000000 --- a/cppuhelper/inc/cppuhelper/propshlp.hxx +++ /dev/null @@ -1,675 +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. - * - ************************************************************************/ - -#ifndef _CPPUHELPER_PROPSHLP_HXX -#define _CPPUHELPER_PROPSHLP_HXX - -#include <rtl/alloc.h> - -#include <cppuhelper/interfacecontainer.hxx> - -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/beans/XMultiPropertySet.hpp> -#include <com/sun/star/beans/XFastPropertySet.hpp> - -#include <memory> - - -namespace cppu -{ - - -/************************************************************************* -*************************************************************************/ - - -/** - This interface is used by the OPropertyHelper, to access the property description. - */ -class IPropertyArrayHelper -{ -public: - // these are here to force memory de/allocation to sal lib. - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - /** - Folowing the rule, the first virtual method impies the virtual destructor. - */ - virtual ~IPropertyArrayHelper(); - - /** - Return the property members Name and Attribute from the handle nHandle. - @param nHandle the handle of a property. If the values of the handles - are sorted in the same way as the names and the highest handle value - is getCount() -1, than it must be an indexed acces to the property array. - @param pPropName is an out parameter filled with property name of the property with the - handle nHandle. May be NULL. - @param rAttributes is an out parameter filled with attributes of the property with the - handle nHandle. May be NULL. - @return True, if the handle exist, otherwise false. - */ - virtual sal_Bool SAL_CALL fillPropertyMembersByHandle( - ::rtl::OUString * pPropName, sal_Int16 * pAttributes, sal_Int32 nHandle ) = 0; - /** - Return the sequence of properties. The sequence is sorted by name. - */ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > SAL_CALL getProperties(void) = 0; - /** - Return the property with the name rPropertyName. - @param rPropertyName the name of the property. - @exception UnknownPropertyException thrown if the property name is unknown. - */ - virtual ::com::sun::star::beans::Property SAL_CALL getPropertyByName( - const ::rtl::OUString& rPropertyName ) - throw (::com::sun::star::beans::UnknownPropertyException) = 0; - /** - Return true if the property with the name rPropertyName exist, otherwise false. - @param rPropertyName the name of the property. - */ - virtual sal_Bool SAL_CALL hasPropertyByName(const ::rtl::OUString& rPropertyName) = 0; - /** - Return the handle of the property with the name rPropertyName. - If the property does not exist -1 is returned. - @param rPropertyName the name of the property. - */ - virtual sal_Int32 SAL_CALL getHandleByName( const ::rtl::OUString & rPropertyName ) = 0; - /** - Fill the array with the handles of the properties. - @return the handles of the names from the pHandles array. -1 - indicates an unknown property name. - */ - virtual sal_Int32 SAL_CALL fillHandles( - /*out*/ sal_Int32 * pHandles, const ::com::sun::star::uno::Sequence< ::rtl::OUString > & rPropNames ) = 0; -}; - -/** - You can use this helper class to map a XPropertySet-Interface to a XFast- - or a XMultiPropertySet interface. - */ -class OPropertyArrayHelper : public IPropertyArrayHelper -{ -public: - /** - Create an object which supports the common property interfaces. - - @param pProps array of properties - The array pProps should be sorted. - @param nElements is the number of properties in the pProps structure. - @param bSorted indicates that the elements are sorted. - *********/ - OPropertyArrayHelper( - ::com::sun::star::beans::Property *pProps, - sal_Int32 nElements , - sal_Bool bSorted = sal_True ) - SAL_THROW( () ); - - /** - Create an object which supports the common property interfaces. - @param aProps sequence of properties which are supported by this helper. - The sequence aProps should be sorted. - @param bSorted indicates that the elements are sorted. - */ - OPropertyArrayHelper( - const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > & aProps, - sal_Bool bSorted = sal_True ) - SAL_THROW( () ); - - /** - Return the number of properties. - */ - sal_Int32 SAL_CALL getCount() const SAL_THROW( () ); - /** - Return the property members Name and Attribute from the handle nHandle. - @param nHandle the handle of a property. If the values of the handles - are sorted in the same way as the names and the highest handle value - is getCount() -1, than it is only an indexed acces to the property array. - Otherwise it is a linear search through the array. - @param pPropName is an out parameter filled with property name of the property with the - handle nHandle. May be NULL. - @param rAttributes is an out parameter filled with attributes of the property with the - handle nHandle. May be NULL. - @return True, if the handle exist, otherwise false. - */ - virtual sal_Bool SAL_CALL fillPropertyMembersByHandle( - ::rtl::OUString * pPropName, sal_Int16 * pAttributes, sal_Int32 nHandle ); - /** - Return the sequence of properties. The sequence is sorted by name. - */ - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > SAL_CALL getProperties(void); - /** - Return the property with the name rPropertyName. - @param rPropertyName the name of the property. - @exception UnknownPropertyException thrown if the property name is unknown. - */ - virtual ::com::sun::star::beans::Property SAL_CALL getPropertyByName( - const ::rtl::OUString& rPropertyName ) - throw (::com::sun::star::beans::UnknownPropertyException); - /** - Return true if the property with the name rPropertyName exist, otherwise false. - @param rPropertyName the name of the property. - */ - virtual sal_Bool SAL_CALL hasPropertyByName(const ::rtl::OUString& rPropertyName); - /** - Return the handle of the property with the name rPropertyName. - If the property does not exist -1 is returned. - @param rPropertyName the name of the property. - */ - virtual sal_Int32 SAL_CALL getHandleByName( const ::rtl::OUString & rPropertyName ); - /** - Fill the array with the handles of the properties. - @return the handles of the names from the pHandles array. -1 - indicates an unknown property name. - */ - virtual sal_Int32 SAL_CALL fillHandles( - /*out*/sal_Int32 * pHandles, const ::com::sun::star::uno::Sequence< ::rtl::OUString > & rPropNames ); - -protected: - /** reserved for future use. do not use. - */ - void * m_pReserved; - -private: - void init( sal_Bool bSorted ) SAL_THROW( () ); - - /** The sequence generated from the pProperties array. */ - ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property > aInfos; - - /** - True, If the values of the handles are sorted in the same way as the names - and the highest handle value is getCount() -1, otherwise false. - */ - sal_Bool bRightOrdered; -}; - - -//----------------------------------------------------------------------------- -// helper defines needed for an interface container with a 32 bit key values - -struct equalInt32_Impl -{ - bool operator()(const sal_Int32 & i1 , const sal_Int32 & i2) const SAL_THROW( () ) - { return i1 == i2; } -}; - -struct hashInt32_Impl -{ - size_t operator()(const sal_Int32 & i) const SAL_THROW( () ) - { return i; } -}; -/** Specialized class for key type sal_Int32, - without explicit usage of STL symbols. -*/ -class OMultiTypeInterfaceContainerHelperInt32 -{ -public: - // these are here to force memory de/allocation to sal lib. - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - /** - Create a container of interface containers. - - @param rMutex the mutex to protect multi thread access. - The lifetime must be longer than the lifetime - of this object. - */ - OMultiTypeInterfaceContainerHelperInt32( ::osl::Mutex & ) SAL_THROW( () ); - /** - Delete all containers. - */ - ~OMultiTypeInterfaceContainerHelperInt32() SAL_THROW( () ); - - /** - Return all id's under which at least one interface is added. - */ - ::com::sun::star::uno::Sequence< sal_Int32 > SAL_CALL getContainedTypes() const SAL_THROW( () ); - - /** - Return the container created under this key. - @return the container created under this key. If the container - was not created, null was returned. - */ - OInterfaceContainerHelper * SAL_CALL getContainer( const sal_Int32 & rKey ) const SAL_THROW( () ); - - /** - Insert an element in the container specified with the key. The position is not specified. - @param rKey the id of the container. - @param rxIFace the added interface. It is allowed to insert null or - the same pointer more than once. - @return the new count of elements in the container. - */ - sal_Int32 SAL_CALL addInterface( - const sal_Int32 & rKey, - const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & r ) - SAL_THROW( () ); - - /** - Remove an element from the container specified with the key. - It uses the equal definition of uno objects to remove the interfaces. - @param rKey the id of the container. - @param rxIFace the removed interface. - @return the new count of elements in the container. - */ - sal_Int32 SAL_CALL removeInterface( - const sal_Int32 & rKey, - const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rxIFace ) - SAL_THROW( () ); - - /** - Call disposing on all objects in the container that - support XEventListener. Then clear the container. - */ - void SAL_CALL disposeAndClear( const ::com::sun::star::lang::EventObject & rEvt ) SAL_THROW( () ); - /** - Remove all elements of all containers. Does not delete the container. - */ - void SAL_CALL clear() SAL_THROW( () ); - - typedef sal_Int32 keyType; -private: - void *m_pMap; - ::osl::Mutex & rMutex; - - inline OMultiTypeInterfaceContainerHelperInt32( const OMultiTypeInterfaceContainerHelperInt32 & ) SAL_THROW( () ); - inline OMultiTypeInterfaceContainerHelperInt32 & operator = ( const OMultiTypeInterfaceContainerHelperInt32 & ) SAL_THROW( () ); -}; - - -/** An interface to extend event notification actions. - */ -class IEventNotificationHook -{ -public: - /** - Method to be called by OPropertySetHelper::fire. - - @param bIgnoreRuntimeExceptionsWhileFiring - indicates whether occuring RuntimeExceptions shall be - ignored when firing notifications - - @see OPropertySetHelper::fire - */ - virtual void fireEvents( - sal_Int32 * pnHandles, - sal_Int32 nCount, - sal_Bool bVetoable, - bool bIgnoreRuntimeExceptionsWhileFiring) = 0; -}; - - - -/** - This abstract class maps the methods of the interfaces XMultiPropertySet, XFastPropertySet - and XPropertySet to the methods getInfoHelper, convertFastPropertyValue, - setFastPropertyValue_NoBroadcast and getFastPropertyValue. You must derive from - this class and overload the methods. - It provides a standard implementation of the XPropertySetInfo. - The XPropertiesChangeListener are inserted in the rBHelper.aLC structure. - The XPropertyChangeListener and XVetoableChangeListener with no names are inserted - in the rBHelper.aLC structure. So it is possible to advise property listeners with - the connection point interfaces. But only listeners that listen to all property changes. - - */ -class OPropertySetHelper : public ::com::sun::star::beans::XMultiPropertySet, - public ::com::sun::star::beans::XFastPropertySet, - public ::com::sun::star::beans::XPropertySet -{ -public: - /** - @param rBHelper this structure contains the basic members of - a broadcaster. - The lifetime must be longer than the lifetime - of this object. Stored in the variable rBHelper. - */ - OPropertySetHelper( OBroadcastHelper & rBHelper ) SAL_THROW( () ); - - /** Constructor. - - @param rBHelper - this structure contains the basic members of - a broadcaster. - The lifetime must be longer than the lifetime - of this object. Stored in the variable rBHelper. - - @param bIgnoreRuntimeExceptionsWhileFiring - indicates whether occuring RuntimeExceptions will be - ignored when firing notifications (vetoableChange((), - propertyChange()) to listeners. - PropertyVetoExceptions may still be thrown. - This flag is useful in a inter-process scenarios when - remote bridges may break down - (firing DisposedExceptions). - */ - OPropertySetHelper( - OBroadcastHelper & rBHelper, bool bIgnoreRuntimeExceptionsWhileFiring ); - - /** Constructor. - - @param rBHelper - this structure contains the basic members of - a broadcaster. - The lifetime must be longer than the lifetime - of this object. Stored in the variable rBHelper. - - @param i_pFireEvents - additional event notifier - - @param bIgnoreRuntimeExceptionsWhileFiring - indicates whether occuring RuntimeExceptions will be - ignored when firing notifications (vetoableChange((), - propertyChange()) to listeners. - PropertyVetoExceptions may still be thrown. - This flag is useful in a inter-process scenarios when - remote bridges may break down - (firing DisposedExceptions). - */ - OPropertySetHelper( - OBroadcastHelper & rBHelper, - IEventNotificationHook *i_pFireEvents, - bool bIgnoreRuntimeExceptionsWhileFiring = false); - - /** - Only returns a reference to XMultiPropertySet, XFastPropertySet, XPropertySet and - XEventListener. - */ - ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) - throw (::com::sun::star::uno::RuntimeException); - - /** eases implementing XTypeProvider::getTypes, returns the types of XMultiPropertySet, XFastPropertySet, XPropertySet - */ - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > getTypes() - throw(::com::sun::star::uno::RuntimeException); - - /** - Send a disposing notification to the listeners in the conatiners aBoundLC - and aVetoableLC. - - @see OComponentHelper - */ - void SAL_CALL disposing() SAL_THROW( () ); - - /** - Throw UnknownPropertyException or PropertyVetoException if the property with the name - rPropertyName does not exist or is readonly. Otherwise rPropertyName is changed to its handle - value and setFastPropertyValue is called. - */ - virtual void SAL_CALL setPropertyValue( const ::rtl::OUString& rPropertyName, const ::com::sun::star::uno::Any& aValue ) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - /** - Throw UnknownPropertyException if the property with the name - rPropertyName does not exist. - */ - virtual ::com::sun::star::uno::Any SAL_CALL getPropertyValue(const ::rtl::OUString& aPropertyName) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - /** Ignored if the property is not bound. */ - virtual void SAL_CALL addPropertyChangeListener( - const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener >& aListener) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - - /** Ignored if the property is not bound. */ - virtual void SAL_CALL removePropertyChangeListener( - const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertyChangeListener >& aListener) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - - /** Ignored if the property is not constrained. */ - virtual void SAL_CALL addVetoableChangeListener( - const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener >& aListener) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - - /** Ignored if the property is not constrained. */ - virtual void SAL_CALL removeVetoableChangeListener( - const ::rtl::OUString& aPropertyName, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener > & aListener ) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - - /** - Throw UnknownPropertyException or PropertyVetoException if the property with the name - rPropertyName does not exist or is readonly. Otherwise the method convertFastPropertyValue - is called, then the vetoable listeners are notified. After this the value of the property - is changed with the setFastPropertyValue_NoBroadcast method and the bound listeners are - notified. - */ - virtual void SAL_CALL setFastPropertyValue( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue ) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - - /** - @exception com::sun::star::beans::UnknownPropertyException - if the property with the handle nHandle does not exist. - */ - virtual ::com::sun::star::uno::Any SAL_CALL getFastPropertyValue( sal_Int32 nHandle ) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - - // XMultiPropertySet - virtual void SAL_CALL setPropertyValues( - const ::com::sun::star::uno::Sequence< ::rtl::OUString >& PropertyNames, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any >& Values ) - throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException); - - virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Any > SAL_CALL getPropertyValues( - const ::com::sun::star::uno::Sequence< ::rtl::OUString >& PropertyNames ) - throw(::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL addPropertiesChangeListener( - const ::com::sun::star::uno::Sequence< ::rtl::OUString >& PropertyNames, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& Listener ) - throw(::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL removePropertiesChangeListener( - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener >& Listener ) - throw(::com::sun::star::uno::RuntimeException); - - virtual void SAL_CALL firePropertiesChangeEvent( - const ::com::sun::star::uno::Sequence< ::rtl::OUString >& PropertyNames, - const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertiesChangeListener > & Listener ) - throw(::com::sun::star::uno::RuntimeException); - /** - The property sequence is created in the call. The interface isn't used after the call. - */ - static ::com::sun::star::uno::Reference < ::com::sun::star::beans::XPropertySetInfo > SAL_CALL - createPropertySetInfo( IPropertyArrayHelper & rProperties ) SAL_THROW( () ); -protected: - /** - This method fire events to all registered property listeners. - @param pnHandles the id's of the properties that changed. - @param pNewValues the new values of the properties. - @param pOldValues the old values of the properties. - @param nCount the number of elements in the arrays pnHandles, pNewValues and pOldValues. - @param bVetoable true means fire to VetoableChangeListener, false means fire to - XPropertyChangedListener and XMultiPropertyChangedListener. - */ - void SAL_CALL fire( - sal_Int32 * pnHandles, - const ::com::sun::star::uno::Any * pNewValues, - const ::com::sun::star::uno::Any * pOldValues, - sal_Int32 nCount, - sal_Bool bVetoable ); - - /** - Set multiple properties with the handles. - @param nSeqLen the length of the arrays pHandles and Values. - @param pHandles the handles of the properties. The number of elements - in the Values sequence is the length of the handle array. A value of -1 - of a handle means invalid property. These are ignored. - @param pValues the values of the properties. - @param nHitCount the number of valid entries in the handle array. - */ - void SAL_CALL setFastPropertyValues( - sal_Int32 nSeqLen, - sal_Int32 * pHandles, - const ::com::sun::star::uno::Any * pValues, - sal_Int32 nHitCount ) - SAL_THROW( (::com::sun::star::uno::Exception) ); - - /** - This abstract method must return the name to index table. This table contains all property - names and types of this object. The method is not implemented in this class. - */ - virtual IPropertyArrayHelper & SAL_CALL getInfoHelper() = 0; - - /** - Converted the value rValue and return the result in rConvertedValue and the - old value in rOldValue. A IllegalArgumentException is thrown. - The method is not implemented in this class. After this call the vetoable - listeners are notified. - - @param rConvertedValue the converted value. Only set if return is true. - @param rOldValue the old value. Only set if return is true. - @param nHandle the handle of the proberty. - @return true if the value converted. - */ - virtual sal_Bool SAL_CALL convertFastPropertyValue( - ::com::sun::star::uno::Any & rConvertedValue, - ::com::sun::star::uno::Any & rOldValue, - sal_Int32 nHandle, - const ::com::sun::star::uno::Any& rValue ) - throw (::com::sun::star::lang::IllegalArgumentException) = 0; - - /** The same as setFastProperyValue; nHandle is always valid. - The changes must not be broadcasted in this method. - The method is implemented in a derived class. - - @attention - Although you are permitted to throw any UNO exception, only the following - are valid for usage: - -- ::com::sun::star::beans::UnknownPropertyException - -- ::com::sun::star::beans::PropertyVetoException - -- ::com::sun::star::lang::IllegalArgumentException - -- ::com::sun::star::lang::WrappedTargetException - -- ::com::sun::star::uno::RuntimeException - - @param nHandle - handle - @param rValue - value - */ - virtual void SAL_CALL setFastPropertyValue_NoBroadcast( - sal_Int32 nHandle, - const ::com::sun::star::uno::Any& rValue ) - throw (::com::sun::star::uno::Exception) = 0; - /** - The same as getFastProperyValue, but return the value through rValue and nHandle - is always valid. - The method is not implemented in this class. - */ - virtual void SAL_CALL getFastPropertyValue( - ::com::sun::star::uno::Any& rValue, - sal_Int32 nHandle ) const = 0; - - /** sets an dependent property's value - - <p>Sometimes setting a given property needs to implicitly modify another property's value. Calling |setPropertyValue| - from within |setFastPropertyValue_NoBroadcast| is not an option here, as it would notify the property listeners - while our mutex is still locked. Setting the dependent property's value directly (e.g. by calling |setFastPropertyValue_NoBroadcast| - recursively) is not an option, too, since it would miss firing the property change event.</p> - - <p>So, in such cases, you use |setDependentFastPropertyValue| from within |setFastPropertyValue_NoBroadcast|. - It will convert and actually set the property value (invoking |convertFastPropertyValue| and |setFastPropertyValue_NoBroadcast| - for the given handle and value), and add the property change event to the list of events to be notified - when the bottom-most |setFastPropertyValue_NoBroadcast| on the stack returns.</p> - - <p><strong>Note</strong>: The method will <em>not</em> invoke veto listeners for the property.</p> - - <p><strong>Note</strong>: It's the caller's responsibility to ensure that our mutex is locked. This is - canonically given when the method is invoked from within |setFastPropertyValue_NoBroadcast|, in other - contexts, you might need to take own measures.</p> - */ - void setDependentFastPropertyValue( - sal_Int32 i_handle, - const ::com::sun::star::uno::Any& i_value - ); - - /** The common data of a broadcaster. Use the mutex, disposing state and the listener container. */ - OBroadcastHelper &rBHelper; - /** - Container for the XProperyChangedListener. The listeners are inserted by handle. - */ - OMultiTypeInterfaceContainerHelperInt32 aBoundLC; - /** - Container for the XPropertyVetoableListener. The listeners are inserted by handle. - */ - OMultiTypeInterfaceContainerHelperInt32 aVetoableLC; - - class Impl; - - /** reserved for future use. finally, the future has arrived... - */ - const std::auto_ptr<Impl> m_pReserved; - -private: - OPropertySetHelper( const OPropertySetHelper & ) SAL_THROW( () ); - OPropertySetHelper & operator = ( const OPropertySetHelper & ) SAL_THROW( () ); - - /** notifies the given changes in property's values, <em>plus</em> all property changes collected during recent - |setDependentFastPropertyValue| calls. - */ - void impl_fireAll( - sal_Int32* i_handles, - const ::com::sun::star::uno::Any * i_newValues, - const ::com::sun::star::uno::Any * i_oldValues, - sal_Int32 i_count - ); - -public: -// Suppress warning about virtual functions but non-virtual destructor: -#if defined __GNUC__ -#pragma GCC system_header -#elif defined _MSC_VER -#pragma warning(push) -#pragma warning(disable: 4265) -#endif - /** - You must call disposing before destruction. - */ - ~OPropertySetHelper() SAL_THROW( () ); -}; -#if defined _MSC_VER -#pragma warning(pop) -#endif - -} // end namespace cppuhelper -#endif // - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/proptypehlp.h b/cppuhelper/inc/cppuhelper/proptypehlp.h deleted file mode 100644 index a7c121031..000000000 --- a/cppuhelper/inc/cppuhelper/proptypehlp.h +++ /dev/null @@ -1,79 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_PROPTYPEHLP_H -#define _CPPUHELPER_PROPTYPEHLP_H - -#include <com/sun/star/lang/IllegalArgumentException.hpp> -#include <com/sun/star/uno/TypeClass.hpp> - - -namespace cppu { - -/** Converts the value stored in an any to a concrete C++ type. - The function does the same as the operator >>= () at the - Any class, except that it throws an IllegalArgumentException in case of - failures (the value cannot be extracted without data loss ) - - @exception com::sun::star::lang::IllegalArgumentException when the type could not be converted. - */ -template < class target > -inline void SAL_CALL convertPropertyValue( target &value , const ::com::sun::star::uno::Any & a); - -template < class target > -inline void SAL_CALL convertPropertyValue( target &value , ::com::sun::star::uno::Any & a); - -/** - conversion of basic types -*/ -inline void SAL_CALL convertPropertyValue( sal_Int64 & target , const ::com::sun::star::uno::Any & source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); -inline void SAL_CALL convertPropertyValue( sal_uInt64 & target, const ::com::sun::star::uno::Any & source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); -inline void SAL_CALL convertPropertyValue( sal_Int32 & target , const ::com::sun::star::uno::Any & source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); -inline void SAL_CALL convertPropertyValue( sal_uInt32 & target, const ::com::sun::star::uno::Any & source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); -inline void SAL_CALL convertPropertyValue( sal_Int16 & target , const ::com::sun::star::uno::Any & source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); -inline void SAL_CALL convertPropertyValue( sal_uInt16 & target, const ::com::sun::star::uno::Any & source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); -inline void SAL_CALL convertPropertyValue( sal_Int8 & target , const ::com::sun::star::uno::Any & source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); -inline void SAL_CALL convertPropertyValue( float & target , const ::com::sun::star::uno::Any & source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); -inline void SAL_CALL convertPropertyValue( double &target , const ::com::sun::star::uno::Any &source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); -inline void SAL_CALL convertPropertyValue( ::rtl::OUString &target , const ::com::sun::star::uno::Any &source ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ); - -} // end namespace cppu - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/proptypehlp.hxx b/cppuhelper/inc/cppuhelper/proptypehlp.hxx deleted file mode 100644 index b7a14e8bc..000000000 --- a/cppuhelper/inc/cppuhelper/proptypehlp.hxx +++ /dev/null @@ -1,532 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_PROPTYPEHLP_HXX -#define _CPPUHELPER_PROPTYPEHLP_HXX - -#include <cppuhelper/proptypehlp.h> - -namespace cppu -{ - -/** Converts the value stored in an any to a concrete C++ type. - The function does the same as the operator >>= () at the - Any class, except that it throws an IllegalArgumentException in case of - failures (the value cannot be extracted without data loss ) - - @exception com::sun::star::lang::IllegalArgumentException when the type could not be converted. - */ -template < class target > -inline void SAL_CALL convertPropertyValue( target &value , const ::com::sun::star::uno::Any & a) -{ - - if( !( a >>= value ) ) { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - - -// This template is needed at least for msci4 compiler -template < class target > -inline void SAL_CALL convertPropertyValue( target &value , ::com::sun::star::uno::Any & a) -{ - convertPropertyValue( value , (const ::com::sun::star::uno::Any & ) a ); -} - -/** - conversion of basic types -*/ -inline void SAL_CALL convertPropertyValue( sal_Bool & b , const ::com::sun::star::uno::Any & a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if( ::com::sun::star::uno::TypeClass_LONG == tc ) { - sal_Int32 i32 = 0; - a >>= i32; - b = ( sal_Bool )i32; - } - else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) { - sal_Unicode c = *(sal_Unicode*) a.getValue(); - b = ( sal_Bool ) c; - } - else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) { - sal_Int16 i16 = 0; - a >>= i16; - b = ( sal_Bool ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - b = *((sal_Bool*)a.getValue()); - } - else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - sal_Int8 i8 = 0; - a >>= i8; - b = ( sal_Bool ) i8; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) { - sal_uInt16 i16 = 0; - a >>= i16; - b = ( sal_Bool ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) { - sal_uInt32 i32 = 0; - a >>= i32; - b = ( sal_Bool ) i32; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - -inline void SAL_CALL convertPropertyValue( sal_Int64 & i , const ::com::sun::star::uno::Any & a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if( ::com::sun::star::uno::TypeClass_HYPER == tc ) { - a >>= i; - } - else if( ::com::sun::star::uno::TypeClass_UNSIGNED_HYPER == tc ) { - sal_uInt64 i64 = 0; - a >>= i64; - i = ( sal_Int64 ) i64; - } - else if( ::com::sun::star::uno::TypeClass_LONG == tc ) { - sal_Int32 i32 = 0; - a >>= i32; - i = ( sal_Int64 )i32; - } - else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) { - sal_Unicode c; - c = *(sal_Unicode *)a.getValue(); - i = ( sal_Int64 ) c; - } - else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) { - sal_Int16 i16 = 0; - a >>= i16; - i = ( sal_Int64 ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - sal_Bool b; - b = *((sal_Bool * )a.getValue()); - i = ( sal_Int64 ) b; - } - else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - sal_Int8 i8 = 0; - a >>= i8; - i = ( sal_Int64 ) i8; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) { - sal_uInt16 i16 = 0; - a >>= i16; - i = ( sal_Int64 ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) { - sal_uInt32 i32 = 0; - a >>= i32; - i = ( sal_Int64 ) i32; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - - -inline void SAL_CALL convertPropertyValue( sal_uInt64 & i , const ::com::sun::star::uno::Any & a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if( ::com::sun::star::uno::TypeClass_UNSIGNED_HYPER == tc ) { - a >>= i; - } - if( ::com::sun::star::uno::TypeClass_HYPER == tc ) { - sal_Int64 i64; - a >>= i64; - i = ( sal_uInt64 ) i64; - } - else if( ::com::sun::star::uno::TypeClass_LONG == tc ) { - sal_Int32 i32; - a >>= i32; - i = ( sal_uInt64 )i32; - } - else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) { - sal_Unicode c; - c = *( sal_Unicode * ) a.getValue() ; - i = ( sal_uInt64 ) c; - } - else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) { - sal_Int16 i16; - a >>= i16; - i = ( sal_uInt64 ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - sal_Bool b; - b = *((sal_Bool * )a.getValue()); - i = ( sal_uInt64 ) b; - } - else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - sal_Int8 i8; - a >>= i8; - i = ( sal_uInt64 ) i8; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) { - sal_uInt16 i16; - a >>= i16; - i = ( sal_uInt64 ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) { - sal_uInt32 i32; - a >>= i32; - i = ( sal_uInt64 ) i32; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - -// the basic types -// sal_Int32 -inline void SAL_CALL convertPropertyValue( sal_Int32 & i , const ::com::sun::star::uno::Any & a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if( ::com::sun::star::uno::TypeClass_LONG == tc ) { - a >>= i; - } - else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) { - sal_Unicode c; - c = *(sal_Unicode*) a.getValue(); - i = ( sal_Int32 ) c; - } - else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) { - sal_Int16 i16 = 0; - a >>= i16; - i = ( sal_Int32 ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - sal_Bool b; - b = *((sal_Bool * )a.getValue()); - i = ( sal_Int32 ) b; - } - else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - sal_Int8 i8 = 0; - a >>= i8; - i = ( sal_Int32 ) i8; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) { - sal_uInt16 i16 = 0; - a >>= i16; - i = ( sal_Int32 ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) { - sal_uInt32 i32 = 0; - a >>= i32; - i = ( sal_Int32 ) i32; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - -inline void SAL_CALL convertPropertyValue( sal_uInt32 & i , const ::com::sun::star::uno::Any & a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) { - a >>= i; - } - else if( ::com::sun::star::uno::TypeClass_LONG == tc ) { - sal_Int32 i32; - a >>= i32; - i = (sal_uInt32 ) i32; - } - else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) { - sal_Unicode c; - c = *(sal_Unicode*) a.getValue(); - i = ( sal_uInt32 ) c; - } - else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) { - sal_Int16 i16; - a >>= i16; - i = ( sal_uInt32 ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - sal_Bool b; - b = *((sal_Bool * )a.getValue()); - i = ( sal_uInt32 ) b; - } - else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - sal_Int8 i8; - a >>= i8; - i = ( sal_uInt32 ) i8; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) { - sal_uInt16 i16; - a >>= i16; - i = ( sal_uInt32 ) i16; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - - -inline void SAL_CALL convertPropertyValue( sal_Int16 & i , const ::com::sun::star::uno::Any & a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) { - a >>= i; - } - else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) { - sal_Unicode c; - c = *(sal_Unicode*) a.getValue(); - i = ( sal_Int16 ) c; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - sal_Bool b; - b = *((sal_Bool * )a.getValue()); - i = ( sal_Int16 ) b; - } - else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - sal_Int8 i8 = 0; - a >>= i8; - i = ( sal_Int16 ) i8; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) { - sal_uInt16 i16 = 0; - a >>= i16; - i = ( sal_Int16 ) i16; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - -inline void SAL_CALL convertPropertyValue( sal_uInt16 & i , const ::com::sun::star::uno::Any & a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) { - a >>= i; - } - else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) { - sal_Unicode c; - c = *(sal_Unicode *) a.getValue(); - i = ( sal_Int16 ) c; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - sal_Bool b; - b = *((sal_Bool * )a.getValue()); - i = ( sal_Int16 ) b; - } - else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - sal_Int8 i8 = 0; - a >>= i8; - i = ( sal_Int16 ) i8; - } - else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) { - sal_Int16 i16 = 0; - a >>= i16; - i = ( sal_Int16 ) i16; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - -inline void SAL_CALL convertPropertyValue( sal_Int8 & i , const ::com::sun::star::uno::Any & a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - a >>= i; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - sal_Bool b; - b = *((sal_Bool * )a.getValue()); - i = ( sal_Int8 ) b; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - -inline void SAL_CALL convertPropertyValue( float &f , const ::com::sun::star::uno::Any &a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if ( ::com::sun::star::uno::TypeClass_FLOAT == tc ) { - a >>= f; - } - else if( ::com::sun::star::uno::TypeClass_DOUBLE == tc ) { - double d = 0; - a >>= d; - f = ( float ) d; - } - else if( ::com::sun::star::uno::TypeClass_HYPER == tc ) { - sal_Int64 i64 = 0; - a >>= i64; - f = ( float ) i64; - } - // msci 4 does not support this conversion -/* else if( ::com::sun::star::uno::TypeClass_UNSIGNED_HYPER == tc ) { - sal_uInt64 i64; - a >>= i64; - f = ( float ) i64; - } -*/ else if( ::com::sun::star::uno::TypeClass_LONG == tc ) { - sal_Int32 i32 = 0; - a >>= i32; - f = ( float )i32; - } - else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) { - sal_Unicode c; - c = *(sal_Unicode*) a.getValue(); - f = ( float ) c; - } - else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) { - sal_Int16 i16 = 0; - a >>= i16; - f = ( float ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - sal_Bool b; - b = *((sal_Bool * )a.getValue()); - f = ( float ) b; - } - else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - sal_Int8 i8 = 0; - a >>= i8; - f = ( float ) i8; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) { - sal_uInt16 i16 = 0; - a >>= i16; - f = ( float ) i16; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) { - sal_uInt32 i32 = 0; - a >>= i32; - f = ( float ) i32; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - - -inline void SAL_CALL convertPropertyValue( double &d , const ::com::sun::star::uno::Any &a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - const enum ::com::sun::star::uno::TypeClass tc = a.getValueType().getTypeClass(); - - if( ::com::sun::star::uno::TypeClass_DOUBLE == tc ) { - float f; - a >>= f; - d = ( double ) f; - } - else if ( ::com::sun::star::uno::TypeClass_FLOAT == tc ) { - float f; - a >>= f; - d = (double) f; - } - else if( ::com::sun::star::uno::TypeClass_HYPER == tc ) { - sal_Int64 i64; - a >>= i64; - d = (double) i64; - } - // msci 4 does not support this -/* else if( ::com::sun::star::uno::TypeClass_UNSIGNED_HYPER == tc ) { - sal_uInt64 i64; - a >>= i64; - d = (double) i64; - } -*/ else if( ::com::sun::star::uno::TypeClass_LONG == tc ) { - sal_Int32 i32; - a >>= i32; - d = (double)i32; - } - else if ( ::com::sun::star::uno::TypeClass_CHAR == tc ) { - sal_Unicode c; - c = *(sal_Unicode*) a.getValue(); - d = (double) c; - } - else if ( ::com::sun::star::uno::TypeClass_SHORT == tc ) { - sal_Int16 i16; - a >>= i16; - d = (double) i16; - } - else if ( ::com::sun::star::uno::TypeClass_BOOLEAN == tc ) { - sal_Bool b; - b = *((sal_Bool * )a.getValue()); - d = (double) b; - } - else if ( ::com::sun::star::uno::TypeClass_BYTE == tc ) { - sal_Int8 i8; - a >>= i8; - d = (double) i8; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_SHORT == tc ) { - sal_uInt16 i16; - a >>= i16; - d = (double) i16; - } - else if ( ::com::sun::star::uno::TypeClass_UNSIGNED_LONG == tc ) { - sal_uInt32 i32; - a >>= i32; - d = (double) i32; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - -inline void SAL_CALL convertPropertyValue( ::rtl::OUString &ow , const ::com::sun::star::uno::Any &a ) - SAL_THROW( (::com::sun::star::lang::IllegalArgumentException) ) -{ - if( ::com::sun::star::uno::TypeClass_STRING == a.getValueType().getTypeClass() ) { - a >>= ow; - } - else { - throw ::com::sun::star::lang::IllegalArgumentException(); - } -} - -} // end namespace cppu - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/queryinterface.hxx b/cppuhelper/inc/cppuhelper/queryinterface.hxx deleted file mode 100644 index 4efc77ae8..000000000 --- a/cppuhelper/inc/cppuhelper/queryinterface.hxx +++ /dev/null @@ -1,543 +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. - * - ************************************************************************/ - -#ifndef _CPPUHELPER_QUERYINTERFACE_HXX_ -#define _CPPUHELPER_QUERYINTERFACE_HXX_ - -#include "sal/config.h" -#include "com/sun/star/uno/Any.hxx" -#include "com/sun/star/uno/Type.hxx" -#include "sal/types.h" - -namespace cppu -{ - -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @param rType demanded type - @param p1 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @tplparam Interface4 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @param p4 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3, class Interface4 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else if (rType == Interface4::static_type()) - return ::com::sun::star::uno::Any( &p4, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @tplparam Interface4 interface type - @tplparam Interface5 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @param p4 interface pointer - @param p5 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else if (rType == Interface4::static_type()) - return ::com::sun::star::uno::Any( &p4, rType ); - else if (rType == Interface5::static_type()) - return ::com::sun::star::uno::Any( &p5, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @tplparam Interface4 interface type - @tplparam Interface5 interface type - @tplparam Interface6 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @param p4 interface pointer - @param p5 interface pointer - @param p6 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, - class Interface6 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, - Interface6 * p6 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else if (rType == Interface4::static_type()) - return ::com::sun::star::uno::Any( &p4, rType ); - else if (rType == Interface5::static_type()) - return ::com::sun::star::uno::Any( &p5, rType ); - else if (rType == Interface6::static_type()) - return ::com::sun::star::uno::Any( &p6, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @tplparam Interface4 interface type - @tplparam Interface5 interface type - @tplparam Interface6 interface type - @tplparam Interface7 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @param p4 interface pointer - @param p5 interface pointer - @param p6 interface pointer - @param p7 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, - class Interface6, class Interface7 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, - Interface6 * p6, Interface7 * p7 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else if (rType == Interface4::static_type()) - return ::com::sun::star::uno::Any( &p4, rType ); - else if (rType == Interface5::static_type()) - return ::com::sun::star::uno::Any( &p5, rType ); - else if (rType == Interface6::static_type()) - return ::com::sun::star::uno::Any( &p6, rType ); - else if (rType == Interface7::static_type()) - return ::com::sun::star::uno::Any( &p7, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @tplparam Interface4 interface type - @tplparam Interface5 interface type - @tplparam Interface6 interface type - @tplparam Interface7 interface type - @tplparam Interface8 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @param p4 interface pointer - @param p5 interface pointer - @param p6 interface pointer - @param p7 interface pointer - @param p8 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, - class Interface6, class Interface7, class Interface8 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, - Interface6 * p6, Interface7 * p7, Interface8 * p8 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else if (rType == Interface4::static_type()) - return ::com::sun::star::uno::Any( &p4, rType ); - else if (rType == Interface5::static_type()) - return ::com::sun::star::uno::Any( &p5, rType ); - else if (rType == Interface6::static_type()) - return ::com::sun::star::uno::Any( &p6, rType ); - else if (rType == Interface7::static_type()) - return ::com::sun::star::uno::Any( &p7, rType ); - else if (rType == Interface8::static_type()) - return ::com::sun::star::uno::Any( &p8, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @tplparam Interface4 interface type - @tplparam Interface5 interface type - @tplparam Interface6 interface type - @tplparam Interface7 interface type - @tplparam Interface8 interface type - @tplparam Interface9 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @param p4 interface pointer - @param p5 interface pointer - @param p6 interface pointer - @param p7 interface pointer - @param p8 interface pointer - @param p9 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, - class Interface6, class Interface7, class Interface8, class Interface9 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, - Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else if (rType == Interface4::static_type()) - return ::com::sun::star::uno::Any( &p4, rType ); - else if (rType == Interface5::static_type()) - return ::com::sun::star::uno::Any( &p5, rType ); - else if (rType == Interface6::static_type()) - return ::com::sun::star::uno::Any( &p6, rType ); - else if (rType == Interface7::static_type()) - return ::com::sun::star::uno::Any( &p7, rType ); - else if (rType == Interface8::static_type()) - return ::com::sun::star::uno::Any( &p8, rType ); - else if (rType == Interface9::static_type()) - return ::com::sun::star::uno::Any( &p9, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @tplparam Interface4 interface type - @tplparam Interface5 interface type - @tplparam Interface6 interface type - @tplparam Interface7 interface type - @tplparam Interface8 interface type - @tplparam Interface9 interface type - @tplparam Interface10 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @param p4 interface pointer - @param p5 interface pointer - @param p6 interface pointer - @param p7 interface pointer - @param p8 interface pointer - @param p9 interface pointer - @param p10 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, - class Interface6, class Interface7, class Interface8, class Interface9, class Interface10 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, - Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else if (rType == Interface4::static_type()) - return ::com::sun::star::uno::Any( &p4, rType ); - else if (rType == Interface5::static_type()) - return ::com::sun::star::uno::Any( &p5, rType ); - else if (rType == Interface6::static_type()) - return ::com::sun::star::uno::Any( &p6, rType ); - else if (rType == Interface7::static_type()) - return ::com::sun::star::uno::Any( &p7, rType ); - else if (rType == Interface8::static_type()) - return ::com::sun::star::uno::Any( &p8, rType ); - else if (rType == Interface9::static_type()) - return ::com::sun::star::uno::Any( &p9, rType ); - else if (rType == Interface10::static_type()) - return ::com::sun::star::uno::Any( &p10, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @tplparam Interface4 interface type - @tplparam Interface5 interface type - @tplparam Interface6 interface type - @tplparam Interface7 interface type - @tplparam Interface8 interface type - @tplparam Interface9 interface type - @tplparam Interface10 interface type - @tplparam Interface11 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @param p4 interface pointer - @param p5 interface pointer - @param p6 interface pointer - @param p7 interface pointer - @param p8 interface pointer - @param p9 interface pointer - @param p10 interface pointer - @param p11 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, - class Interface6, class Interface7, class Interface8, class Interface9, class Interface10, - class Interface11 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, - Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10, - Interface11 * p11 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else if (rType == Interface4::static_type()) - return ::com::sun::star::uno::Any( &p4, rType ); - else if (rType == Interface5::static_type()) - return ::com::sun::star::uno::Any( &p5, rType ); - else if (rType == Interface6::static_type()) - return ::com::sun::star::uno::Any( &p6, rType ); - else if (rType == Interface7::static_type()) - return ::com::sun::star::uno::Any( &p7, rType ); - else if (rType == Interface8::static_type()) - return ::com::sun::star::uno::Any( &p8, rType ); - else if (rType == Interface9::static_type()) - return ::com::sun::star::uno::Any( &p9, rType ); - else if (rType == Interface10::static_type()) - return ::com::sun::star::uno::Any( &p10, rType ); - else if (rType == Interface11::static_type()) - return ::com::sun::star::uno::Any( &p11, rType ); - else - return ::com::sun::star::uno::Any(); -} -/** Compares demanded type to given template argument types. - - @tplparam Interface1 interface type - @tplparam Interface2 interface type - @tplparam Interface3 interface type - @tplparam Interface4 interface type - @tplparam Interface5 interface type - @tplparam Interface6 interface type - @tplparam Interface7 interface type - @tplparam Interface8 interface type - @tplparam Interface9 interface type - @tplparam Interface10 interface type - @tplparam Interface11 interface type - @tplparam Interface12 interface type - @param rType demanded type - @param p1 interface pointer - @param p2 interface pointer - @param p3 interface pointer - @param p4 interface pointer - @param p5 interface pointer - @param p6 interface pointer - @param p7 interface pointer - @param p8 interface pointer - @param p9 interface pointer - @param p10 interface pointer - @param p11 interface pointer - @param p12 interface pointer - @return acquired interface of demanded type or empty Any -*/ -template< class Interface1, class Interface2, class Interface3, class Interface4, class Interface5, - class Interface6, class Interface7, class Interface8, class Interface9, class Interface10, - class Interface11, class Interface12 > -inline ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType, - Interface1 * p1, Interface2 * p2, Interface3 * p3, Interface4 * p4, Interface5 * p5, - Interface6 * p6, Interface7 * p7, Interface8 * p8, Interface9 * p9, Interface10 * p10, - Interface11 * p11, Interface12 * p12 ) - SAL_THROW( () ) -{ - if (rType == Interface1::static_type()) - return ::com::sun::star::uno::Any( &p1, rType ); - else if (rType == Interface2::static_type()) - return ::com::sun::star::uno::Any( &p2, rType ); - else if (rType == Interface3::static_type()) - return ::com::sun::star::uno::Any( &p3, rType ); - else if (rType == Interface4::static_type()) - return ::com::sun::star::uno::Any( &p4, rType ); - else if (rType == Interface5::static_type()) - return ::com::sun::star::uno::Any( &p5, rType ); - else if (rType == Interface6::static_type()) - return ::com::sun::star::uno::Any( &p6, rType ); - else if (rType == Interface7::static_type()) - return ::com::sun::star::uno::Any( &p7, rType ); - else if (rType == Interface8::static_type()) - return ::com::sun::star::uno::Any( &p8, rType ); - else if (rType == Interface9::static_type()) - return ::com::sun::star::uno::Any( &p9, rType ); - else if (rType == Interface10::static_type()) - return ::com::sun::star::uno::Any( &p10, rType ); - else if (rType == Interface11::static_type()) - return ::com::sun::star::uno::Any( &p11, rType ); - else if (rType == Interface12::static_type()) - return ::com::sun::star::uno::Any( &p12, rType ); - else - return ::com::sun::star::uno::Any(); -} - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/servicefactory.hxx b/cppuhelper/inc/cppuhelper/servicefactory.hxx deleted file mode 100644 index bdf9f9e6b..000000000 --- a/cppuhelper/inc/cppuhelper/servicefactory.hxx +++ /dev/null @@ -1,124 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_SERVICEFACTORY_HXX_ -#define _CPPUHELPER_SERVICEFACTORY_HXX_ - -#include <rtl/ustring.hxx> - -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/lang/XMultiComponentFactory.hpp> - - -namespace cppu -{ - -/** Deprecated. Use cppuhelper/bootstrap.hxx functions instead. - - This bootstraps an initial service factory working on a registry. If the first or both - parameters contain a value then the service factory is initialized with a simple registry - or a nested registry. Otherwise the service factory must be initialized later with a valid - registry. - - @param rWriteRegistryFile - file name of the simple registry or the first registry file of - the nested registry which will be opened with read/write rights. This - file will be created if necessary. - @param rReadRegistryFile - file name of the second registry file of the nested registry - which will be opened with readonly rights. - @param bReadOnly - flag which specify that the first registry file will be opened with - readonly rights. Default is FALSE. If this flag is used the registry - will not be created if not exist. - @param rBootstrapPath - specifies a path where the bootstrap components could be find. If this - parameter is an empty string the compoents will be searched in the system - path. - @deprecated -*/ -::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > SAL_CALL -createRegistryServiceFactory( - const ::rtl::OUString & rWriteRegistryFile, - const ::rtl::OUString & rReadRegistryFile, - sal_Bool bReadOnly = sal_False, - const ::rtl::OUString & rBootstrapPath = ::rtl::OUString() ) - SAL_THROW( (::com::sun::star::uno::Exception) ); - - -/** Deprecated. Use cppuhelper/bootstrap.hxx functions instead. - - This bootstraps an initial service factory working on a registry file. - - @param rRegistryFile - file name of the registry to use/ create; if this is an empty - string, the default registry is used instead - @param bReadOnly - flag which specify that the registry file will be opened with - readonly rights. Default is FALSE. If this flag is used the registry - will not be created if not exist. - @param rBootstrapPath - specifies a path where the bootstrap components could be find. If this - parameter is an empty string the compoents will be searched in the system - path. - @deprecated -*/ -inline ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > SAL_CALL -createRegistryServiceFactory( - const ::rtl::OUString & rRegistryFile, - sal_Bool bReadOnly = sal_False, - const ::rtl::OUString & rBootstrapPath = ::rtl::OUString() ) - SAL_THROW( (::com::sun::star::uno::Exception) ) -{ - return ::cppu::createRegistryServiceFactory( - rRegistryFile, ::rtl::OUString(), bReadOnly, rBootstrapPath ); -} - -/** Deprecated. Use cppuhelper/bootstrap.hxx functions instead. - - This bootstraps a service factory without initialize a registry. - - @param rBootstrapPath - specifies a path where the bootstrap components could be find. If this - parameter is an empty string the compoents will be searched in the system - path. - @deprecated -*/ -inline ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > SAL_CALL -createServiceFactory( - const ::rtl::OUString & rBootstrapPath = ::rtl::OUString() ) - SAL_THROW( (::com::sun::star::uno::Exception) ) -{ - return ::cppu::createRegistryServiceFactory( - ::rtl::OUString(), ::rtl::OUString(), sal_False, rBootstrapPath ); -} - -} // end namespace cppu - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/shlib.hxx b/cppuhelper/inc/cppuhelper/shlib.hxx deleted file mode 100644 index ebbc1e1d9..000000000 --- a/cppuhelper/inc/cppuhelper/shlib.hxx +++ /dev/null @@ -1,113 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_SHLIB_HXX_ -#define _CPPUHELPER_SHLIB_HXX_ - -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/registry/XRegistryKey.hpp> -#include <com/sun/star/loader/CannotActivateFactoryException.hpp> -#include <com/sun/star/registry/CannotRegisterImplementationException.hpp> - - -namespace cppu -{ - -/** Loads a shared library component and gets the factory out of it. You can give either a - fully qualified libname or single lib name. The libname need not be pre/postfixed - (e.g. xxx.dll). You can give parameter rPath to force lookup of the library in a specific - directory. The resulting path of the library will be checked against environment variable - CPLD_ACCESSPATH if set. - - @param rLibName name of the library - @param rPath optional path - @param rImplName implementation to be retrieved from the library - @param xMgr service manager to be provided to the component - @param xKey registry key to be provided to the component - @return - factory instance (::com::sun::star::lang::XSingleComponentFactory or - ::com::sun::star::lang::XSingleComponentFactory) -*/ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > -SAL_CALL loadSharedLibComponentFactory( - ::rtl::OUString const & rLibName, ::rtl::OUString const & rPath, - ::rtl::OUString const & rImplName, - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > const & xMgr, - ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > const & xKey ) - SAL_THROW( (::com::sun::star::loader::CannotActivateFactoryException) ); - -/** Loads a shared library component and gets the factory out of it. You can give either a - fully qualified libname or single lib name. The libname need not be pre/postfixed - (e.g. xxx.dll). You can give parameter rPath to force lookup of the library in a specific - directory. The resulting path of the library will be checked against environment variable - CPLD_ACCESSPATH if set. An optional 'prefix' parameter is used to determine the symbol - name of the entry point in the library. - - @param rLibName name of the library - @param rPath optional path - @param rImplName implementation to be retrieved from the library - @param xMgr service manager to be provided to the component - @param xKey registry key to be provided to the component - @param rPrefix optional component prefix - @return - factory instance (::com::sun::star::lang::XSingleComponentFactory or - ::com::sun::star::lang::XSingleComponentFactory) -*/ -::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > -SAL_CALL loadSharedLibComponentFactory( - ::rtl::OUString const & rLibName, ::rtl::OUString const & rPath, - ::rtl::OUString const & rImplName, - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > const & xMgr, - ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > const & xKey, - ::rtl::OUString const & rPrefix ) - SAL_THROW( (::com::sun::star::loader::CannotActivateFactoryException) ); - -/** Invokes component_writeInfo() function of specified component library. You can give either - a fully qualified libname or single lib name. The libname need not be pre/postfixed - (e.g. xxx.dll). You can give parameter rPath to force lookup of the library in a specific - directory. The resulting path of the library will be checked against environment variable - CPLD_ACCESSPATH if set. - - @obsolete component_writeInfo should no longer be used in new components - - @param rLibName name of the library - @param rPath optional path - @param xMgr service manager to be provided to the component - @param xKey registry key to be provided to the component -*/ -void -SAL_CALL writeSharedLibComponentInfo( - ::rtl::OUString const & rLibName, ::rtl::OUString const & rPath, - ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > const & xMgr, - ::com::sun::star::uno::Reference< ::com::sun::star::registry::XRegistryKey > const & xKey ) - SAL_THROW( (::com::sun::star::registry::CannotRegisterImplementationException) ); - -} // end namespace cppu - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/stdidlclass.hxx b/cppuhelper/inc/cppuhelper/stdidlclass.hxx deleted file mode 100644 index 576378b10..000000000 --- a/cppuhelper/inc/cppuhelper/stdidlclass.hxx +++ /dev/null @@ -1,392 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_STDIDLCLASS_HXX_ -#define _CPPUHELPER_STDIDLCLASS_HXX_ - -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/reflection/XIdlClass.hpp> - - -namespace cppu { - -/* - @deprecated -*/ -::com::sun::star::reflection::XIdlClass * SAL_CALL createStandardClassWithSequence( - const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr , - const ::rtl::OUString & sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > & rSuperClass, - const ::com::sun::star::uno::Sequence < ::rtl::OUString > &seq ) - SAL_THROW( () ); - - - -/** - Standard function to create an XIdlClass for a component. - There is a function for each number of supported interfaces up to 10. - - Since the switch to the final component model, there are no use cases anymore where - these functions should be used. Instead use the implementation helpers directly - (see cppuhelper/implbase1.hxx). - - @see OTypeCollection - - @deprecated - */ -template < class Interface1 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(1); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - - - -template < class Interface1, class Interface2 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 *, - const Interface2 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(2); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - seqInterface.getArray()[1] = Interface2::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - - - - - -template < class Interface1, class Interface2 , class Interface3 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 *, - const Interface2 *, - const Interface3 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(3); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - seqInterface.getArray()[1] = Interface2::static_type().getTypeName(); - seqInterface.getArray()[2] = Interface3::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - - - - - -template < class Interface1, class Interface2 , class Interface3 , class Interface4 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 *, - const Interface2 *, - const Interface3 *, - const Interface4 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(4); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - seqInterface.getArray()[1] = Interface2::static_type().getTypeName(); - seqInterface.getArray()[2] = Interface3::static_type().getTypeName(); - seqInterface.getArray()[3] = Interface4::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - - - - - - - -template < class Interface1, class Interface2 , class Interface3 , class Interface4 , class Interface5 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 *, - const Interface2 *, - const Interface3 *, - const Interface4 *, - const Interface5 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(5); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - seqInterface.getArray()[1] = Interface2::static_type().getTypeName(); - seqInterface.getArray()[2] = Interface3::static_type().getTypeName(); - seqInterface.getArray()[3] = Interface4::static_type().getTypeName(); - seqInterface.getArray()[4] = Interface5::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - - - - -template < class Interface1, class Interface2 , class Interface3 , class Interface4 , class Interface5 , - class Interface6 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 *, - const Interface2 *, - const Interface3 *, - const Interface4 *, - const Interface5 *, - const Interface6 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(6); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - seqInterface.getArray()[1] = Interface2::static_type().getTypeName(); - seqInterface.getArray()[2] = Interface3::static_type().getTypeName(); - seqInterface.getArray()[3] = Interface4::static_type().getTypeName(); - seqInterface.getArray()[4] = Interface5::static_type().getTypeName(); - seqInterface.getArray()[5] = Interface6::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - - - - - -template < class Interface1, class Interface2 , class Interface3 , class Interface4 , class Interface5 , - class Interface6, class Interface7 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 *, - const Interface2 *, - const Interface3 *, - const Interface4 *, - const Interface5 *, - const Interface6 *, - const Interface7 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(7); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - seqInterface.getArray()[1] = Interface2::static_type().getTypeName(); - seqInterface.getArray()[2] = Interface3::static_type().getTypeName(); - seqInterface.getArray()[3] = Interface4::static_type().getTypeName(); - seqInterface.getArray()[4] = Interface5::static_type().getTypeName(); - seqInterface.getArray()[5] = Interface6::static_type().getTypeName(); - seqInterface.getArray()[6] = Interface7::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - - - - - - -template < class Interface1, class Interface2, class Interface3 , class Interface4 , class Interface5 , - class Interface6, class Interface7, class Interface8 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 *, - const Interface2 *, - const Interface3 *, - const Interface4 *, - const Interface5 *, - const Interface6 *, - const Interface7 *, - const Interface8 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(8); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - seqInterface.getArray()[1] = Interface2::static_type().getTypeName(); - seqInterface.getArray()[2] = Interface3::static_type().getTypeName(); - seqInterface.getArray()[3] = Interface4::static_type().getTypeName(); - seqInterface.getArray()[4] = Interface5::static_type().getTypeName(); - seqInterface.getArray()[5] = Interface6::static_type().getTypeName(); - seqInterface.getArray()[6] = Interface7::static_type().getTypeName(); - seqInterface.getArray()[7] = Interface8::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - - - - -template < class Interface1, class Interface2, class Interface3 , class Interface4 , class Interface5 , - class Interface6, class Interface7, class Interface8 , class Interface9 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 *, - const Interface2 *, - const Interface3 *, - const Interface4 *, - const Interface5 *, - const Interface6 *, - const Interface7 *, - const Interface8 *, - const Interface9 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(9); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - seqInterface.getArray()[1] = Interface2::static_type().getTypeName(); - seqInterface.getArray()[2] = Interface3::static_type().getTypeName(); - seqInterface.getArray()[3] = Interface4::static_type().getTypeName(); - seqInterface.getArray()[4] = Interface5::static_type().getTypeName(); - seqInterface.getArray()[5] = Interface6::static_type().getTypeName(); - seqInterface.getArray()[6] = Interface7::static_type().getTypeName(); - seqInterface.getArray()[7] = Interface8::static_type().getTypeName(); - seqInterface.getArray()[8] = Interface9::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - - -template < class Interface1, class Interface2, class Interface3 , class Interface4 , class Interface5 , - class Interface6, class Interface7, class Interface8 , class Interface9 , class Interface10 > -inline ::com::sun::star::reflection::XIdlClass * SAL_CALL -//inline ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > -createStandardClass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &rSMgr, - const ::rtl::OUString &sImplementationName , - const ::com::sun::star::uno::Reference < ::com::sun::star::reflection::XIdlClass > &rSuperClass , - const Interface1 *, - const Interface2 *, - const Interface3 *, - const Interface4 *, - const Interface5 *, - const Interface6 *, - const Interface7 *, - const Interface8 *, - const Interface9 *, - const Interface10 * - ) - SAL_THROW( () ) -{ - ::com::sun::star::uno::Sequence < ::rtl::OUString > seqInterface(10); - seqInterface.getArray()[0] = Interface1::static_type().getTypeName(); - seqInterface.getArray()[1] = Interface2::static_type().getTypeName(); - seqInterface.getArray()[2] = Interface3::static_type().getTypeName(); - seqInterface.getArray()[3] = Interface4::static_type().getTypeName(); - seqInterface.getArray()[4] = Interface5::static_type().getTypeName(); - seqInterface.getArray()[5] = Interface6::static_type().getTypeName(); - seqInterface.getArray()[6] = Interface7::static_type().getTypeName(); - seqInterface.getArray()[7] = Interface8::static_type().getTypeName(); - seqInterface.getArray()[8] = Interface9::static_type().getTypeName(); - seqInterface.getArray()[9] = Interface10::static_type().getTypeName(); - return createStandardClassWithSequence( - rSMgr, - sImplementationName, - rSuperClass, - seqInterface - ); -} - -} // end namespace cppu - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/typeprovider.hxx b/cppuhelper/inc/cppuhelper/typeprovider.hxx deleted file mode 100644 index 4e01bb5ac..000000000 --- a/cppuhelper/inc/cppuhelper/typeprovider.hxx +++ /dev/null @@ -1,245 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_TYPEPROVIDER_HXX_ -#define _CPPUHELPER_TYPEPROVIDER_HXX_ - -#include <rtl/alloc.h> -#include <rtl/uuid.h> -#include <com/sun/star/uno/Sequence.hxx> - - -namespace cppu -{ - -/** Helper class to implement ::com::sun::star::lang::XTypeProvider. Construct a static object - of this class with your UNO object's supported types. -*/ -class OTypeCollection -{ - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > _aTypes; - -public: - // these are here to force memory de/allocation to sal lib. - /** @internal */ - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - /** @internal */ - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - /** @internal */ - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - /** @internal */ - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - inline OTypeCollection( const OTypeCollection & rCollection ) - SAL_THROW( () ) - : _aTypes( rCollection._aTypes ) - {} - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Type & rType4, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Type & rType4, - const ::com::sun::star::uno::Type & rType5, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Type & rType4, - const ::com::sun::star::uno::Type & rType5, - const ::com::sun::star::uno::Type & rType6, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Type & rType4, - const ::com::sun::star::uno::Type & rType5, - const ::com::sun::star::uno::Type & rType6, - const ::com::sun::star::uno::Type & rType7, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Type & rType4, - const ::com::sun::star::uno::Type & rType5, - const ::com::sun::star::uno::Type & rType6, - const ::com::sun::star::uno::Type & rType7, - const ::com::sun::star::uno::Type & rType8, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Type & rType4, - const ::com::sun::star::uno::Type & rType5, - const ::com::sun::star::uno::Type & rType6, - const ::com::sun::star::uno::Type & rType7, - const ::com::sun::star::uno::Type & rType8, - const ::com::sun::star::uno::Type & rType9, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Type & rType4, - const ::com::sun::star::uno::Type & rType5, - const ::com::sun::star::uno::Type & rType6, - const ::com::sun::star::uno::Type & rType7, - const ::com::sun::star::uno::Type & rType8, - const ::com::sun::star::uno::Type & rType9, - const ::com::sun::star::uno::Type & rType10, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Type & rType4, - const ::com::sun::star::uno::Type & rType5, - const ::com::sun::star::uno::Type & rType6, - const ::com::sun::star::uno::Type & rType7, - const ::com::sun::star::uno::Type & rType8, - const ::com::sun::star::uno::Type & rType9, - const ::com::sun::star::uno::Type & rType10, - const ::com::sun::star::uno::Type & rType11, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - OTypeCollection( - const ::com::sun::star::uno::Type & rType1, - const ::com::sun::star::uno::Type & rType2, - const ::com::sun::star::uno::Type & rType3, - const ::com::sun::star::uno::Type & rType4, - const ::com::sun::star::uno::Type & rType5, - const ::com::sun::star::uno::Type & rType6, - const ::com::sun::star::uno::Type & rType7, - const ::com::sun::star::uno::Type & rType8, - const ::com::sun::star::uno::Type & rType9, - const ::com::sun::star::uno::Type & rType10, - const ::com::sun::star::uno::Type & rType11, - const ::com::sun::star::uno::Type & rType12, - const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > & rAddTypes = ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type >() ) - SAL_THROW( () ); - - /** Called upon XTypeProvider::getTypes(). - - @return type collection - */ - ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes() SAL_THROW( () ) - { return _aTypes; } -}; - -/** Helper class to implement ::com::sun::star::lang::XTypeProvider. Construct a static object - of this class for your UNO object's implementation id. -*/ -class OImplementationId -{ - /** @internal */ - mutable ::com::sun::star::uno::Sequence< sal_Int8 > * _pSeq; - /** @internal */ - sal_Bool _bUseEthernetAddress; - -public: - // these are here to force memory de/allocation to sal lib. - /** @internal */ - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - /** @internal */ - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - /** @internal */ - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - /** @internal */ - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - - /** @internal */ - ~OImplementationId() SAL_THROW( () ); - /** Constructor. - - @param bUseEthernetAddress whether an ethernet mac address should be taken into account - */ - inline OImplementationId( sal_Bool bUseEthernetAddress = sal_True ) SAL_THROW( () ) - : _pSeq( 0 ) - , _bUseEthernetAddress( bUseEthernetAddress ) - {} - /** Constructor giving implementation id. - - @param rSeq implementation id - */ - inline OImplementationId( const ::com::sun::star::uno::Sequence< sal_Int8 > & rSeq ) SAL_THROW( () ) - : _pSeq( new ::com::sun::star::uno::Sequence< sal_Int8 >( rSeq ) ) - {} - inline OImplementationId( const OImplementationId & rId ) SAL_THROW( () ) - : _pSeq( new ::com::sun::star::uno::Sequence< sal_Int8 >( rId.getImplementationId() ) ) - {} - - /** Called upon XTypeProvider::getImplementationId(). - - @return implementation id - */ - ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() const SAL_THROW( () ); -}; - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/unourl.hxx b/cppuhelper/inc/cppuhelper/unourl.hxx deleted file mode 100644 index 55127ed84..000000000 --- a/cppuhelper/inc/cppuhelper/unourl.hxx +++ /dev/null @@ -1,195 +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. - * - ************************************************************************/ - -#if !defined INCLUDED_CPPUHELPER_UNOURL_HXX -#define INCLUDED_CPPUHELPER_UNOURL_HXX - -#include <memory> - -namespace rtl { class OUString; } - -namespace cppu { - -/** A descriptor as part of a UNO URL (connection descriptor or protocol - descriptor). - - Such a descriptor can also be useful outside the context of a full UNO URL. - For example, some functions take a string representing a connection or - protocol descriptor as input, and can use this class to parse the string. - */ -class UnoUrlDescriptor -{ -public: - /** @internal - */ - class Impl; - - /** Construct a descriptor from a string representation. - - @param rDescriptor - The string representation of a descriptor. - - @exception rtl::MalformedUriException - Thrown when the given string representation is invalid. - */ - explicit UnoUrlDescriptor(rtl::OUString const & rDescriptor); - - /** @internal - */ - explicit UnoUrlDescriptor(std::auto_ptr< Impl > & rImpl); - - UnoUrlDescriptor(UnoUrlDescriptor const & rOther); - - ~UnoUrlDescriptor(); - - UnoUrlDescriptor & operator =(UnoUrlDescriptor const & rOther); - - /** Return the string representation of the descriptor. - - @return - A reference to the string representation used to construct this - descriptor, without any modifications. The reference is valid for the - lifetime of this URL object. - */ - rtl::OUString const & getDescriptor() const; - - /** Return the name component of the descriptor. - - @return - A reference to the (case insensitive) name, in lower case form. The - reference is valid for the lifetime of this URL object. - */ - rtl::OUString const & getName() const; - - /** Test whether the parameters contain a key. - - @param - A (case insensitive) key. - - @return - True if the parameters contain a matching key/value pair. - */ - bool hasParameter(rtl::OUString const & rKey) const; - - /** Return the parameter value for a key. - - @param - A (case insensitive) key. - - @return - The (case sensitive) value associated with the given key, or an empty - string if there is no matching key/value pair. - */ - rtl::OUString getParameter(rtl::OUString const & rKey) const; - -private: - std::auto_ptr< Impl > m_xImpl; -}; - -/** Parse UNO URLs into their components. - - The ABNF for UNO URLs is as follows (see RFCs 2234, 2396, also see - <http://udk.openoffice.org/common/man/spec/uno-url.html>): - - uno-url = "UNO:" connection ";" protocol ";" object-name - connection = descriptor - protocol = descriptor - descriptor = name *("," parameter) - name = 1*alphanum - parameter = key "=" value - key = 1*alphanum - value = *vchar - valchar = unreserved / escaped / "$" / "&" / "+" / "/" / ":" / "?" / "@" - object-name = 1*ochar - ochar = unreserved / "$" / "&" / "+" / "," / "/" / ":" / "=" / "?" / "@" - - Within a descriptor, the name and the keys are case insensitive, and within - the parameter list all keys must be distinct. - - Parameter values are encoded using UTF-8. Note that parsing of parameter - values as done by UnoUrl and UnoUrlDescriptor is not strict: Invalid UTF-16 - entities in the input, as well as broken escape sequences ("%" not followed - by two hex digits) are copied verbatim to the output, invalid bytes in the - converted UTF-8 data are considered individual Unicode characters, and - invalid UTF-16 entities in the resulting output (e.g., a high surrogate not - followed by a low surrogate) are not detected. - */ -class UnoUrl -{ -public: - /** Construct a UNO URL from a string representation. - - @param rUrl - The string representation of a UNO URL. - - @exception rtl::MalformedUriException - Thrown when the given string representation is invalid. - */ - explicit UnoUrl(rtl::OUString const & rUrl); - - UnoUrl(UnoUrl const & rOther); - - ~UnoUrl(); - - UnoUrl & operator =(UnoUrl const & rOther); - - /** Return the connection descriptor component of the URL. - - @return - A reference to the connection descriptor. The reference is valid for - the lifetime of this URL object. - */ - UnoUrlDescriptor const & getConnection() const; - - /** Return the protocol descriptor component of the URL. - - @return - A reference to the protocol descriptor. The reference is valid for the - lifetime of this URL object. - */ - UnoUrlDescriptor const & getProtocol() const; - - /** Return the object-name component of the URL. - - @return - A reference to the (case sensitive) object-name. The reference is valid - for the lifetime of this URL object. - */ - rtl::OUString const & getObjectName() const; - -private: - class Impl; - - std::auto_ptr< Impl > m_xImpl; -}; - -} - -#endif // INCLUDED_RTL_UNOURL_HXX - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/weak.hxx b/cppuhelper/inc/cppuhelper/weak.hxx deleted file mode 100644 index 2000557ea..000000000 --- a/cppuhelper/inc/cppuhelper/weak.hxx +++ /dev/null @@ -1,172 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_WEAK_HXX_ -#define _CPPUHELPER_WEAK_HXX_ - -#include <osl/interlck.h> -#include <rtl/alloc.h> -#include <cppuhelper/weakref.hxx> -#include <cppuhelper/queryinterface.hxx> -#include <com/sun/star/uno/XWeak.hpp> - - -namespace cppu -{ - -/** @internal */ -class OWeakConnectionPoint; - -/** Base class to implement an UNO object supporting weak references, i.e. the object can be held - weakly (by a ::com::sun::star::uno::WeakReference). - This implementation copes with reference counting. Upon last release(), the virtual dtor - is called. - - @derive - Inherit from this class and delegate acquire()/ release() calls. -*/ -class OWeakObject : public ::com::sun::star::uno::XWeak -{ - /** @internal */ - friend class OWeakConnectionPoint; - -protected: - /** Virtual dtor. - - @attention - Despite the fact that a RuntimeException is allowed to be thrown, you must not throw any - exception upon destruction! - */ - virtual ~OWeakObject() SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - - /** disposes and resets m_pWeakConnectionPoint - @precond - m_refCount equals 0 - */ - void disposeWeakConnectionPoint(); - - /** reference count. - - @attention - Don't modify manually! Use acquire() and release(). - */ - oslInterlockedCount m_refCount; - - /** Container of all weak reference listeners and the connection point from the weak reference. - @internal - */ - OWeakConnectionPoint * m_pWeakConnectionPoint; - - /** reserved for future use. do not use. - @internal - */ - void * m_pReserved; - -public: - // these are here to force memory de/allocation to sal lib. - /** @internal */ - inline static void * SAL_CALL operator new( size_t nSize ) SAL_THROW( () ) - { return ::rtl_allocateMemory( nSize ); } - /** @internal */ - inline static void SAL_CALL operator delete( void * pMem ) SAL_THROW( () ) - { ::rtl_freeMemory( pMem ); } - /** @internal */ - inline static void * SAL_CALL operator new( size_t, void * pMem ) SAL_THROW( () ) - { return pMem; } - /** @internal */ - inline static void SAL_CALL operator delete( void *, void * ) SAL_THROW( () ) - {} - -#ifdef _MSC_VER - /** Default Constructor. Sets the reference count to zero. - Accidentally occurs in msvc mapfile = > had to be outlined. - */ - OWeakObject() SAL_THROW( () ); -#else - /** Default Constructor. Sets the reference count to zero. - */ - inline OWeakObject() SAL_THROW( () ) - : m_refCount( 0 ) - , m_pWeakConnectionPoint( 0 ) - {} -#endif - /** Dummy copy constructor. Set the reference count to zero. - - @param rObj dummy param - */ - inline OWeakObject( const OWeakObject & ) SAL_THROW( () ) - : com::sun::star::uno::XWeak() - , m_refCount( 0 ) - , m_pWeakConnectionPoint( 0 ) - {} - /** Dummy assignment operator. Does not affect reference count. - - @return this OWeakObject - */ - inline OWeakObject & SAL_CALL operator = ( const OWeakObject &) - SAL_THROW( () ) - { return *this; } - - /** Basic queryInterface() implementation supporting ::com::sun::star::uno::XWeak and - ::com::sun::star::uno::XInterface. - - @param rType demanded type - @return demanded type or empty any - */ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( - const ::com::sun::star::uno::Type & rType ) - throw (::com::sun::star::uno::RuntimeException); - /** increasing m_refCount - */ - virtual void SAL_CALL acquire() - throw (); - /** decreasing m_refCount - */ - virtual void SAL_CALL release() - throw (); - - /** XWeak::queryAdapter() implementation - - @return a ::com::sun::star::uno::XAdapter reference - */ - virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAdapter > SAL_CALL queryAdapter() - throw (::com::sun::star::uno::RuntimeException); - - /** Cast operator to XInterface reference. - - @return XInterface reference - */ - inline SAL_CALL operator ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > () SAL_THROW( () ) - { return this; } -}; - -} - -#endif - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/weakagg.hxx b/cppuhelper/inc/cppuhelper/weakagg.hxx deleted file mode 100644 index aac14997e..000000000 --- a/cppuhelper/inc/cppuhelper/weakagg.hxx +++ /dev/null @@ -1,114 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_WEAKAGG_HXX_ -#define _CPPUHELPER_WEAKAGG_HXX_ - -#include <cppuhelper/weak.hxx> -#include <com/sun/star/uno/XAggregation.hpp> - - -namespace cppu -{ - -/** Base class to implement an UNO object supporting weak references, i.e. the object can be held - weakly (by a ::com::sun::star::uno::WeakReference) and aggregation, i.e. the object can be - aggregated by another (delegator). - This implementation copes with reference counting. Upon last release(), the virtual dtor - is called. - - @derive - Inherit from this class and delegate acquire()/ release() calls. Re-implement - XAggregation::queryInterface(). -*/ -class OWeakAggObject - : public ::cppu::OWeakObject - , public ::com::sun::star::uno::XAggregation -{ -public: - /** Constructor. No delegator set. - */ - inline OWeakAggObject() SAL_THROW( () ) - {} - - /** If a delegator is set, then the delegators gets acquired. Otherwise call is delegated to - base class ::cppu::OWeakObject. - */ - virtual void SAL_CALL acquire() throw(); - /** If a delegator is set, then the delegators gets released. Otherwise call is delegated to - base class ::cppu::OWeakObject. - */ - virtual void SAL_CALL release() throw(); - /** If a delegator is set, then the delegator is queried for the demanded interface. If the - delegator cannot provide the demanded interface, it calls queryAggregation() on its - aggregated objects. - - @param rType demanded interface type - @return demanded type or empty any - @see queryAggregation. - */ - virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - - /** Set the delegator. The delegator member reference is a weak reference. - - @param Delegator the object that delegate its queryInterface to this aggregate. - */ - virtual void SAL_CALL setDelegator( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & Delegator ) - throw(::com::sun::star::uno::RuntimeException); - /** Called by the delegator or queryInterface. Re-implement this method instead of - queryInterface. - - @see queryInterface - */ - virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - -protected: - /** Virtual dtor. Called when reference count is 0. - - @attention - Despite the fact that a RuntimeException is allowed to be thrown, you must not throw any - exception upon destruction! - */ - virtual ~OWeakAggObject() SAL_THROW( (::com::sun::star::uno::RuntimeException) ); - - /** weak reference to delegator. - */ - ::com::sun::star::uno::WeakReferenceHelper xDelegator; -private: - /** @internal */ - OWeakAggObject( const OWeakAggObject & rObj ) SAL_THROW( () ); - /** @internal */ - OWeakAggObject & operator = ( const OWeakAggObject & rObj ) SAL_THROW( () ); -}; - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/cppuhelper/weakref.hxx b/cppuhelper/inc/cppuhelper/weakref.hxx deleted file mode 100644 index 54a313b2d..000000000 --- a/cppuhelper/inc/cppuhelper/weakref.hxx +++ /dev/null @@ -1,172 +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. - * - ************************************************************************/ -#ifndef _CPPUHELPER_WEAKREF_HXX_ -#define _CPPUHELPER_WEAKREF_HXX_ - -#include <com/sun/star/uno/XInterface.hpp> - - -namespace com -{ -namespace sun -{ -namespace star -{ -namespace uno -{ - -/** @internal */ -class OWeakRefListener; - -/** The WeakReferenceHelper holds a weak reference to an object. This object must implement - the ::com::sun::star::uno::XWeak interface. The implementation is thread safe. -*/ -class WeakReferenceHelper -{ -public: - /** Default ctor. Creates an empty weak reference. - */ - inline WeakReferenceHelper() SAL_THROW( () ) - : m_pImpl( 0 ) - {} - - /** Copy ctor. Initialize this reference with the same interface as in rWeakRef. - - @param rWeakRef another weak ref - */ - WeakReferenceHelper( const WeakReferenceHelper & rWeakRef ) SAL_THROW( () ); - /** Initialize this reference with the hard interface reference xInt. If the implementation - behind xInt does not support XWeak or XInt is null then this reference will be null. - - @param xInt another hard interface reference - */ - WeakReferenceHelper( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & xInt ) - SAL_THROW( () ); - /** Releases this reference. - */ - ~WeakReferenceHelper() SAL_THROW( () ); - - /** Releases this reference and takes over rWeakRef. - - @param rWeakRef another weak ref - */ - WeakReferenceHelper & SAL_CALL operator = ( const WeakReferenceHelper & rWeakRef ) SAL_THROW( () ); - - /** Releases this reference and takes over hard reference xInt. - If the implementation behind xInt does not support XWeak - or XInt is null, then this reference is null. - - @param xInt another hard reference - */ - WeakReferenceHelper & SAL_CALL operator = ( - const ::com::sun::star::uno::Reference< - ::com::sun::star::uno::XInterface > & xInt ) SAL_THROW( () ); - - /** Returns true if both weak refs reference to the same object. - - @param rObj another weak ref - @return true, if both weak refs reference to the same object. - */ - inline sal_Bool SAL_CALL operator == ( const WeakReferenceHelper & rObj ) const SAL_THROW( () ) - { return (get() == rObj.get()); } - - /** Gets a hard reference to the object. - - @return hard reference or null, if the weakly referenced interface has gone - */ - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL get() const SAL_THROW( () ); - /** Gets a hard reference to the object. - - @return hard reference or null, if the weakly referenced interface has gone - */ - inline SAL_CALL operator Reference< XInterface > () const SAL_THROW( () ) - { return get(); } - - /** Releases this reference. - - @since UDK 3.2.12 - */ - void SAL_CALL clear() SAL_THROW( () ); - -protected: - /** @internal */ - OWeakRefListener * m_pImpl; -}; - -/** The WeakReference<> holds a weak reference to an object. This object must implement - the ::com::sun::star::uno::XWeak interface. The implementation is thread safe. - - @tplparam interface_type type of interface -*/ -template< class interface_type > -class WeakReference : public WeakReferenceHelper -{ -public: - /** Default ctor. Creates an empty weak reference. - */ - inline WeakReference() SAL_THROW( () ) - : WeakReferenceHelper() - {} - - /** Copy ctor. Initialize this reference with a hard reference. - - @param rRef another hard ref - */ - inline WeakReference( const Reference< interface_type > & rRef ) SAL_THROW( () ) - : WeakReferenceHelper( rRef ) - {} - - /** Releases this reference and takes over hard reference xInt. - If the implementation behind xInt does not support XWeak - or XInt is null, then this reference is null. - - @param xInt another hard reference - - @since UDK 3.2.12 - */ - WeakReference & SAL_CALL operator = ( - const ::com::sun::star::uno::Reference< interface_type > & xInt ) - SAL_THROW( () ) - { WeakReferenceHelper::operator=(xInt); return *this; } - - /** Gets a hard reference to the object. - - @return hard reference or null, if the weakly referenced interface has gone - */ - inline SAL_CALL operator Reference< interface_type > () const SAL_THROW( () ) - { return Reference< interface_type >::query( get() ); } -}; - -} -} -} -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/makefile.mk b/cppuhelper/inc/makefile.mk deleted file mode 100644 index 0208c0dbf..000000000 --- a/cppuhelper/inc/makefile.mk +++ /dev/null @@ -1,47 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* -PRJ=.. - -PRJNAME=cppuhelper -TARGET=inc - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- -# --- Targets ------------------------------------------------------- - -.INCLUDE : target.mk - -.IF "$(ENABLE_PCH)"!="" -ALLTAR : \ - $(SLO)$/precompiled.pch \ - $(SLO)$/precompiled_ex.pch - -.ENDIF # "$(ENABLE_PCH)"!="" - diff --git a/cppuhelper/inc/pch/precompiled_cppuhelper.cxx b/cppuhelper/inc/pch/precompiled_cppuhelper.cxx deleted file mode 100644 index d8090977e..000000000 --- a/cppuhelper/inc/pch/precompiled_cppuhelper.cxx +++ /dev/null @@ -1,31 +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. - * - ************************************************************************/ - -#include "precompiled_cppuhelper.hxx" - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/inc/pch/precompiled_cppuhelper.hxx b/cppuhelper/inc/pch/precompiled_cppuhelper.hxx deleted file mode 100644 index b1a1df1a1..000000000 --- a/cppuhelper/inc/pch/precompiled_cppuhelper.hxx +++ /dev/null @@ -1,34 +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): Generated on 2006-09-01 17:49:37.342833 - -#ifdef PRECOMPILED_HEADERS -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/prj/build.lst b/cppuhelper/prj/build.lst deleted file mode 100644 index 53c704e21..000000000 --- a/cppuhelper/prj/build.lst +++ /dev/null @@ -1,9 +0,0 @@ -ch cppuhelper : BOOST:boost LIBXSLT:libxslt DESKTOP:codemaker cppu offapi NULL -ch cppuhelper usr1 - all ch_mkout NULL -ch cppuhelper\inc nmake - all ch_include NULL -ch cppuhelper\source nmake - all ch_source ch_unotypes ch_include NULL -ch cppuhelper\unotypes nmake - all ch_unotypes NULL -ch cppuhelper\qa\propertysetmixin nmake - all ch_qa_propertysetmixin ch_source NULL -ch cppuhelper\qa\ifcontainer nmake - all ch_qa_ifcontainer ch_source NULL -ch cppuhelper\qa\unourl nmake - all ch_qa_unourl ch_source NULL -ch cppuhelper\qa\static nmake - all ch_qa_static ch_qa_propertysetmixin ch_qa_ifcontainer ch_qa_unourl NULL diff --git a/cppuhelper/prj/d.lst b/cppuhelper/prj/d.lst deleted file mode 100644 index c26529d07..000000000 --- a/cppuhelper/prj/d.lst +++ /dev/null @@ -1,74 +0,0 @@ -mkdir: %_DEST%\inc\cppuhelper - -..\inc\cppuhelper\implbase.hxx %_DEST%\inc\cppuhelper\implbase.hxx -..\inc\cppuhelper\implbase_ex.hxx %_DEST%\inc\cppuhelper\implbase_ex.hxx -..\inc\cppuhelper\implbase_ex_pre.hxx %_DEST%\inc\cppuhelper\implbase_ex_pre.hxx -..\inc\cppuhelper\implbase_ex_post.hxx %_DEST%\inc\cppuhelper\implbase_ex_post.hxx -..\inc\cppuhelper\implbase1.hxx %_DEST%\inc\cppuhelper\implbase1.hxx -..\inc\cppuhelper\implbase2.hxx %_DEST%\inc\cppuhelper\implbase2.hxx -..\inc\cppuhelper\implbase3.hxx %_DEST%\inc\cppuhelper\implbase3.hxx -..\inc\cppuhelper\implbase4.hxx %_DEST%\inc\cppuhelper\implbase4.hxx -..\inc\cppuhelper\implbase5.hxx %_DEST%\inc\cppuhelper\implbase5.hxx -..\inc\cppuhelper\implbase6.hxx %_DEST%\inc\cppuhelper\implbase6.hxx -..\inc\cppuhelper\implbase7.hxx %_DEST%\inc\cppuhelper\implbase7.hxx -..\inc\cppuhelper\implbase8.hxx %_DEST%\inc\cppuhelper\implbase8.hxx -..\inc\cppuhelper\implbase9.hxx %_DEST%\inc\cppuhelper\implbase9.hxx -..\inc\cppuhelper\implbase10.hxx %_DEST%\inc\cppuhelper\implbase10.hxx -..\inc\cppuhelper\implbase11.hxx %_DEST%\inc\cppuhelper\implbase11.hxx -..\inc\cppuhelper\implbase12.hxx %_DEST%\inc\cppuhelper\implbase12.hxx - -..\inc\cppuhelper\compbase.hxx %_DEST%\inc\cppuhelper\compbase.hxx -..\inc\cppuhelper\compbase_ex.hxx %_DEST%\inc\cppuhelper\compbase_ex.hxx -..\inc\cppuhelper\compbase1.hxx %_DEST%\inc\cppuhelper\compbase1.hxx -..\inc\cppuhelper\compbase2.hxx %_DEST%\inc\cppuhelper\compbase2.hxx -..\inc\cppuhelper\compbase3.hxx %_DEST%\inc\cppuhelper\compbase3.hxx -..\inc\cppuhelper\compbase4.hxx %_DEST%\inc\cppuhelper\compbase4.hxx -..\inc\cppuhelper\compbase5.hxx %_DEST%\inc\cppuhelper\compbase5.hxx -..\inc\cppuhelper\compbase6.hxx %_DEST%\inc\cppuhelper\compbase6.hxx -..\inc\cppuhelper\compbase7.hxx %_DEST%\inc\cppuhelper\compbase7.hxx -..\inc\cppuhelper\compbase8.hxx %_DEST%\inc\cppuhelper\compbase8.hxx -..\inc\cppuhelper\compbase9.hxx %_DEST%\inc\cppuhelper\compbase9.hxx -..\inc\cppuhelper\compbase10.hxx %_DEST%\inc\cppuhelper\compbase10.hxx -..\inc\cppuhelper\compbase11.hxx %_DEST%\inc\cppuhelper\compbase11.hxx -..\inc\cppuhelper\compbase12.hxx %_DEST%\inc\cppuhelper\compbase12.hxx - -..\inc\cppuhelper\shlib.hxx %_DEST%\inc\cppuhelper\shlib.hxx -..\inc\cppuhelper\basemutex.hxx %_DEST%\inc\cppuhelper\basemutex.hxx -..\inc\cppuhelper\bootstrap.hxx %_DEST%\inc\cppuhelper\bootstrap.hxx -..\inc\cppuhelper\exc_hlp.hxx %_DEST%\inc\cppuhelper\exc_hlp.hxx -..\inc\cppuhelper\typeprovider.hxx %_DEST%\inc\cppuhelper\typeprovider.hxx -..\inc\cppuhelper\factory.hxx %_DEST%\inc\cppuhelper\factory.hxx -..\inc\cppuhelper\component_context.hxx %_DEST%\inc\cppuhelper\component_context.hxx -..\inc\cppuhelper\interfacecontainer.hxx %_DEST%\inc\cppuhelper\interfacecontainer.hxx -..\inc\cppuhelper\interfacecontainer.h %_DEST%\inc\cppuhelper\interfacecontainer.h -..\inc\cppuhelper\component.hxx %_DEST%\inc\cppuhelper\component.hxx -..\inc\cppuhelper\propshlp.hxx %_DEST%\inc\cppuhelper\propshlp.hxx -..\inc\cppuhelper\proptypehlp.hxx %_DEST%\inc\cppuhelper\proptypehlp.hxx -..\inc\cppuhelper\propertysetmixin.hxx %_DEST%\inc\cppuhelper\propertysetmixin.hxx -..\inc\cppuhelper\proptypehlp.h %_DEST%\inc\cppuhelper\proptypehlp.h -..\inc\cppuhelper\stdidlclass.hxx %_DEST%\inc\cppuhelper\stdidlclass.hxx -..\inc\cppuhelper\weak.hxx %_DEST%\inc\cppuhelper\weak.hxx -..\inc\cppuhelper\weakagg.hxx %_DEST%\inc\cppuhelper\weakagg.hxx -..\inc\cppuhelper\queryinterface.hxx %_DEST%\inc\cppuhelper\queryinterface.hxx -..\inc\cppuhelper\weakref.hxx %_DEST%\inc\cppuhelper\weakref.hxx -..\inc\cppuhelper\servicefactory.hxx %_DEST%\inc\cppuhelper\servicefactory.hxx -..\inc\cppuhelper\implementationentry.hxx %_DEST%\inc\cppuhelper\implementationentry.hxx -..\inc\cppuhelper\access_control.hxx %_DEST%\inc\cppuhelper\access_control.hxx -..\inc\cppuhelper\unourl.hxx %_DEST%\inc\cppuhelper\unourl.hxx - -..\%__SRC%\bin\cppuh*.dll %_DEST%\bin\cppuh*.dll -..\%__SRC%\lib\*cppuhelper*.lib %_DEST%\lib\* - -..\%__SRC%\lib\libuno_cppuhelper*.* %_DEST%\lib\* - -..\%__SRC%\lib\libcppuhelper*.a %_DEST%\lib\* -..\%__SRC%\lib\cppuhelper*.lib %_DEST%\lib\* - -..\source\unorc %_DEST%\bin\uno.ini -..\source\unorc %_DEST%\lib\unorc - -..\inc\cppuhelper\findsofficepath.h %_DEST%\inc\cppuhelper\findsofficepath.h -..\%__SRC%\obj\findsofficepath.o %_DEST%\lib\findsofficepath.o -..\%__SRC%\obj\findsofficepath.obj %_DEST%\lib\findsofficepath.obj - -linklib: libuno_cppuhelper*.*.* diff --git a/cppuhelper/qa/ifcontainer/cppu_ifcontainer.cxx b/cppuhelper/qa/ifcontainer/cppu_ifcontainer.cxx deleted file mode 100644 index 97c95a1e1..000000000 --- a/cppuhelper/qa/ifcontainer/cppu_ifcontainer.cxx +++ /dev/null @@ -1,288 +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. - * - ************************************************************************/ - -#include <string.h> -#include <cppunit/TestFixture.h> -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/plugin/TestPlugIn.h> - -#include "com/sun/star/lang/XEventListener.hpp" -#include "cppuhelper/interfacecontainer.hxx" -#include "cppuhelper/queryinterface.hxx" -#include "cppuhelper/implbase1.hxx" -#include "cppuhelper/propshlp.hxx" - -using namespace com::sun::star; -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; - - -struct equalStr -{ - bool operator()( - const char * const &rA, - const char * const &rB) const - { return !strcmp(rA, rB); } -}; -struct hashStr -{ - size_t operator()( const char * &rName ) const - { - return rtl::OString(rName).hashCode(); - } -}; - -class ContainerListener; - -struct ContainerStats { - int m_nAlive; - int m_nDisposed; - ContainerStats() : m_nAlive(0), m_nDisposed(0) {} -}; - -class ContainerListener : public ::cppu::WeakImplHelper1< XEventListener > -{ - ContainerStats *m_pStats; -public: - ContainerListener(ContainerStats *pStats) - : m_pStats(pStats) { m_pStats->m_nAlive++; } - virtual ~ContainerListener() { m_pStats->m_nAlive--; } - virtual void SAL_CALL disposing( const EventObject& ) - throw (RuntimeException) - { - m_pStats->m_nDisposed++; - } -}; - -namespace cppu_ifcontainer -{ - class IfTest : public CppUnit::TestFixture - { - osl::Mutex m_aGuard; - static const int nTests = 10; - public: - void testCreateDispose() - { - ContainerStats aStats; - cppu::OInterfaceContainerHelper *pContainer; - - pContainer = new cppu::OInterfaceContainerHelper(m_aGuard); - - CPPUNIT_ASSERT_MESSAGE("Empty container not empty", - pContainer->getLength() == 0); - - int i; - for (i = 0; i < nTests; i++) - { - Reference<XEventListener> xRef = new ContainerListener(&aStats); - int nNewLen = pContainer->addInterface(xRef); - - CPPUNIT_ASSERT_MESSAGE("addition length mismatch", - nNewLen == i + 1); - CPPUNIT_ASSERT_MESSAGE("addition length mismatch", - pContainer->getLength() == i + 1); - } - CPPUNIT_ASSERT_MESSAGE("alive count mismatch", - aStats.m_nAlive == nTests); - - EventObject aObj; - pContainer->disposeAndClear(aObj); - - CPPUNIT_ASSERT_MESSAGE("dispose count mismatch", - aStats.m_nDisposed == nTests); - CPPUNIT_ASSERT_MESSAGE("leaked container left alive", - aStats.m_nAlive == 0); - - delete pContainer; - } - - void testEnumerate() - { - int i; - ContainerStats aStats; - cppu::OInterfaceContainerHelper *pContainer; - pContainer = new cppu::OInterfaceContainerHelper(m_aGuard); - - std::vector< Reference< XEventListener > > aListeners; - for (i = 0; i < nTests; i++) - { - Reference<XEventListener> xRef = new ContainerListener(&aStats); - pContainer->addInterface(xRef); - aListeners.push_back(xRef); - } - Sequence< Reference< XInterface > > aElements; - aElements = pContainer->getElements(); - - CPPUNIT_ASSERT_MESSAGE("query contents", - (int)aElements.getLength() == nTests); - if ((int)aElements.getLength() == nTests) - { - for (i = 0; i < nTests; i++) - { - CPPUNIT_ASSERT_MESSAGE("mismatching elements", - aElements[i] == aListeners[i]); - } - } - pContainer->clear(); - - CPPUNIT_ASSERT_MESSAGE("non-empty container post clear", - pContainer->getLength() == 0); - delete pContainer; - } - - template < typename ContainerType, typename ContainedType > - void doContainerTest(const ContainedType *pTypes) - { - ContainerStats aStats; - ContainerType *pContainer; - pContainer = new ContainerType(m_aGuard); - - int i; - Reference<XEventListener> xRefs[nTests * 2]; - - // add these interfaces - for (i = 0; i < nTests * 2; i++) - { - xRefs[i] = new ContainerListener(&aStats); - pContainer->addInterface(pTypes[i / 2], xRefs[i]); - } - - // check it is all there - for (i = 0; i < nTests; i++) - { - cppu::OInterfaceContainerHelper *pHelper; - - pHelper = pContainer->getContainer(pTypes[i]); - - CPPUNIT_ASSERT_MESSAGE("no helper", pHelper != NULL); - Sequence<Reference< XInterface > > aSeq = pHelper->getElements(); - CPPUNIT_ASSERT_MESSAGE("wrong num elements", aSeq.getLength() == 2); - CPPUNIT_ASSERT_MESSAGE("match", aSeq[0] == xRefs[i*2]); - CPPUNIT_ASSERT_MESSAGE("match", aSeq[1] == xRefs[i*2+1]); - } - - // remove every other interface - for (i = 0; i < nTests; i++) - pContainer->removeInterface(pTypes[i], xRefs[i*2+1]); - - // check it is half there - for (i = 0; i < nTests; i++) - { - cppu::OInterfaceContainerHelper *pHelper; - - pHelper = pContainer->getContainer(pTypes[i]); - - CPPUNIT_ASSERT_MESSAGE("no helper", pHelper != NULL); - Sequence<Reference< XInterface > > aSeq = pHelper->getElements(); - CPPUNIT_ASSERT_MESSAGE("wrong num elements", aSeq.getLength() == 1); - CPPUNIT_ASSERT_MESSAGE("match", aSeq[0] == xRefs[i*2]); - } - - // remove the 1st half of the rest - for (i = 0; i < nTests / 2; i++) - pContainer->removeInterface(pTypes[i], xRefs[i*2]); - - // check it is half there - for (i = 0; i < nTests / 2; i++) - { - cppu::OInterfaceContainerHelper *pHelper; - - pHelper = pContainer->getContainer(pTypes[i]); - CPPUNIT_ASSERT_MESSAGE("no helper", pHelper != NULL); - Sequence<Reference< XInterface > > aSeq = pHelper->getElements(); - CPPUNIT_ASSERT_MESSAGE("wrong num elements", aSeq.getLength() == 0); - } - - delete pContainer; - } - - void testOMultiTypeInterfaceContainerHelper() - { - uno::Type pTypes[nTests] = - { - ::cppu::UnoType< bool >::get(), - ::cppu::UnoType< float >::get(), - ::cppu::UnoType< double >::get(), - ::cppu::UnoType< ::sal_uInt64 >::get(), - ::cppu::UnoType< ::sal_Int64 >::get(), - ::cppu::UnoType< ::sal_uInt32 >::get(), - ::cppu::UnoType< ::sal_Int32 >::get(), - ::cppu::UnoType< ::sal_Int16 >::get(), - ::cppu::UnoType< ::rtl::OUString >::get(), - ::cppu::UnoType< ::sal_Int8 >::get() - }; - doContainerTest< cppu::OMultiTypeInterfaceContainerHelper, - uno::Type> (pTypes); - } - - void testOMultiTypeInterfaceContainerHelperInt32() - { - sal_Int32 pTypes[nTests] = - { - 0, - -1, - 1, - 256, - 1024, - 3, - 7, - 8, - 9, - 10 - }; - doContainerTest< cppu::OMultiTypeInterfaceContainerHelperInt32, sal_Int32> (pTypes); - } - - void testOMultiTypeInterfaceContainerHelperVar() - { - typedef ::cppu::OMultiTypeInterfaceContainerHelperVar< - const char *,hashStr,equalStr> StrContainer; - - const char *pTypes[nTests] = - { - "this_is", "such", "fun", "writing", "unit", "tests", "when", "it", "works", "anyway" - }; - doContainerTest< StrContainer, const char *> (pTypes); - } - - // Automatic registration code - CPPUNIT_TEST_SUITE(IfTest); - CPPUNIT_TEST(testCreateDispose); - CPPUNIT_TEST(testEnumerate); - CPPUNIT_TEST(testOMultiTypeInterfaceContainerHelper); - CPPUNIT_TEST(testOMultiTypeInterfaceContainerHelperVar); - CPPUNIT_TEST(testOMultiTypeInterfaceContainerHelperInt32); - CPPUNIT_TEST_SUITE_END(); - }; -} // namespace cppu_ifcontainer - -CPPUNIT_TEST_SUITE_REGISTRATION(cppu_ifcontainer::IfTest); - -CPPUNIT_PLUGIN_IMPLEMENT(); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/qa/ifcontainer/export.map b/cppuhelper/qa/ifcontainer/export.map deleted file mode 100644 index 117caf43a..000000000 --- a/cppuhelper/qa/ifcontainer/export.map +++ /dev/null @@ -1,7 +0,0 @@ -UDK_3_0_0 { - global: - cppunitTestPlugIn; - - local: - *; -}; diff --git a/cppuhelper/qa/ifcontainer/makefile.mk b/cppuhelper/qa/ifcontainer/makefile.mk deleted file mode 100644 index d4d67a44e..000000000 --- a/cppuhelper/qa/ifcontainer/makefile.mk +++ /dev/null @@ -1,62 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -PRJ=..$/.. -PRJNAME=cppuhelper -TARGET=cppu_ifcontainer - -ENABLE_EXCEPTIONS=TRUE - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -CFLAGSCXX += $(CPPUNIT_CFLAGS) - -.IF "$(OS)" == "IOS" -CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) -.ENDIF - -SHL1OBJS= \ - $(SLO)$/cppu_ifcontainer.obj -SHL1TARGET= cppu_ifcontainer -SHL1STDLIBS=\ - $(CPPUHELPERLIB) \ - $(SALLIB) \ - $(CPPULIB) \ - $(CPPUNITLIB) -SHL1IMPLIB= i$(SHL1TARGET) -DEF1NAME =$(SHL1TARGET) -SHL1VERSIONMAP= export.map - -SLOFILES = $(SHL1OBJS) - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk -.INCLUDE : _cppunit.mk - diff --git a/cppuhelper/qa/propertysetmixin/JavaSupplier.java b/cppuhelper/qa/propertysetmixin/JavaSupplier.java deleted file mode 100644 index 834e448c6..000000000 --- a/cppuhelper/qa/propertysetmixin/JavaSupplier.java +++ /dev/null @@ -1,317 +0,0 @@ -/************************************************************************* - * - * 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. - * - ************************************************************************/ - -package test.cppuhelper.propertysetmixin.comp; - -import com.sun.star.beans.Ambiguous; -import com.sun.star.beans.Defaulted; -import com.sun.star.beans.Optional; -import com.sun.star.beans.UnknownPropertyException; -import com.sun.star.beans.PropertyValue; -import com.sun.star.beans.PropertyVetoException; -import com.sun.star.beans.XFastPropertySet; -import com.sun.star.beans.XPropertyAccess; -import com.sun.star.beans.XPropertyChangeListener; -import com.sun.star.beans.XPropertySet; -import com.sun.star.beans.XPropertySetInfo; -import com.sun.star.beans.XVetoableChangeListener; -import com.sun.star.comp.loader.FactoryHelper; -import com.sun.star.lang.WrappedTargetException; -import com.sun.star.lang.XComponent; -import com.sun.star.lang.XEventListener; -import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.lang.XSingleServiceFactory; -import com.sun.star.lib.uno.helper.WeakBase; -import com.sun.star.lib.uno.helper.PropertySetMixin; -import com.sun.star.registry.XRegistryKey; -import com.sun.star.uno.Any; -import com.sun.star.uno.IQueryInterface; -import com.sun.star.uno.Type; -import com.sun.star.uno.XComponentContext; -import test.cppuhelper.propertysetmixin.XSupplier; -import test.cppuhelper.propertysetmixin.XTest3; - -public final class JavaSupplier extends WeakBase implements XSupplier { - public JavaSupplier(XComponentContext context) { - this.context = context; - } - - public XComponent getEmpty1() { return new Empty1(); } - - public XComponent getEmpty2() { return new Empty2(); } - - public XTest3 getFull() { return new Full(); } - - public static XSingleServiceFactory __getServiceFactory( - String implName, XMultiServiceFactory multiFactory, XRegistryKey regKey) - { - return implName.equals(implementationName) - ? FactoryHelper.getServiceFactory( - JavaSupplier.class, serviceName, multiFactory, regKey) - : null; - } - - private static final String implementationName - = JavaSupplier.class.getName(); - private static final String serviceName - = "test.cppuhelper.propertysetmixin.JavaSupplier"; - - private final class Empty1 extends WeakBase implements XComponent { - public Empty1() {} - - public void dispose() { - prop.dispose(); - } - - public void addEventListener(XEventListener listener) {} - - public void removeEventListener(XEventListener listener) {} - - private final PropertySetMixin prop = new PropertySetMixin( - context, this, new Type(XComponent.class), null); - } - - private final class Empty2 extends WeakBase - implements XComponent, XPropertySet, XFastPropertySet, XPropertyAccess - { - public Empty2() {} - - public void dispose() { - prop.dispose(); - } - - public void addEventListener(XEventListener listener) {} - - public void removeEventListener(XEventListener listener) {} - - public com.sun.star.beans.XPropertySetInfo getPropertySetInfo() { - return prop.getPropertySetInfo(); - } - - public void setPropertyValue(String propertyName, Object value) - throws UnknownPropertyException, PropertyVetoException, - com.sun.star.lang.IllegalArgumentException, WrappedTargetException - { - prop.setPropertyValue(propertyName, value); - } - - public Object getPropertyValue(String propertyName) - throws UnknownPropertyException, WrappedTargetException - { - return prop.getPropertyValue(propertyName); - } - - public void addPropertyChangeListener( - String propertyName, XPropertyChangeListener listener) - throws UnknownPropertyException, WrappedTargetException - { - prop.addPropertyChangeListener(propertyName, listener); - } - - public void removePropertyChangeListener( - String propertyName, XPropertyChangeListener listener) - throws UnknownPropertyException, WrappedTargetException - { - prop.removePropertyChangeListener(propertyName, listener); - } - - public void addVetoableChangeListener( - String propertyName, XVetoableChangeListener listener) - throws UnknownPropertyException, WrappedTargetException - { - prop.addVetoableChangeListener(propertyName, listener); - } - - public void removeVetoableChangeListener( - String propertyName, XVetoableChangeListener listener) - throws UnknownPropertyException, WrappedTargetException - { - prop.removeVetoableChangeListener(propertyName, listener); - } - - public void setFastPropertyValue(int handle, Object value) - throws UnknownPropertyException, PropertyVetoException, - com.sun.star.lang.IllegalArgumentException, WrappedTargetException - { - prop.setFastPropertyValue(handle, value); - } - - public Object getFastPropertyValue(int handle) - throws UnknownPropertyException, WrappedTargetException - { - return prop.getFastPropertyValue(handle); - } - - public PropertyValue[] getPropertyValues() { - return prop.getPropertyValues(); - } - - public void setPropertyValues(PropertyValue[] props) - throws UnknownPropertyException, PropertyVetoException, - com.sun.star.lang.IllegalArgumentException, WrappedTargetException - { - prop.setPropertyValues(props); - } - - private final PropertySetMixin prop = new PropertySetMixin( - context, this, new Type(XComponent.class), null); - } - - private final class Full extends WeakBase - implements XTest3, XPropertySet, XFastPropertySet, XPropertyAccess - { - public Full() {} - - public synchronized int getFirst() { - return a1; - } - - public void setFirst(int value) { - prop.prepareSet("First", null); - synchronized (this) { - a1 = value; - } - } - - public synchronized Ambiguous getSecond() - throws UnknownPropertyException - { - return a2; - } - - public void setSecond(Ambiguous value) - throws PropertyVetoException, UnknownPropertyException - { - PropertySetMixin.BoundListeners l - = new PropertySetMixin.BoundListeners(); - prop.prepareSet( - "Second", Any.VOID, - (((Optional) ((Defaulted) value.Value).Value).IsPresent - ? ((Optional) ((Defaulted) value.Value).Value).Value - : Any.VOID), - l); - synchronized (this) { - a2 = value; - } - l.notifyListeners(); - } - - public int getThird() throws UnknownPropertyException { - throw new UnknownPropertyException("Third", this); - } - - public void setThird(int value) throws UnknownPropertyException { - throw new UnknownPropertyException("Third", this); - } - - public int getFourth() throws UnknownPropertyException { - throw new UnknownPropertyException("Fourth", this); - } - - public void setFourth(int value) throws UnknownPropertyException { - throw new UnknownPropertyException("Fourth", this); - } - - public com.sun.star.beans.XPropertySetInfo getPropertySetInfo() { - return prop.getPropertySetInfo(); - } - - public void setPropertyValue(String propertyName, Object value) - throws UnknownPropertyException, PropertyVetoException, - com.sun.star.lang.IllegalArgumentException, WrappedTargetException - { - prop.setPropertyValue(propertyName, value); - } - - public Object getPropertyValue(String propertyName) - throws UnknownPropertyException, WrappedTargetException - { - return prop.getPropertyValue(propertyName); - } - - public void addPropertyChangeListener( - String propertyName, XPropertyChangeListener listener) - throws UnknownPropertyException, WrappedTargetException - { - prop.addPropertyChangeListener(propertyName, listener); - } - - public void removePropertyChangeListener( - String propertyName, XPropertyChangeListener listener) - throws UnknownPropertyException, WrappedTargetException - { - prop.removePropertyChangeListener(propertyName, listener); - } - - public void addVetoableChangeListener( - String propertyName, XVetoableChangeListener listener) - throws UnknownPropertyException, WrappedTargetException - { - prop.addVetoableChangeListener(propertyName, listener); - } - - public void removeVetoableChangeListener( - String propertyName, XVetoableChangeListener listener) - throws UnknownPropertyException, WrappedTargetException - { - prop.removeVetoableChangeListener(propertyName, listener); - } - - public void setFastPropertyValue(int handle, Object value) - throws UnknownPropertyException, PropertyVetoException, - com.sun.star.lang.IllegalArgumentException, WrappedTargetException - { - prop.setFastPropertyValue(handle, value); - } - - public Object getFastPropertyValue(int handle) - throws UnknownPropertyException, WrappedTargetException - { - return prop.getFastPropertyValue(handle); - } - - public PropertyValue[] getPropertyValues() { - return prop.getPropertyValues(); - } - - public void setPropertyValues(PropertyValue[] props) - throws UnknownPropertyException, PropertyVetoException, - com.sun.star.lang.IllegalArgumentException, WrappedTargetException - { - prop.setPropertyValues(props); - } - - private final PropertySetMixin prop = new PropertySetMixin( - context, this, new Type(XTest3.class), new String[] { "Third" }); - - private int a1 = 0; - private Ambiguous a2 = new Ambiguous( - new Defaulted(new Optional(), true), false); - } - - private final XComponentContext context; -} diff --git a/cppuhelper/qa/propertysetmixin/comp_propertysetmixin.cxx b/cppuhelper/qa/propertysetmixin/comp_propertysetmixin.cxx deleted file mode 100644 index 9f72fb181..000000000 --- a/cppuhelper/qa/propertysetmixin/comp_propertysetmixin.cxx +++ /dev/null @@ -1,426 +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_cppuhelper.hxx" - -#include "sal/config.h" - -#include "test/cppuhelper/propertysetmixin/XSupplier.hpp" -#include "test/cppuhelper/propertysetmixin/XTest3.hpp" - -#include "com/sun/star/beans/Ambiguous.hpp" -#include "com/sun/star/beans/Defaulted.hpp" -#include "com/sun/star/beans/Optional.hpp" -#include "com/sun/star/beans/PropertyVetoException.hpp" -#include "com/sun/star/beans/UnknownPropertyException.hpp" -#include "com/sun/star/lang/XComponent.hpp" -#include "cppuhelper/propertysetmixin.hxx" -#include "cppuhelper/factory.hxx" -#include "cppuhelper/implbase1.hxx" -#include "cppuhelper/implementationentry.hxx" -#include "cppuhelper/queryinterface.hxx" -#include "cppuhelper/weak.hxx" -#include "com/sun/star/uno/Any.hxx" -#include "com/sun/star/uno/Exception.hpp" -#include "com/sun/star/uno/Reference.hxx" -#include "com/sun/star/uno/RuntimeException.hpp" -#include "com/sun/star/uno/Sequence.hxx" -#include "com/sun/star/uno/Type.hxx" -#include "com/sun/star/uno/XComponentContext.hpp" -#include "com/sun/star/uno/XInterface.hpp" -#include "osl/mutex.hxx" -#include "rtl/ustring.h" -#include "rtl/ustring.hxx" -#include "sal/types.h" -#include "uno/lbnames.h" - -namespace com { namespace sun { namespace star { - class XEventListener; -} } } - -namespace css = com::sun::star; - -namespace { - -class Empty1: - public cppu::OWeakObject, public css::lang::XComponent, - public cppu::PropertySetMixin< css::lang::XComponent > -{ -public: - explicit Empty1( - css::uno::Reference< css::uno::XComponentContext > const & context): - cppu::PropertySetMixin< css::lang::XComponent >( - context, static_cast< Implements >(0), - css::uno::Sequence< rtl::OUString >()) - {} - - virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const & type) - throw (css::uno::RuntimeException); - - virtual void SAL_CALL acquire() throw () { OWeakObject::acquire(); } - - virtual void SAL_CALL release() throw () { OWeakObject::release(); } - - virtual void SAL_CALL dispose() throw (css::uno::RuntimeException) { - cppu::PropertySetMixin< css::lang::XComponent >::dispose(); - } - - virtual void SAL_CALL addEventListener( - css::uno::Reference< css::lang::XEventListener > const &) - throw (css::uno::RuntimeException) - {} - - virtual void SAL_CALL removeEventListener( - css::uno::Reference< css::lang::XEventListener > const &) - throw (css::uno::RuntimeException) - {} - -private: - Empty1(Empty1 &); // not defined - void operator =(Empty1 &); // not defined - - virtual ~Empty1() {} -}; - -css::uno::Any Empty1::queryInterface(css::uno::Type const & type) - throw (css::uno::RuntimeException) -{ - css::uno::Any a(OWeakObject::queryInterface(type)); - if (a.hasValue()) { - return a; - } - a = cppu::queryInterface( - type, static_cast< css::lang::XComponent * >(this)); - return a.hasValue() - ? a - : cppu::PropertySetMixin< css::lang::XComponent >::queryInterface( - type); -} - -class Empty2: - public cppu::OWeakObject, public css::lang::XComponent, - public cppu::PropertySetMixin< css::lang::XComponent > -{ -public: - explicit Empty2( - css::uno::Reference< css::uno::XComponentContext > const & context): - cppu::PropertySetMixin< css::lang::XComponent >( - context, - static_cast< Implements >( - IMPLEMENTS_PROPERTY_SET | IMPLEMENTS_FAST_PROPERTY_SET - | IMPLEMENTS_PROPERTY_ACCESS), - css::uno::Sequence< rtl::OUString >()) - {} - - virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const & type) - throw (css::uno::RuntimeException); - - virtual void SAL_CALL acquire() throw () { OWeakObject::acquire(); } - - virtual void SAL_CALL release() throw () { OWeakObject::release(); } - - virtual void SAL_CALL dispose() throw (css::uno::RuntimeException) { - cppu::PropertySetMixin< css::lang::XComponent >::dispose(); - } - - virtual void SAL_CALL addEventListener( - css::uno::Reference< css::lang::XEventListener > const &) - throw (css::uno::RuntimeException) - {} - - virtual void SAL_CALL removeEventListener( - css::uno::Reference< css::lang::XEventListener > const &) - throw (css::uno::RuntimeException) - {} - -private: - Empty2(Empty2 &); // not defined - void operator =(Empty2 &); // not defined - - virtual ~Empty2() {} -}; - -css::uno::Any Empty2::queryInterface(css::uno::Type const & type) - throw (css::uno::RuntimeException) -{ - css::uno::Any a(OWeakObject::queryInterface(type)); - if (a.hasValue()) { - return a; - } - a = cppu::queryInterface( - type, static_cast< css::lang::XComponent * >(this)); - return a.hasValue() - ? a - : cppu::PropertySetMixin< css::lang::XComponent >::queryInterface( - type); -} - -css::uno::Sequence< rtl::OUString > sequenceThird() { - css::uno::Sequence< rtl::OUString > s(1); - s[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third")); - return s; -} - -class Full: - public cppu::OWeakObject, public test::cppuhelper::propertysetmixin::XTest3, - public cppu::PropertySetMixin< - test::cppuhelper::propertysetmixin::XTest3 > -{ -public: - explicit Full( - css::uno::Reference< css::uno::XComponentContext > const & context): - cppu::PropertySetMixin< - test::cppuhelper::propertysetmixin::XTest3 >( - context, - static_cast< Implements >( - IMPLEMENTS_PROPERTY_SET | IMPLEMENTS_FAST_PROPERTY_SET - | IMPLEMENTS_PROPERTY_ACCESS), - sequenceThird()), - m_a1(0), - m_a2( - css::beans::Defaulted< css::beans::Optional< sal_Int32 > >( - css::beans::Optional< sal_Int32 >(), true), - false) - {} - - virtual css::uno::Any SAL_CALL queryInterface(css::uno::Type const & type) - throw (css::uno::RuntimeException); - - virtual void SAL_CALL acquire() throw () { OWeakObject::acquire(); } - - virtual void SAL_CALL release() throw () { OWeakObject::release(); } - - virtual sal_Int32 SAL_CALL getFirst() throw (css::uno::RuntimeException); - - virtual void SAL_CALL setFirst(sal_Int32 value) - throw (css::uno::RuntimeException); - - virtual - css::beans::Ambiguous< - css::beans::Defaulted< css::beans::Optional< sal_Int32 > > > - SAL_CALL getSecond() - throw ( - css::beans::UnknownPropertyException, css::uno::RuntimeException); - - virtual void SAL_CALL setSecond( - css::beans::Ambiguous< - css::beans::Defaulted< css::beans::Optional< ::sal_Int32 > > > const & - value) - throw ( - css::beans::PropertyVetoException, - css::beans::UnknownPropertyException, css::uno::RuntimeException); - - virtual sal_Int32 SAL_CALL getThird() - throw ( - css::beans::UnknownPropertyException, css::uno::RuntimeException); - - virtual void SAL_CALL setThird(sal_Int32 value) - throw ( - css::beans::UnknownPropertyException, css::uno::RuntimeException); - - virtual sal_Int32 SAL_CALL getFourth() - throw ( - css::beans::UnknownPropertyException, css::uno::RuntimeException); - - virtual void SAL_CALL setFourth(sal_Int32 value) - throw ( - css::beans::UnknownPropertyException, css::uno::RuntimeException); - -private: - Full(Full &); // not defined - void operator =(Full &); // not defined - - virtual ~Full() {} - - osl::Mutex m_mutex; - sal_Int32 m_a1; - css::beans::Ambiguous< - css::beans::Defaulted< css::beans::Optional< sal_Int32 > > > m_a2; -}; - -css::uno::Any Full::queryInterface(css::uno::Type const & type) - throw (css::uno::RuntimeException) -{ - css::uno::Any a(OWeakObject::queryInterface(type)); - if (a.hasValue()) { - return a; - } - a = cppu::queryInterface( - type, - static_cast< test::cppuhelper::propertysetmixin::XTest3 * >(this)); - return a.hasValue() - ? a - : (cppu::PropertySetMixin< - test::cppuhelper::propertysetmixin::XTest3 >::queryInterface( - type)); -} - -sal_Int32 Full::getFirst() throw (css::uno::RuntimeException) { - osl::MutexGuard g(m_mutex); - return m_a1; -} - -void Full::setFirst(sal_Int32 value) throw (css::uno::RuntimeException) { - prepareSet( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")), css::uno::Any(), - css::uno::Any(), 0); - osl::MutexGuard g(m_mutex); - m_a1 = value; -} - -css::beans::Ambiguous< - css::beans::Defaulted< css::beans::Optional< sal_Int32 > > > -Full::getSecond() - throw (css::beans::UnknownPropertyException, css::uno::RuntimeException) -{ - osl::MutexGuard g(m_mutex); - return m_a2; -} - -void Full::setSecond( - css::beans::Ambiguous< - css::beans::Defaulted< css::beans::Optional< ::sal_Int32 > > > const & - value) - throw ( - css::beans::PropertyVetoException, css::beans::UnknownPropertyException, - css::uno::RuntimeException) -{ - css::uno::Any v; - if (value.Value.Value.IsPresent) { - v <<= value.Value.Value.Value; - } - BoundListeners l; - prepareSet( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), css::uno::Any(), - v, &l); - { - osl::MutexGuard g(m_mutex); - m_a2 = value; - } - l.notify(); -} - -sal_Int32 Full::getThird() - throw (css::beans::UnknownPropertyException, css::uno::RuntimeException) -{ - throw css::beans::UnknownPropertyException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third")), - static_cast< cppu::OWeakObject * >(this)); -} - -void Full::setThird(sal_Int32) - throw (css::beans::UnknownPropertyException, css::uno::RuntimeException) -{ - throw css::beans::UnknownPropertyException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third")), - static_cast< cppu::OWeakObject * >(this)); -} - -sal_Int32 Full::getFourth() - throw (css::beans::UnknownPropertyException, css::uno::RuntimeException) -{ - throw css::beans::UnknownPropertyException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth")), - static_cast< cppu::OWeakObject * >(this)); -} - -void Full::setFourth(sal_Int32) - throw (css::beans::UnknownPropertyException, css::uno::RuntimeException) -{ - throw css::beans::UnknownPropertyException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth")), - static_cast< cppu::OWeakObject * >(this)); -} - -class Supplier: - public cppu::WeakImplHelper1< - test::cppuhelper::propertysetmixin::XSupplier > -{ -public: - explicit Supplier( - css::uno::Reference< css::uno::XComponentContext > const & context): - m_context(context) {} - - virtual css::uno::Reference< css::lang::XComponent > SAL_CALL getEmpty1() - throw (css::uno::RuntimeException) - { return new Empty1(m_context); } - - virtual css::uno::Reference< css::lang::XComponent > SAL_CALL getEmpty2() - throw (css::uno::RuntimeException) - { return new Empty2(m_context); } - - virtual css::uno::Reference< test::cppuhelper::propertysetmixin::XTest3 > - SAL_CALL getFull() throw (css::uno::RuntimeException) - { return new Full(m_context); } - -private: - Supplier(Supplier &); // not defined - void operator =(Supplier &); // not defined - - virtual ~Supplier() {} - - css::uno::Reference< css::uno::XComponentContext > m_context; -}; - -css::uno::Reference< css::uno::XInterface > SAL_CALL create( - css::uno::Reference< css::uno::XComponentContext > const & context) - SAL_THROW((css::uno::Exception)) -{ - return static_cast< cppu::OWeakObject * >(new Supplier(context)); -} - -rtl::OUString SAL_CALL getImplementationName() { - return rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "test.cppuhelper.propertysetmixin.comp.CppSupplier")); -} - -css::uno::Sequence< rtl::OUString > SAL_CALL getSupportedServiceNames() { - css::uno::Sequence< rtl::OUString > s(1); - s[0] = rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "test.cppuhelper.propertysetmixin.CppSupplier")); - return s; -} - -cppu::ImplementationEntry entries[] = { - { &create, &getImplementationName, &getSupportedServiceNames, - &cppu::createSingleComponentFactory, 0, 0 }, - { 0, 0, 0, 0, 0, 0 } }; - -} - -extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL mixin_component_getFactory( - char const * implName, void * serviceManager, void * registryKey) -{ - return cppu::component_getFactoryHelper( - implName, serviceManager, registryKey, entries); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/qa/propertysetmixin/makefile.mk b/cppuhelper/qa/propertysetmixin/makefile.mk deleted file mode 100644 index da794dbcc..000000000 --- a/cppuhelper/qa/propertysetmixin/makefile.mk +++ /dev/null @@ -1,139 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -.IF "$(OOO_SUBSEQUENT_TESTS)" == "" -nothing .PHONY: -.ELSE - -PRJ := ../.. -PRJNAME := cppuhelper - -TARGET := qa_propertysetmixin -PACKAGE = test/cppuhelper/propertysetmixin/comp - -ENABLE_EXCEPTIONS := TRUE - -my_components = $(TARGET).cpp $(TARGET).java - -.INCLUDE: settings.mk - -.IF "$(OS)" == "WNT" -my_file = file:/// -.ELSE -my_file = file:// -.END - -DLLPRE = # no leading "lib" on .so files -INCPRE += -I$(MISC)/$(TARGET)/inc -CFLAGSCXX += $(CPPUNIT_CFLAGS) - -SHL1TARGET = $(TARGET) -SHL1OBJS = $(SLO)/test_propertysetmixin.obj -SHL1VERSIONMAP = test.map -SHL1STDLIBS = $(CPPULIB) $(CPPUHELPERLIB) $(CPPUNITLIB) $(SALLIB) -SHL1IMPLIB = i$(SHL1TARGET) -SHL1RPATH = NONE -DEF1NAME = $(SHL1TARGET) - -SHL2TARGET = $(TARGET).uno -SHL2OBJS = $(SLO)/comp_propertysetmixin.obj -SHL2STDLIBS = $(CPPULIB) $(CPPUHELPERLIB) $(SALLIB) -SHL2IMPLIB = i$(SHL2TARGET) -SH21RPATH = NONE -DEF2NAME = $(SHL2TARGET) - -SLOFILES = $(SHL1OBJS) $(SHL2OBJS) - -JAVAFILES = JavaSupplier.java -JARFILES = java_uno.jar juh.jar jurt.jar ridl.jar - -.INCLUDE: target.mk - -ALLTAR: test - -$(MISC)/$(TARGET)/types.urd: types.idl - $(MKDIRHIER) $(@:d) - $(IDLC) -O$(@:d) -I$(SOLARIDLDIR) -cid -we $< - -$(MISC)/$(TARGET)/types.rdb: $(MISC)/$(TARGET)/types.urd - - $(RM) $@ - $(REGMERGE) $@ /UCR $< - -$(MISC)/$(TARGET)/cppumaker.flag: $(MISC)/$(TARGET)/types.rdb - $(CPPUMAKER) -O$(MISC)/$(TARGET)/inc -BUCR -Gc \ - -X$(SOLARBINDIR)/udkapi.rdb $< - $(TOUCH) $@ - -$(SLOFILES): $(MISC)/$(TARGET)/cppumaker.flag - -$(MISC)/$(TARGET)/javamaker.flag: $(MISC)/$(TARGET)/types.rdb - $(JAVAMAKER) -O$(CLASSDIR) -BUCR -nD -Gc -X$(SOLARBINDIR)/udkapi.rdb $< - $(TOUCH) $@ - -.IF "$(SOLAR_JAVA)"!="" -$(JAVATARGET): $(MISC)/$(TARGET)/javamaker.flag -.ENDIF - -$(MISC)/$(TARGET)/services.rdb .ERRREMOVE: $(SOLARENV)/bin/packcomponents.xslt \ - $(MISC)/$(TARGET)/services.input \ - $(my_components:^"$(MISC)/$(TARGET)/":+".component") - $(XSLTPROC) --nonet --stringparam prefix $(PWD)/$(MISC)/$(TARGET)/ -o $@ \ - $(SOLARENV)/bin/packcomponents.xslt $(MISC)/$(TARGET)/services.input - -$(MISC)/$(TARGET)/services.input: - $(MKDIRHIER) $(@:d) - echo \ - '<list>$(my_components:^"<filename>":+".component</filename>")</list>' \ - > $@ - -$(MISC)/$(TARGET)/$(TARGET).cpp.component .ERRREMOVE: \ - $(SOLARENV)/bin/createcomponent.xslt $(TARGET).cpp.component - $(XSLTPROC) --nonet --stringparam uri \ - '$(COMPONENTPREFIX_INBUILD_NATIVE)$(SHL2TARGETN:f)' -o $@ \ - $(SOLARENV)/bin/createcomponent.xslt $(TARGET).cpp.component - -$(MISC)/$(TARGET)/$(TARGET).java.component .ERRREMOVE: \ - $(SOLARENV)/bin/createcomponent.xslt $(TARGET).java.component - $(XSLTPROC) --nonet --stringparam uri \ - '$(COMPONENTPREFIX_INBUILD_JAVA)$(TARGET).uno.jar' -o $@ \ - $(SOLARENV)/bin/createcomponent.xslt $(TARGET).java.component - -$(MISC)/$(TARGET)/$(TARGET).uno.jar: $(JAVATARGET) \ - $(MISC)/$(TARGET)/javamaker.flag manifest - jar cfm $@ manifest -C $(CLASSDIR) test/cppuhelper/propertysetmixin - -test .PHONY: $(SHL1TARGETN) $(SHL2TARGETN) $(MISC)/$(TARGET)/$(TARGET).uno.jar \ - $(MISC)/$(TARGET)/types.rdb $(MISC)/$(TARGET)/services.rdb - $(CPPUNITTESTER) $(SHL1TARGETN) \ - '-env:UNO_TYPES=$(my_file)$(SOLARBINDIR)/udkapi.rdb $(my_file)$(PWD)/$(MISC)/$(TARGET)/types.rdb' \ - '-env:UNO_SERVICES=$(my_file)$(SOLARXMLDIR)/ure/services.rdb $(my_file)$(PWD)/$(MISC)/$(TARGET)/services.rdb'\ - -env:URE_INTERNAL_LIB_DIR=$(my_file)$(SOLARSHAREDBIN) \ - -env:URE_INTERNAL_JAVA_DIR=$(my_file)$(SOLARBINDIR) \ - -env:OOO_INBUILD_SHAREDLIB_DIR=$(my_file)$(PWD)/$(DLLDEST) \ - -env:OOO_INBUILD_JAR_DIR=$(my_file)$(PWD)/$(MISC)/$(TARGET) - -.END diff --git a/cppuhelper/qa/propertysetmixin/manifest b/cppuhelper/qa/propertysetmixin/manifest deleted file mode 100644 index 168f4bc19..000000000 --- a/cppuhelper/qa/propertysetmixin/manifest +++ /dev/null @@ -1,2 +0,0 @@ -Manifest-Version: 1.0 -RegistrationClassName: test.cppuhelper.propertysetmixin.comp.JavaSupplier diff --git a/cppuhelper/qa/propertysetmixin/qa_propertysetmixin.cpp.component b/cppuhelper/qa/propertysetmixin/qa_propertysetmixin.cpp.component deleted file mode 100644 index 1ae646e98..000000000 --- a/cppuhelper/qa/propertysetmixin/qa_propertysetmixin.cpp.component +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!--********************************************************************** -* -* 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. -* -**********************************************************************--> - -<component loader="com.sun.star.loader.SharedLibrary" prefix="mixin" - xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="test.cppuhelper.propertysetmixin.comp.CppSupplier"> - <service name="test.cppuhelper.propertysetmixin.CppSupplier"/> - </implementation> -</component> diff --git a/cppuhelper/qa/propertysetmixin/qa_propertysetmixin.java.component b/cppuhelper/qa/propertysetmixin/qa_propertysetmixin.java.component deleted file mode 100644 index 9711563b7..000000000 --- a/cppuhelper/qa/propertysetmixin/qa_propertysetmixin.java.component +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!--********************************************************************** -* -* 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. -* -**********************************************************************--> - -<component loader="com.sun.star.loader.Java2" - xmlns="http://openoffice.org/2010/uno-components"> - <implementation name="test.cppuhelper.propertysetmixin.comp.JavaSupplier"> - <service name="test.cppuhelper.propertysetmixin.JavaSupplier"/> - </implementation> -</component> diff --git a/cppuhelper/qa/propertysetmixin/test.map b/cppuhelper/qa/propertysetmixin/test.map deleted file mode 100644 index 0dbbcc5a7..000000000 --- a/cppuhelper/qa/propertysetmixin/test.map +++ /dev/null @@ -1,34 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -UDK_3_0_0 { - global: - cppunitTestPlugIn; - - local: - *; -}; diff --git a/cppuhelper/qa/propertysetmixin/test_propertysetmixin.cxx b/cppuhelper/qa/propertysetmixin/test_propertysetmixin.cxx deleted file mode 100644 index b88efab8e..000000000 --- a/cppuhelper/qa/propertysetmixin/test_propertysetmixin.cxx +++ /dev/null @@ -1,659 +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_cppuhelper.hxx" - -#ifdef IOS -#define CPPUNIT_PLUGIN_EXPORTED_NAME cppunitTest_cppuhelper_propertysetmixin -#endif - -#include "sal/config.h" - -#include "test/cppuhelper/propertysetmixin/CppSupplier.hpp" -#include "test/cppuhelper/propertysetmixin/JavaSupplier.hpp" -#include "test/cppuhelper/propertysetmixin/XSupplier.hpp" -#include "test/cppuhelper/propertysetmixin/XTest3.hpp" - -#include "com/sun/star/beans/Ambiguous.hpp" -#include "com/sun/star/beans/Defaulted.hpp" -#include "com/sun/star/beans/Optional.hpp" -#include "com/sun/star/beans/Property.hpp" -#include "com/sun/star/beans/PropertyAttribute.hpp" -#include "com/sun/star/beans/PropertyChangeEvent.hpp" -#include "com/sun/star/beans/PropertyState.hpp" -#include "com/sun/star/beans/PropertyValue.hpp" -#include "com/sun/star/beans/PropertyVetoException.hpp" -#include "com/sun/star/beans/UnknownPropertyException.hpp" -#include "com/sun/star/beans/XFastPropertySet.hpp" -#include "com/sun/star/beans/XPropertyAccess.hpp" -#include "com/sun/star/beans/XPropertyChangeListener.hpp" -#include "com/sun/star/beans/XPropertySet.hpp" -#include "com/sun/star/beans/XPropertySetInfo.hpp" -#include "com/sun/star/beans/XVetoableChangeListener.hpp" -#include "com/sun/star/lang/XComponent.hpp" -#include "com/sun/star/uno/Any.hxx" -#include "com/sun/star/uno/Reference.hxx" -#include "com/sun/star/uno/RuntimeException.hpp" -#include "com/sun/star/uno/Sequence.hxx" -#include "com/sun/star/uno/Type.hxx" -#include "com/sun/star/uno/XComponentContext.hpp" -#include "cppuhelper/bootstrap.hxx" -#include "cppuhelper/implbase1.hxx" -#include "cppunit/TestAssert.h" -#include "cppunit/TestFixture.h" -#include "cppunit/extensions/HelperMacros.h" -#include "cppunit/plugin/TestPlugIn.h" -#include "osl/mutex.hxx" -#include "rtl/ref.hxx" -#include "rtl/string.h" -#include "rtl/textenc.h" -#include "rtl/ustring.h" -#include "rtl/ustring.hxx" -#include "sal/types.h" - -#include <limits> -#include <ostream> - -namespace com { namespace sun { namespace star { - struct EventObject; -} } } - -namespace css = com::sun::star; - -namespace { - -std::ostream & operator <<(std::ostream & out, rtl::OUString const & value) { - return out << rtl::OUStringToOString(value, RTL_TEXTENCODING_UTF8).getStr(); -} - -std::ostream & operator <<(std::ostream & out, css::uno::Type const & value) { - return out << "com::sun::star::uno::Type[" << value.getTypeName() << ']'; -} - -std::ostream & operator <<(std::ostream & out, css::uno::Any const & value) { - return - out << "com::sun::star::uno::Any[" << value.getValueType() << ", ...]"; -} - -class BoundListener: - public cppu::WeakImplHelper1< css::beans::XPropertyChangeListener > -{ -public: - BoundListener(): m_count(0) {} - - int count() const { - osl::MutexGuard g(m_mutex); - return m_count; - } - - virtual void SAL_CALL disposing(css::lang::EventObject const &) - throw (css::uno::RuntimeException) - { - osl::MutexGuard g(m_mutex); - CPPUNIT_ASSERT(m_count < std::numeric_limits< int >::max()); - ++m_count; - } - - virtual void SAL_CALL propertyChange( - css::beans::PropertyChangeEvent const &) - throw (css::uno::RuntimeException) - { CPPUNIT_FAIL("BoundListener::propertyChange called"); } - -private: - BoundListener(BoundListener &); // not defined - void operator =(BoundListener &); // not defined - - virtual ~BoundListener() {} - - mutable osl::Mutex m_mutex; - int m_count; -}; - -class VetoListener: - public cppu::WeakImplHelper1< css::beans::XVetoableChangeListener > -{ -public: - VetoListener(): m_count(0) {} - - int count() const { - osl::MutexGuard g(m_mutex); - return m_count; - } - - virtual void SAL_CALL disposing(css::lang::EventObject const &) - throw (css::uno::RuntimeException) - { - osl::MutexGuard g(m_mutex); - CPPUNIT_ASSERT(m_count < std::numeric_limits< int >::max()); - ++m_count; - } - - virtual void SAL_CALL vetoableChange( - css::beans::PropertyChangeEvent const &) - throw (css::beans::PropertyVetoException, css::uno::RuntimeException) - { CPPUNIT_FAIL("VetoListener::vetoableChange called"); } - -private: - VetoListener(VetoListener &); // not defined - void operator =(VetoListener &); // not defined - - virtual ~VetoListener() {} - - mutable osl::Mutex m_mutex; - int m_count; -}; - -class Test: public CppUnit::TestFixture { -public: - virtual void setUp(); - - virtual void tearDown(); - - void testCppEmpty1() { testEmpty1(getCppSupplier()); } - - void testCppEmpty2() { testEmpty2(getCppSupplier()); } - - void testCppFull() { testFull(getCppSupplier()); } - - void testJavaEmpty1() { testEmpty1(getJavaSupplier()); } - - void testJavaEmpty2() { testEmpty2(getJavaSupplier()); } - - void testJavaFull() { testFull(getJavaSupplier()); } - - CPPUNIT_TEST_SUITE(Test); - CPPUNIT_TEST(testCppEmpty1); - CPPUNIT_TEST(testCppEmpty2); - CPPUNIT_TEST(testCppFull); - CPPUNIT_TEST(testJavaEmpty1); - CPPUNIT_TEST(testJavaEmpty2); - CPPUNIT_TEST(testJavaFull); - CPPUNIT_TEST_SUITE_END(); - -private: - css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > - getCppSupplier() const; - - css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > - getJavaSupplier() const; - - void testEmpty1( - css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > - const & supplier) const; - - void testEmpty2( - css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > - const & supplier) const; - - void testFull( - css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > - const & supplier) const; - - css::uno::Reference< css::uno::XComponentContext > m_context; -}; - -void Test::setUp() { - m_context = cppu::defaultBootstrap_InitialComponentContext(); - CPPUNIT_ASSERT(m_context.is()); -} - -void Test::tearDown() { - css::uno::Reference< css::lang::XComponent >( - m_context, css::uno::UNO_QUERY_THROW)->dispose(); -} - -css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > -Test::getCppSupplier() const -{ - return test::cppuhelper::propertysetmixin::CppSupplier::create(m_context); -} - -css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > -Test::getJavaSupplier() const -{ - return test::cppuhelper::propertysetmixin::JavaSupplier::create(m_context); -} - -void Test::testEmpty1( - css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > - const & supplier) const -{ - css::uno::Reference< css::lang::XComponent > empty1( - supplier->getEmpty1(), css::uno::UNO_QUERY_THROW); - CPPUNIT_ASSERT( - !css::uno::Reference< css::beans::XPropertySet >( - empty1, css::uno::UNO_QUERY).is()); - CPPUNIT_ASSERT( - !css::uno::Reference< css::beans::XFastPropertySet >( - empty1, css::uno::UNO_QUERY).is()); - CPPUNIT_ASSERT( - !css::uno::Reference< css::beans::XPropertyAccess >( - empty1, css::uno::UNO_QUERY).is()); - empty1->dispose(); -} - -void Test::testEmpty2( - css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > - const & supplier) const -{ - css::uno::Reference< css::lang::XComponent > empty2( - supplier->getEmpty2(), css::uno::UNO_QUERY_THROW); - css::uno::Reference< css::beans::XPropertySet > empty2p( - empty2, css::uno::UNO_QUERY); - CPPUNIT_ASSERT(empty2p.is()); - css::uno::Reference< css::beans::XPropertySetInfo > info( - empty2p->getPropertySetInfo()); - CPPUNIT_ASSERT(info.is()); - CPPUNIT_ASSERT_EQUAL( - static_cast< sal_Int32 >(0), info->getProperties().getLength()); - try { - info->getPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("any"))); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - CPPUNIT_ASSERT( - !info->hasPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("any")))); - try { - empty2p->setPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("any")), css::uno::Any()); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - empty2p->getPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("any"))); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - rtl::Reference< BoundListener > boundListener1(new BoundListener); - empty2p->addPropertyChangeListener(rtl::OUString(), boundListener1.get()); - empty2p->addPropertyChangeListener(rtl::OUString(), boundListener1.get()); - rtl::Reference< BoundListener > boundListener2(new BoundListener); - empty2p->removePropertyChangeListener( - rtl::OUString(), boundListener2.get()); - rtl::Reference< VetoListener > vetoListener1(new VetoListener); - empty2p->addVetoableChangeListener(rtl::OUString(), vetoListener1.get()); - empty2p->addVetoableChangeListener(rtl::OUString(), vetoListener1.get()); - rtl::Reference< VetoListener > vetoListener2(new VetoListener); - empty2p->addVetoableChangeListener(rtl::OUString(), vetoListener2.get()); - empty2p->removeVetoableChangeListener(rtl::OUString(), vetoListener2.get()); - css::uno::Reference< css::beans::XFastPropertySet > empty2f( - empty2, css::uno::UNO_QUERY); - CPPUNIT_ASSERT(empty2f.is()); - try { - empty2f->setFastPropertyValue(-1, css::uno::Any()); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - empty2f->setFastPropertyValue(0, css::uno::Any()); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - empty2f->getFastPropertyValue(-1); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - empty2f->getFastPropertyValue(0); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - css::uno::Reference< css::beans::XPropertyAccess > empty2a( - empty2, css::uno::UNO_QUERY); - CPPUNIT_ASSERT(empty2a.is()); - CPPUNIT_ASSERT_EQUAL( - static_cast< sal_Int32 >(0), empty2a->getPropertyValues().getLength()); - empty2a->setPropertyValues( - css::uno::Sequence< css::beans::PropertyValue >()); - css::uno::Sequence< css::beans::PropertyValue > vs(2); - vs[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("any1")); - vs[0].Handle = -1; - vs[0].State = css::beans::PropertyState_DIRECT_VALUE; - vs[0].Name = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("any2")); - vs[0].Handle = -1; - vs[0].State = css::beans::PropertyState_DIRECT_VALUE; - try { - empty2a->setPropertyValues(vs); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - CPPUNIT_ASSERT_EQUAL(0, boundListener1->count()); - CPPUNIT_ASSERT_EQUAL(0, boundListener2->count()); - CPPUNIT_ASSERT_EQUAL(0, vetoListener1->count()); - CPPUNIT_ASSERT_EQUAL(0, vetoListener2->count()); - empty2->dispose(); - CPPUNIT_ASSERT_EQUAL(2, boundListener1->count()); - CPPUNIT_ASSERT_EQUAL(0, boundListener2->count()); - CPPUNIT_ASSERT_EQUAL(2, vetoListener1->count()); - CPPUNIT_ASSERT_EQUAL(0, vetoListener2->count()); - empty2p->removePropertyChangeListener( - rtl::OUString(), boundListener1.get()); - empty2p->removePropertyChangeListener( - rtl::OUString(), boundListener2.get()); - empty2p->removeVetoableChangeListener(rtl::OUString(), vetoListener1.get()); - empty2p->removeVetoableChangeListener(rtl::OUString(), vetoListener2.get()); - empty2p->addPropertyChangeListener(rtl::OUString(), boundListener1.get()); - empty2p->addPropertyChangeListener(rtl::OUString(), boundListener2.get()); - empty2p->addVetoableChangeListener(rtl::OUString(), vetoListener1.get()); - empty2p->addVetoableChangeListener(rtl::OUString(), vetoListener2.get()); - try { - empty2p->addPropertyChangeListener( - rtl::OUString(), - css::uno::Reference< css::beans::XPropertyChangeListener >()); - } catch (css::uno::RuntimeException &) {} - try { - empty2p->addVetoableChangeListener( - rtl::OUString(), - css::uno::Reference< css::beans::XVetoableChangeListener >()); - } catch (css::uno::RuntimeException &) {} - CPPUNIT_ASSERT_EQUAL(3, boundListener1->count()); - CPPUNIT_ASSERT_EQUAL(1, boundListener2->count()); - CPPUNIT_ASSERT_EQUAL(3, vetoListener1->count()); - CPPUNIT_ASSERT_EQUAL(1, vetoListener2->count()); -} - -void Test::testFull( - css::uno::Reference< test::cppuhelper::propertysetmixin::XSupplier > - const & supplier) const -{ - css::uno::Reference< test::cppuhelper::propertysetmixin::XTest3 > full( - supplier->getFull(), css::uno::UNO_QUERY_THROW); - css::uno::Reference< css::beans::XPropertySet > fullp( - full, css::uno::UNO_QUERY); - CPPUNIT_ASSERT(fullp.is()); - css::uno::Reference< css::beans::XPropertySetInfo > info( - fullp->getPropertySetInfo()); - CPPUNIT_ASSERT(info.is()); - CPPUNIT_ASSERT_EQUAL( - static_cast< sal_Int32 >(3), info->getProperties().getLength()); - css::beans::Property prop( - info->getPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")))); - CPPUNIT_ASSERT_EQUAL( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")), prop.Name); - CPPUNIT_ASSERT_EQUAL(static_cast< sal_Int32 >(0), prop.Handle); - CPPUNIT_ASSERT_EQUAL(getCppuType(static_cast< sal_Int32 * >(0)), prop.Type); - CPPUNIT_ASSERT_EQUAL(static_cast< sal_Int16 >(0), prop.Attributes); - prop = info->getPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second"))); - CPPUNIT_ASSERT_EQUAL( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), prop.Name); - CPPUNIT_ASSERT_EQUAL(static_cast< sal_Int32 >(1), prop.Handle); - CPPUNIT_ASSERT_EQUAL(getCppuType(static_cast< sal_Int32 * >(0)), prop.Type); - CPPUNIT_ASSERT_EQUAL( - static_cast< sal_Int16 >( - css::beans::PropertyAttribute::MAYBEVOID - | css::beans::PropertyAttribute::BOUND - | css::beans::PropertyAttribute::CONSTRAINED - | css::beans::PropertyAttribute::MAYBEAMBIGUOUS - | css::beans::PropertyAttribute::MAYBEDEFAULT - | css::beans::PropertyAttribute::OPTIONAL), - prop.Attributes); - try { - info->getPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third"))); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - prop = info->getPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth"))); - CPPUNIT_ASSERT_EQUAL( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth")), prop.Name); - CPPUNIT_ASSERT_EQUAL(static_cast< sal_Int32 >(3), prop.Handle); - CPPUNIT_ASSERT_EQUAL(getCppuType(static_cast< sal_Int32 * >(0)), prop.Type); - CPPUNIT_ASSERT_EQUAL( - static_cast< sal_Int16 >(css::beans::PropertyAttribute::OPTIONAL), - prop.Attributes); - try { - info->getPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("first"))); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - CPPUNIT_ASSERT( - info->hasPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")))); - CPPUNIT_ASSERT( - info->hasPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")))); - CPPUNIT_ASSERT( - !info->hasPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third")))); - CPPUNIT_ASSERT( - info->hasPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth")))); - CPPUNIT_ASSERT( - !info->hasPropertyByName( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("first")))); - CPPUNIT_ASSERT_EQUAL( - css::uno::makeAny(static_cast< sal_Int32 >(0)), - fullp->getPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")))); - fullp->setPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")), - css::uno::makeAny(static_cast< sal_Int32 >(-100))); - CPPUNIT_ASSERT_EQUAL( - css::uno::makeAny(static_cast< sal_Int32 >(-100)), - fullp->getPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")))); - css::uno::Any voidAny; - CPPUNIT_ASSERT_EQUAL( - voidAny, - fullp->getPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")))); - fullp->setPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), - css::uno::makeAny(static_cast< sal_Int32 >(100))); - CPPUNIT_ASSERT_EQUAL( - css::uno::makeAny(static_cast< sal_Int32 >(100)), - fullp->getPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")))); - CPPUNIT_ASSERT(full->getSecond().Value.Value.IsPresent); - CPPUNIT_ASSERT_EQUAL( - static_cast< sal_Int32 >(100), full->getSecond().Value.Value.Value); - CPPUNIT_ASSERT(!full->getSecond().Value.IsDefaulted); - CPPUNIT_ASSERT(!full->getSecond().IsAmbiguous); - fullp->setPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), - css::uno::Any()); - CPPUNIT_ASSERT_EQUAL( - voidAny, - fullp->getPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")))); - CPPUNIT_ASSERT(!full->getSecond().Value.Value.IsPresent); - CPPUNIT_ASSERT(!full->getSecond().Value.IsDefaulted); - CPPUNIT_ASSERT(!full->getSecond().IsAmbiguous); - try { - fullp->setPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third")), - css::uno::makeAny(static_cast< sal_Int32 >(100))); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullp->getPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third"))); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullp->setPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth")), - css::uno::makeAny(static_cast< sal_Int32 >(100))); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullp->getPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth"))); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullp->setPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("first")), - css::uno::Any()); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullp->getPropertyValue( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("first"))); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - css::uno::Reference< css::beans::XFastPropertySet > fullf( - full, css::uno::UNO_QUERY); - CPPUNIT_ASSERT(fullf.is()); - CPPUNIT_ASSERT_EQUAL( - css::uno::makeAny(static_cast< sal_Int32 >(-100)), - fullf->getFastPropertyValue(0)); - fullf->setFastPropertyValue( - 0, css::uno::makeAny(static_cast< sal_Int32 >(0))); - CPPUNIT_ASSERT_EQUAL( - css::uno::makeAny(static_cast< sal_Int32 >(0)), - fullf->getFastPropertyValue(0)); - try { - fullf->getFastPropertyValue(-1); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullf->setFastPropertyValue(-1, css::uno::Any()); - } catch (css::beans::UnknownPropertyException &) {} - css::uno::Reference< css::beans::XPropertyAccess > fulla( - full, css::uno::UNO_QUERY); - CPPUNIT_ASSERT(fulla.is()); - css::uno::Sequence< css::beans::PropertyValue > vs( - fulla->getPropertyValues()); - CPPUNIT_ASSERT_EQUAL(static_cast< sal_Int32 >(2), vs.getLength()); - CPPUNIT_ASSERT_EQUAL( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")), vs[0].Name); - CPPUNIT_ASSERT_EQUAL(static_cast< sal_Int32 >(0), vs[0].Handle); - CPPUNIT_ASSERT_EQUAL( - css::uno::makeAny(static_cast< sal_Int32 >(0)), vs[0].Value); - CPPUNIT_ASSERT_EQUAL(css::beans::PropertyState_DIRECT_VALUE, vs[0].State); - CPPUNIT_ASSERT_EQUAL( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), vs[1].Name); - CPPUNIT_ASSERT_EQUAL(static_cast< sal_Int32 >(1), vs[1].Handle); - CPPUNIT_ASSERT_EQUAL(voidAny, vs[1].Value); - CPPUNIT_ASSERT_EQUAL(css::beans::PropertyState_DIRECT_VALUE, vs[1].State); - vs[0].Value <<= static_cast< sal_Int32 >(-100); - vs[1].Value <<= static_cast< sal_Int32 >(100); - vs[1].State = css::beans::PropertyState_AMBIGUOUS_VALUE; - fulla->setPropertyValues(vs); - vs = fulla->getPropertyValues(); - CPPUNIT_ASSERT_EQUAL(static_cast< sal_Int32 >(2), vs.getLength()); - CPPUNIT_ASSERT_EQUAL( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")), vs[0].Name); - CPPUNIT_ASSERT_EQUAL( - css::uno::makeAny(static_cast< sal_Int32 >(-100)), vs[0].Value); - CPPUNIT_ASSERT_EQUAL(css::beans::PropertyState_DIRECT_VALUE, vs[0].State); - CPPUNIT_ASSERT_EQUAL( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), vs[1].Name); - CPPUNIT_ASSERT_EQUAL( - css::uno::makeAny(static_cast< sal_Int32 >(100)), vs[1].Value); - CPPUNIT_ASSERT_EQUAL( - css::beans::PropertyState_AMBIGUOUS_VALUE, vs[1].State); - CPPUNIT_ASSERT(full->getSecond().Value.Value.IsPresent); - CPPUNIT_ASSERT_EQUAL( - static_cast< sal_Int32 >(100), full->getSecond().Value.Value.Value); - CPPUNIT_ASSERT(!full->getSecond().Value.IsDefaulted); - CPPUNIT_ASSERT(full->getSecond().IsAmbiguous); - css::uno::Reference< css::beans::XPropertyChangeListener > boundListener( - new BoundListener); - fullp->addPropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")), boundListener); - fullp->removePropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")), boundListener); - fullp->addPropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), boundListener); - fullp->removePropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), boundListener); - try { - fullp->addPropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third")), - boundListener); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullp->removePropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third")), - boundListener); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - fullp->addPropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth")), boundListener); - fullp->removePropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth")), boundListener); - try { - fullp->addPropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fifth")), - boundListener); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullp->removePropertyChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fifth")), - boundListener); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - css::uno::Reference< css::beans::XVetoableChangeListener > vetoListener( - new VetoListener); - fullp->addVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")), vetoListener); - fullp->removeVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("First")), vetoListener); - fullp->addVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), vetoListener); - fullp->removeVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Second")), vetoListener); - try { - fullp->addVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third")), - vetoListener); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullp->removeVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Third")), - vetoListener); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - fullp->addVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth")), vetoListener); - fullp->removeVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fourth")), vetoListener); - try { - fullp->addVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fifth")), - vetoListener); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} - try { - fullp->removeVetoableChangeListener( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Fifth")), - vetoListener); - CPPUNIT_FAIL("exception expected"); - } catch (css::beans::UnknownPropertyException &) {} -} - -CPPUNIT_TEST_SUITE_REGISTRATION(Test); - -} - -CPPUNIT_PLUGIN_IMPLEMENT(); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/qa/propertysetmixin/types.idl b/cppuhelper/qa/propertysetmixin/types.idl deleted file mode 100644 index cd8659362..000000000 --- a/cppuhelper/qa/propertysetmixin/types.idl +++ /dev/null @@ -1,85 +0,0 @@ -/************************************************************************* - * - * 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. - * - ************************************************************************/ - -#ifndef __testtools_servicetests_TestService1_idl__ -#define __testtools_servicetests_TestService1_idl__ - -#include <com/sun/star/beans/Ambiguous.idl> -#include <com/sun/star/beans/Defaulted.idl> -#include <com/sun/star/beans/Optional.idl> -#include <com/sun/star/beans/PropertyVetoException.idl> -#include <com/sun/star/beans/UnknownPropertyException.idl> -#include <com/sun/star/lang/XComponent.idl> -#include <com/sun/star/uno/XInterface.idl> - -module test { module cppuhelper { module propertysetmixin { - -interface XTest1 { - [attribute] long First; -}; - -interface XTest2 { - [attribute, bound] - com::sun::star::beans::Ambiguous< - com::sun::star::beans::Defaulted< - com::sun::star::beans::Optional< long > > > Second - { - get raises (com::sun::star::beans::UnknownPropertyException); - set raises ( - com::sun::star::beans::PropertyVetoException, - com::sun::star::beans::UnknownPropertyException); - }; -}; - -interface XTest3 { - interface XTest1; - interface XTest2; - [attribute] long Third { - get raises (com::sun::star::beans::UnknownPropertyException); - set raises (com::sun::star::beans::UnknownPropertyException); - }; - [attribute] long Fourth { - get raises (com::sun::star::beans::UnknownPropertyException); - set raises (com::sun::star::beans::UnknownPropertyException); - }; -}; - -interface XSupplier { - com::sun::star::lang::XComponent getEmpty1(); - - com::sun::star::lang::XComponent getEmpty2(); - - XTest3 getFull(); -}; - -service CppSupplier: XSupplier; - -service JavaSupplier: XSupplier; - -}; }; }; - -#endif diff --git a/cppuhelper/qa/sce/test_unourl.sce b/cppuhelper/qa/sce/test_unourl.sce deleted file mode 100644 index d937ca311..000000000 --- a/cppuhelper/qa/sce/test_unourl.sce +++ /dev/null @@ -1 +0,0 @@ -UnoUrl diff --git a/cppuhelper/qa/static/cppuhelper_cppunittester_all.cxx b/cppuhelper/qa/static/cppuhelper_cppunittester_all.cxx deleted file mode 100644 index a1085a6aa..000000000 --- a/cppuhelper/qa/static/cppuhelper_cppunittester_all.cxx +++ /dev/null @@ -1,139 +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. -* -************************************************************************/ - -#include "sal/config.h" - -#include <cstdlib> -#include <iostream> -#include <limits> -#include <string> -#include "protectorfactory.hxx" -#include "osl/module.h" -#include "osl/module.hxx" -#include "osl/thread.h" -#include "rtl/process.h" -#include "rtl/string.h" -#include "rtl/string.hxx" -#include "rtl/textcvt.h" -#include "rtl/ustring.hxx" -#include "sal/main.h" -#include "sal/types.h" - -#include "cppunit/CompilerOutputter.h" -#include "cppunit/TestResult.h" -#include "cppunit/TestResultCollector.h" -#include "cppunit/TestRunner.h" -#include "cppunit/plugin/TestPlugIn.h" -#include "cppunit/plugin/PlugInParameters.h" -#include "cppunit/extensions/TestFactoryRegistry.h" -#include "cppunit/portability/Stream.h" - -#include "boost/noncopyable.hpp" - -namespace { - -void usageFailure() { - std::cerr - << ("Usage: cppunittester (--protector <shared-library-path>" - " <function-symbol>)* <shared-library-path>") - << std::endl; - std::exit(EXIT_FAILURE); -} - -rtl::OUString getArgument(sal_Int32 index) { - rtl::OUString arg; - rtl_getAppCommandArg(index, &arg.pData); - return arg; -} - -std::string convertLazy(rtl::OUString const & s16) { - rtl::OString s8(rtl::OUStringToOString(s16, osl_getThreadTextEncoding())); - return std::string( - s8.getStr(), - ((static_cast< sal_uInt32 >(s8.getLength()) - > (std::numeric_limits< std::string::size_type >::max)()) - ? (std::numeric_limits< std::string::size_type >::max)() - : static_cast< std::string::size_type >(s8.getLength()))); -} - -//Allow the whole uniting testing framework to be run inside a "Protector" -//which knows about uno exceptions, so it can print the content of the -//exception before falling over and dying -class CPPUNIT_API ProtectedFixtureFunctor : public CppUnit::Functor, private boost::noncopyable -{ -private: - const std::string &args; - CppUnit::TestResult &result; -public: - ProtectedFixtureFunctor(const std::string &args_, CppUnit::TestResult &result_) - : args(args_) - , result(result_) - { - } - bool run() const - { - CppUnit::TestRunner runner; - runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); - CppUnit::TestResultCollector collector; - result.addListener(&collector); - runner.run(result); - CppUnit::CompilerOutputter(&collector, CppUnit::stdCErr()).write(); - return collector.wasSuccessful(); - } - virtual bool operator()() const - { - return run(); - } -}; -} - -extern "C" CppUnitTestPlugIn - *cppunitTest_cppu_ifcontainer(void), - *cppunitTest_cppu_unourl(void); - -SAL_IMPLEMENT_MAIN() { - TestPlugInSignature plugs[] = { - cppunitTest_cppu_ifcontainer, - cppunitTest_cppu_unourl, - NULL - }; - CppUnit::TestResult result; - std::string args; - bool ok = false; - for (TestPlugInSignature *plug = plugs; *plug != NULL; plug++) { - CppUnitTestPlugIn *iface; - iface = (*plug)(); - iface->initialize(&CppUnit::TestFactoryRegistry::getRegistry(), CppUnit::PlugInParameters()); - } - ProtectedFixtureFunctor tests(args, result); - ok = tests.run(); - - return ok ? EXIT_SUCCESS : EXIT_FAILURE; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/qa/static/cppuhelper_cppunittester_subsequent.cxx b/cppuhelper/qa/static/cppuhelper_cppunittester_subsequent.cxx deleted file mode 100644 index 90d7f8b54..000000000 --- a/cppuhelper/qa/static/cppuhelper_cppunittester_subsequent.cxx +++ /dev/null @@ -1,138 +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. -* -************************************************************************/ - -#include "sal/config.h" - -#include <cstdlib> -#include <iostream> -#include <limits> -#include <string> -#include "protectorfactory.hxx" -#include "osl/module.h" -#include "osl/module.hxx" -#include "osl/thread.h" -#include "rtl/process.h" -#include "rtl/string.h" -#include "rtl/string.hxx" -#include "rtl/textcvt.h" -#include "rtl/ustring.hxx" -#include "sal/main.h" -#include "sal/types.h" - -#include "cppunit/CompilerOutputter.h" -#include "cppunit/TestResult.h" -#include "cppunit/TestResultCollector.h" -#include "cppunit/TestRunner.h" -#include "cppunit/plugin/TestPlugIn.h" -#include "cppunit/plugin/PlugInParameters.h" -#include "cppunit/extensions/TestFactoryRegistry.h" -#include "cppunit/portability/Stream.h" - -#include "boost/noncopyable.hpp" - -namespace { - -void usageFailure() { - std::cerr - << ("Usage: cppunittester (--protector <shared-library-path>" - " <function-symbol>)* <shared-library-path>") - << std::endl; - std::exit(EXIT_FAILURE); -} - -rtl::OUString getArgument(sal_Int32 index) { - rtl::OUString arg; - rtl_getAppCommandArg(index, &arg.pData); - return arg; -} - -std::string convertLazy(rtl::OUString const & s16) { - rtl::OString s8(rtl::OUStringToOString(s16, osl_getThreadTextEncoding())); - return std::string( - s8.getStr(), - ((static_cast< sal_uInt32 >(s8.getLength()) - > (std::numeric_limits< std::string::size_type >::max)()) - ? (std::numeric_limits< std::string::size_type >::max)() - : static_cast< std::string::size_type >(s8.getLength()))); -} - -//Allow the whole uniting testing framework to be run inside a "Protector" -//which knows about uno exceptions, so it can print the content of the -//exception before falling over and dying -class CPPUNIT_API ProtectedFixtureFunctor : public CppUnit::Functor, private boost::noncopyable -{ -private: - const std::string &args; - CppUnit::TestResult &result; -public: - ProtectedFixtureFunctor(const std::string &args_, CppUnit::TestResult &result_) - : args(args_) - , result(result_) - { - } - bool run() const - { - CppUnit::TestRunner runner; - runner.addTest(CppUnit::TestFactoryRegistry::getRegistry().makeTest()); - CppUnit::TestResultCollector collector; - result.addListener(&collector); - runner.run(result); - CppUnit::CompilerOutputter(&collector, CppUnit::stdCErr()).write(); - return collector.wasSuccessful(); - } - virtual bool operator()() const - { - return run(); - } -}; -} - -extern "C" CppUnitTestPlugIn - *cppunitTest_cppuhelper_propertysetmixin(void); - - -SAL_IMPLEMENT_MAIN() { - TestPlugInSignature plugs[] = { - cppunitTest_cppuhelper_propertysetmixin, - NULL - }; - CppUnit::TestResult result; - std::string args; - bool ok = false; - for (TestPlugInSignature *plug = plugs; *plug != NULL; plug++) { - CppUnitTestPlugIn *iface; - iface = (*plug)(); - iface->initialize(&CppUnit::TestFactoryRegistry::getRegistry(), CppUnit::PlugInParameters()); - } - ProtectedFixtureFunctor tests(args, result); - ok = tests.run(); - - return ok ? EXIT_SUCCESS : EXIT_FAILURE; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/qa/static/makefile.mk b/cppuhelper/qa/static/makefile.mk deleted file mode 100644 index b7a7d5c16..000000000 --- a/cppuhelper/qa/static/makefile.mk +++ /dev/null @@ -1,73 +0,0 @@ -#************************************************************************* -# -# 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. -# -#***********************************************************************/ - -PRJ = ../.. -PRJNAME = cppuhelper -TARGET = cppuhelper_cppunittester_all - -ENABLE_EXCEPTIONS = TRUE -LIBTARGET = NO - -.INCLUDE: settings.mk - -CFLAGSCXX += $(CPPUNIT_CFLAGS) - -.IF "$(OS)" != "IOS" - -ALL : - @echo This is only for iOS - -.ENDIF - -CFLAGSCXX += $(OBJCXXFLAGS) - -.IF "$(OOO_SUBSEQUENT_TESTS)" != "" - -APP1OBJS = $(OBJ)/cppuhelper_cppunittester_subsequent.obj -APP1RPATH = NONE -APP1LIBS += \ - $(SLB)/qa_propertysetmixin.lib \ - $(SLB)/cppuhelper.lib - -APP1STDLIBS = $(CPPUNITLIB) $(CPPULIB) $(SALLIB) $(SALHELPERLIB) -APP1TARGET = $(TARGET) - -.ELSE - -APP1OBJS = $(OBJ)/cppuhelper_cppunittester_all.obj -APP1RPATH = NONE -APP1LIBS += \ - $(SLB)/cppu_ifcontainer.lib \ - $(SLB)/cppu_unourl.lib \ - $(SLB)/cppuhelper.lib - -APP1STDLIBS = $(CPPUNITLIB) $(CPPULIB) $(SALLIB) $(SALHELPERLIB) -APP1TARGET = $(TARGET) - -.ENDIF - -.INCLUDE: target.mk diff --git a/cppuhelper/qa/unourl/cppu_unourl.cxx b/cppuhelper/qa/unourl/cppu_unourl.cxx deleted file mode 100644 index f025c2f30..000000000 --- a/cppuhelper/qa/unourl/cppu_unourl.cxx +++ /dev/null @@ -1,483 +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. - * - ************************************************************************/ - -#include <cppunit/TestFixture.h> -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/plugin/TestPlugIn.h> - -#include "cppuhelper/unourl.hxx" -#include "rtl/malformeduriexception.hxx" -#include "rtl/strbuf.hxx" -#include "rtl/string.h" -#include "rtl/textenc.h" -#include "rtl/ustring.hxx" -#include "sal/types.h" - -namespace cppu_unourl -{ - class UrlTest : public CppUnit::TestFixture - { - public: - void testDescriptorParsing() - { - struct Test - { - char const * pInput; - bool bValid; - }; - static Test const aTests[] - = { { "", false }, - { "abc", true }, - { "Abc", true }, - { "aBC", true }, - { "ABC", true }, - { "1abc", true }, - { "123", true }, - { "abc-1", false }, - { "ab%63", false }, - { "abc,", false }, - { "abc,def=", true }, - { "abc,Def=", true }, - { "abc,DEF=", true }, - { "abc,1def=", true }, - { "abc,123=", true }, - { "abc,def-1=", false }, - { "abc,def", false }, - { "abc,def=xxx,def=xxx", false }, - { "abc,def=xxx,ghi=xxx", true }, - { "abc,,def=xxx", false }, - { "abc,def=xxx,,ghi=xxx", false }, - { "abc,def=xxx,ghi=xxx,", false }, - { "abc,def=%", true }, - { "abc,def=%1", true }, - { "abc,def=%00", true }, - { "abc,def=%22", true }, - { "abc,def=\"", true }, - { "abc,def=%ed%a0%80", true } }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aTests); ++i) - { - bool bValid = false; - try - { - cppu::UnoUrlDescriptor aDescriptor(rtl::OUString::createFromAscii( - aTests[i].pInput)); - bValid = true; - } - catch (rtl::MalformedUriException &) - {} - - if (aTests[i].bValid) - { - CPPUNIT_ASSERT_MESSAGE("Valid uri parsed as invalid", bValid); - } - else - { - CPPUNIT_ASSERT_MESSAGE("Invalid uri parsed as valid", !bValid); - } - } - } - - void testDescriptorDescriptor() - { - struct Test - { - char const * pInput; - char const * pDescriptor; - }; - static Test const aTests[] - = {{ "abc", "abc" }, - { "Abc", "Abc" }, - { "aBC", "aBC" }, - { "ABC", "ABC" }, - { "1abc", "1abc" }, - { "123", "123" }, - { "abc,def=", "abc,def=" }, - { "abc,Def=", "abc,Def=" }, - { "abc,DEF=", "abc,DEF=" }, - { "abc,1def=", "abc,1def=" }, - { "abc,123=", "abc,123=" }, - { "abc,def=xxx,ghi=xxx", "abc,def=xxx,ghi=xxx" }, - { "abc,def=%", "abc,def=%" }, - { "abc,def=%1", "abc,def=%1" }, - { "abc,def=%00", "abc,def=%00" }, - { "abc,def=%22", "abc,def=%22" }, - { "abc,def=\"", "abc,def=\"" }, - { "abc,def=%ed%a0%80", "abc,def=%ed%a0%80" } }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aTests); ++i) - { - bool bValid = false; - rtl::OUString aDescriptor; - try - { - aDescriptor = cppu::UnoUrlDescriptor(rtl::OUString::createFromAscii( - aTests[i].pInput)). - getDescriptor(); - bValid = true; - } - catch (rtl::MalformedUriException &) - {} - - CPPUNIT_ASSERT_MESSAGE("Failed to parse URI", bValid); - CPPUNIT_ASSERT_MESSAGE("Failed to parse URI correctly", - aDescriptor.equalsAscii( - aTests[i].pDescriptor)); - } - } - - - void testDescriptorName() - { - struct Test - { - char const * pInput; - char const * pName; - }; - static Test const aTests[] - = { { "abc", "abc" }, - { "Abc", "abc" }, - { "aBC", "abc" }, - { "ABC", "abc" }, - { "1abc", "1abc" }, - { "123", "123" }, - { "abc,def=", "abc" }, - { "abc,Def=", "abc" }, - { "abc,DEF=", "abc" }, - { "abc,1def=", "abc" }, - { "abc,123=", "abc" }, - { "abc,def=xxx,ghi=xxx", "abc" }, - { "abc,def=%", "abc" }, - { "abc,def=%1", "abc" }, - { "abc,def=%00", "abc" }, - { "abc,def=%22", "abc" }, - { "abc,def=\"", "abc" }, - { "abc,def=%ed%a0%80", "abc" } }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aTests); ++i) - { - bool bValid = false; - rtl::OUString aName; - try - { - aName = cppu::UnoUrlDescriptor(rtl::OUString::createFromAscii( - aTests[i].pInput)).getName(); - bValid = true; - } - catch (rtl::MalformedUriException &) - {} - - CPPUNIT_ASSERT_MESSAGE("Failed to parse URI", bValid); - CPPUNIT_ASSERT_MESSAGE("Failed to parse URI correctly", - aName.equalsAscii(aTests[i].pName)); - } - } - - void testDescriptorKey(void) - { - struct Test - { - char const * pInput; - char const * pKey; - bool bPresent; - }; - static Test const aTests[] - = { { "abc", "abc", false }, - { "abc", "def", false }, - { "1abc", "def", false }, - { "123", "def", false }, - { "abc,def=", "abc", false }, - { "abc,def=", "def", true }, - { "abc,def=", "defg", false }, - { "abc,def=", "de", false }, - { "abc,def=", "ghi", false }, - { "abc,Def=", "def", true }, - { "abc,Def=", "Def", true }, - { "abc,Def=", "dEF", true }, - { "abc,Def=", "DEF", true }, - { "abc,def=xxx,ghi=xxx", "abc", false }, - { "abc,def=xxx,ghi=xxx", "def", true }, - { "abc,def=xxx,ghi=xxx", "ghi", true }, - { "abc,def=xxx,ghi=xxx", "jkl", false } }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aTests); ++i) - { - bool bValid = false; - bool bPresent = false; - try - { - bPresent = cppu::UnoUrlDescriptor(rtl::OUString::createFromAscii( - aTests[i].pInput)). - hasParameter(rtl::OUString::createFromAscii(aTests[i].pKey)); - bValid = true; - } - catch (rtl::MalformedUriException &) - {} - - CPPUNIT_ASSERT_MESSAGE("Failed to parse URI", bValid); - CPPUNIT_ASSERT_MESSAGE("Failed to detect parameter correctly", - bPresent == aTests[i].bPresent); - } - } - - void testDescriptorValue() - { - struct Test - { - char const * pInput; - char const * pKey; - char const * pValue; - }; - static Test const aTests[] - = { { "abc", "abc", "" }, - { "abc", "def", "" }, - { "1abc", "def", "" }, - { "123", "def", "" }, - { "abc,def=", "abc", "" }, - { "abc,def=", "def", "" }, - { "abc,def=", "defg", "" }, - { "abc,def=", "de", "" }, - { "abc,def=", "ghi", "" }, - { "abc,Def=", "def", "" }, - { "abc,Def=", "Def", "" }, - { "abc,Def=", "dEF", "" }, - { "abc,Def=", "DEF", "" }, - { "abc,def=xxx,ghi=xxx", "abc", "" }, - { "abc,def=xxx,ghi=xxx", "def", "xxx" }, - { "abc,def=xxx,ghi=xxx", "ghi", "xxx" }, - { "abc,def=xxx,ghi=xxx", "jkl", "" }, - { "abc,def=%", "def", "%" }, - { "abc,def=%1", "def", "%1" }, - { "abc,def=%22", "def", "\"" }, - { "abc,def=\"", "def", "\"" }, - { "abc,def=abc", "def", "abc" }, - { "abc,def=Abc", "def", "Abc" }, - { "abc,def=aBC", "def", "aBC" }, - { "abc,def=ABC", "def", "ABC" }, - { "abc,def=%,ghi=", "def", "%" }, - { "abc,def=%1,ghi=", "def", "%1" }, - { "abc,def=%22,ghi=", "def", "\"" }, - { "abc,def=\",ghi=", "def", "\"" }, - { "abc,def=abc,ghi=", "def", "abc" }, - { "abc,def=Abc,ghi=", "def", "Abc" }, - { "abc,def=aBC,ghi=", "def", "aBC" }, - { "abc,def=ABC,ghi=", "def", "ABC" }, - { "abc,abc=,def=%", "def", "%" }, - { "abc,abc=,def=%1", "def", "%1" }, - { "abc,abc=,def=%22", "def", "\"" }, - { "abc,abc=,def=\"", "def", "\"" }, - { "abc,abc=,def=abc", "def", "abc" }, - { "abc,abc=,def=Abc", "def", "Abc" }, - { "abc,abc=,def=aBC", "def", "aBC" }, - { "abc,abc=,def=ABC", "def", "ABC" } }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aTests); ++i) - { - bool bValid = false; - rtl::OUString aValue; - try - { - aValue = cppu::UnoUrlDescriptor(rtl::OUString::createFromAscii( - aTests[i].pInput)). - getParameter(rtl::OUString::createFromAscii(aTests[i].pKey)); - bValid = true; - } - catch (rtl::MalformedUriException &) - {} - CPPUNIT_ASSERT_MESSAGE("Failed to parse URI", bValid); - CPPUNIT_ASSERT_MESSAGE("Failed to get param correctly", - aValue.equalsAscii(aTests[i].pValue)); - } - } - - void testUrlParsing() - { - struct Test - { - char const * pInput; - bool bValid; - }; - static Test const aTests[] - = { { "", false }, - { "abc", false }, - { "uno", false }, - { "uno:", false }, - { "uno:abc;def;ghi", true }, - { "Uno:abc;def;ghi", true }, - { "uNO:abc;def;ghi", true }, - { "UNO:abc;def;ghi", true }, - { "uno:abc,def=xxx,ghi=xxx;def,ghi=xxx,jkl=xxx;ghi", true }, - { "uno:abc,def=xxx,ghi=xxx;def,ghi=xxx,jkl=xxx,;ghi", false }, - { "uno:abc;def;", false }, - { "uno:abc;def;a", true }, - { "uno:abc;def;A", true }, - { "uno:abc;def;1", true }, - { "uno:abc;def;$&+,/:=?@", true }, - { "uno:abc;def;%24&+,/:=?@", false } }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aTests); ++i) - { - bool bValid = false; - try - { - cppu::UnoUrl aUrl(rtl::OUString::createFromAscii(aTests[i].pInput)); - bValid = true; - } - catch (rtl::MalformedUriException &) - {} - - if (aTests[i].bValid) - { - CPPUNIT_ASSERT_MESSAGE("Valid uri parsed as invalid", bValid); - } - else - { - CPPUNIT_ASSERT_MESSAGE("Invalid uri parsed as valid", !bValid); - } - - } - } - - void testUrlConnection() - { - struct Test - { - char const * pInput; - char const * pConnection; - }; - static Test const aTests[] - = { { "uno:abc;def;ghi", "abc" }, - { "uno:Abc;def;ghi", "Abc" }, - { "uno:aBC;def;ghi", "aBC" }, - { "uno:ABC;def;ghi", "ABC" }, - { "uno:abc,def=xxx,ghi=xxx;def,ghi=xxx,jkl=xxx;ghi", - "abc,def=xxx,ghi=xxx" } }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aTests); ++i) - { - bool bValid = false; - rtl::OUString aConnection; - try - { - aConnection = cppu::UnoUrl(rtl::OUString::createFromAscii( - aTests[i].pInput)). - getConnection().getDescriptor(); - bValid = true; - } - catch (rtl::MalformedUriException &) - {} - CPPUNIT_ASSERT_MESSAGE("Failed to parse URI", bValid); - CPPUNIT_ASSERT_MESSAGE("Failed to get param correctly", - aConnection.equalsAscii( - aTests[i].pConnection)); - } - } - - void testUrlProtocol() - { - struct Test - { - char const * pInput; - char const * pProtocol; - }; - static Test const aTests[] - = { { "uno:abc;def;ghi", "def" }, - { "uno:abc;Def;ghi", "Def" }, - { "uno:abc;dEF;ghi", "dEF" }, - { "uno:abc;DEF;ghi", "DEF" }, - { "uno:abc,def=xxx,ghi=xxx;def,ghi=xxx,jkl=xxx;ghi", - "def,ghi=xxx,jkl=xxx" } }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aTests); ++i) - { - bool bValid = false; - rtl::OUString aProtocol; - try - { - aProtocol = cppu::UnoUrl(rtl::OUString::createFromAscii( - aTests[i].pInput)). - getProtocol().getDescriptor(); - bValid = true; - } - catch (rtl::MalformedUriException &) - {} - CPPUNIT_ASSERT_MESSAGE("Failed to parse URI", bValid); - CPPUNIT_ASSERT_MESSAGE("Failed to get protocol correctly", - aProtocol.equalsAscii( - aTests[i].pProtocol)); - } - } - - void testUrlObjectName() - { - struct Test - { - char const * pInput; - char const * pObjectName; - }; - static Test const aTests[] - = { { "uno:abc;def;ghi", "ghi" }, - { "uno:abc;def;Ghi", "Ghi" }, - { "uno:abc;def;gHI", "gHI" }, - { "uno:abc;def;GHI", "GHI" }, - { "uno:abc,def=xxx,ghi=xxx;def,ghi=xxx,jkl=xxx;ghi", "ghi" }, - { "uno:abc;def;a", "a" }, - { "uno:abc;def;A", "A" }, - { "uno:abc;def;1", "1" }, - { "uno:abc;def;$&+,/:=?@", "$&+,/:=?@" } }; - for (unsigned int i = 0; i < SAL_N_ELEMENTS(aTests); ++i) - { - bool bValid = false; - rtl::OUString aObjectName; - try - { - aObjectName = cppu::UnoUrl(rtl::OUString::createFromAscii( - aTests[i].pInput)).getObjectName(); - bValid = true; - } - catch (rtl::MalformedUriException &) - {} - CPPUNIT_ASSERT_MESSAGE("Failed to parse URI", bValid); - CPPUNIT_ASSERT_MESSAGE("Failed to get protocol correctly", - aObjectName.equalsAscii( - aTests[i].pObjectName)); - } - } - - // Automatic registration code - CPPUNIT_TEST_SUITE(UrlTest); - CPPUNIT_TEST(testDescriptorParsing); - CPPUNIT_TEST(testDescriptorDescriptor); - CPPUNIT_TEST(testDescriptorName); - CPPUNIT_TEST(testDescriptorKey); - CPPUNIT_TEST(testDescriptorValue); - CPPUNIT_TEST(testUrlParsing); - CPPUNIT_TEST(testUrlConnection); - CPPUNIT_TEST(testUrlProtocol); - CPPUNIT_TEST(testUrlObjectName); - CPPUNIT_TEST_SUITE_END(); - }; -} // namespace cppu_ifcontainer - -CPPUNIT_TEST_SUITE_REGISTRATION(cppu_unourl::UrlTest); - -CPPUNIT_PLUGIN_IMPLEMENT(); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/qa/unourl/export.map b/cppuhelper/qa/unourl/export.map deleted file mode 100644 index 117caf43a..000000000 --- a/cppuhelper/qa/unourl/export.map +++ /dev/null @@ -1,7 +0,0 @@ -UDK_3_0_0 { - global: - cppunitTestPlugIn; - - local: - *; -}; diff --git a/cppuhelper/qa/unourl/makefile.mk b/cppuhelper/qa/unourl/makefile.mk deleted file mode 100644 index 35d6e0bdf..000000000 --- a/cppuhelper/qa/unourl/makefile.mk +++ /dev/null @@ -1,62 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -PRJ=..$/.. -PRJNAME=cppuhelper -TARGET=cppu_unourl - -ENABLE_EXCEPTIONS=TRUE - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -CFLAGSCXX += $(CPPUNIT_CFLAGS) - -.IF "$(OS)" == "IOS" -CFLAGSCXX += -DCPPUNIT_PLUGIN_EXPORTED_NAME=cppunitTest_$(TARGET) -.ENDIF - -SHL1OBJS= \ - $(SLO)$/cppu_unourl.obj -SHL1TARGET= cppu_unourl -SHL1STDLIBS=\ - $(CPPUHELPERLIB) \ - $(SALLIB) \ - $(CPPULIB) \ - $(CPPUNITLIB) -SHL1IMPLIB= i$(SHL1TARGET) -DEF1NAME =$(SHL1TARGET) -SHL1VERSIONMAP= export.map - -SLOFILES = $(SHL1OBJS) - -# --- Targets ------------------------------------------------------ - -.INCLUDE : target.mk -.INCLUDE : _cppunit.mk - diff --git a/cppuhelper/qa/weak/makefile.mk b/cppuhelper/qa/weak/makefile.mk deleted file mode 100644 index 5116886b6..000000000 --- a/cppuhelper/qa/weak/makefile.mk +++ /dev/null @@ -1,53 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -PRJ := ..$/.. -PRJNAME := cppuhelper -TARGET := qa_weak - -ENABLE_EXCEPTIONS := TRUE - -.INCLUDE: settings.mk - -CFLAGSCXX += $(CPPUNIT_CFLAGS) -DLLPRE = # no leading "lib" on .so files - -SHL1TARGET = $(TARGET) -SHL1OBJS = $(SLO)$/test_weak.obj -SHL1STDLIBS = $(CPPULIB) $(CPPUHELPERLIB) $(CPPUNITLIB) $(SALLIB) -SHL1VERSIONMAP = version.map -SHL1IMPLIB = i$(SHL1TARGET) -DEF1NAME = $(SHL1TARGET) - -SLOFILES = $(SHL1OBJS) - -.INCLUDE: target.mk - -ALLTAR: test - -test .PHONY: $(SHL1TARGETN) - $(TESTSHL2) $(SHL1TARGETN) diff --git a/cppuhelper/qa/weak/test_weak.cxx b/cppuhelper/qa/weak/test_weak.cxx deleted file mode 100644 index c45560c94..000000000 --- a/cppuhelper/qa/weak/test_weak.cxx +++ /dev/null @@ -1,115 +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_cppuhelper.hxx" - -#include <cppunit/TestFixture.h> -#include <cppunit/extensions/HelperMacros.h> -#include <cppunit/plugin/TestPlugIn.h> - -#include "sal/config.h" - -#include "com/sun/star/lang/DisposedException.hpp" -#include "com/sun/star/uno/Reference.hxx" -#include "com/sun/star/uno/RuntimeException.hpp" -#include "com/sun/star/uno/XAdapter.hpp" -#include "com/sun/star/uno/XReference.hpp" -#include "com/sun/star/uno/XWeak.hpp" -#include "cppuhelper/implbase1.hxx" -#include "cppuhelper/weak.hxx" -#include "rtl/ref.hxx" -#include "sal/types.h" - -namespace { - -namespace css = com::sun::star; - -class Reference: public cppu::WeakImplHelper1< css::uno::XReference > { -public: - Reference(): m_disposed(false) {} - - virtual void SAL_CALL dispose() throw (css::uno::RuntimeException) { - m_disposed = true; - handleDispose(); - } - - bool isDisposed() const { return m_disposed; } - -protected: - virtual void handleDispose() {}; - -private: - bool m_disposed; -}; - -class RuntimeExceptionReference: public Reference { -protected: - virtual void handleDispose() { - throw css::uno::RuntimeException(); - } -}; - -class DisposedExceptionReference: public Reference { -protected: - virtual void handleDispose() { - throw css::lang::DisposedException(); - } -}; - -class Test: public ::CppUnit::TestFixture { -public: - void testReferenceDispose(); - - CPPUNIT_TEST_SUITE(Test); - CPPUNIT_TEST(testReferenceDispose); - CPPUNIT_TEST_SUITE_END(); -}; - -void Test::testReferenceDispose() { - css::uno::Reference< css::uno::XWeak > w(new ::cppu::OWeakObject); - css::uno::Reference< css::uno::XAdapter > a(w->queryAdapter()); - ::rtl::Reference< Reference > r1(new RuntimeExceptionReference); - ::rtl::Reference< Reference > r2(new Reference); - ::rtl::Reference< Reference > r3(new DisposedExceptionReference); - a->addReference(r1.get()); - a->addReference(r2.get()); - a->addReference(r3.get()); - w.clear(); - CPPUNIT_ASSERT(r1->isDisposed()); - CPPUNIT_ASSERT(r2->isDisposed()); - CPPUNIT_ASSERT(r3->isDisposed()); -} - -CPPUNIT_TEST_SUITE_REGISTRATION(Test); - -} - -CPPUNIT_PLUGIN_IMPLEMENT(); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/qa/weak/version.map b/cppuhelper/qa/weak/version.map deleted file mode 100644 index 0dbbcc5a7..000000000 --- a/cppuhelper/qa/weak/version.map +++ /dev/null @@ -1,34 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -UDK_3_0_0 { - global: - cppunitTestPlugIn; - - local: - *; -}; diff --git a/cppuhelper/source/access_control.cxx b/cppuhelper/source/access_control.cxx deleted file mode 100644 index f71e6b217..000000000 --- a/cppuhelper/source/access_control.cxx +++ /dev/null @@ -1,152 +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_cppuhelper.hxx" - -#include <cppuhelper/access_control.hxx> - -#include <com/sun/star/security/XAccessController.hpp> -#include <com/sun/star/security/RuntimePermission.hpp> -#include <com/sun/star/io/FilePermission.hpp> -#include <com/sun/star/connection/SocketPermission.hpp> - -#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) - - -using namespace ::rtl; -using namespace ::osl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - -namespace -{ - inline OUString str_ac_singleton() - { - return OUSTR("/singletons/com.sun.star.security.theAccessController"); - } -} - -namespace cppu -{ -//__________________________________________________________________________________________________ -AccessControl::AccessControl( Reference< XComponentContext > const & xContext ) - SAL_THROW( (RuntimeException) ) -{ - if (! (xContext->getValueByName( str_ac_singleton() ) >>= m_xController)) - { - throw SecurityException( - OUSTR("no access controller!"), Reference< XInterface >() ); - } -} -//__________________________________________________________________________________________________ -AccessControl::AccessControl( - Reference< security::XAccessController > const & xController ) - SAL_THROW( (RuntimeException) ) - : m_xController( xController ) -{ - if (! m_xController.is()) - { - throw SecurityException( - OUSTR("no access controller!"), Reference< XInterface >() ); - } -} -//__________________________________________________________________________________________________ -AccessControl::AccessControl( AccessControl const & ac ) - SAL_THROW( (RuntimeException) ) - : m_xController( ac.m_xController ) -{ - if (! m_xController.is()) - { - throw SecurityException( - OUSTR("no access controller!"), Reference< XInterface >() ); - } -} - -#ifdef SAL_W32 -#pragma pack(push, 8) -#endif - // binary comp. to all Permission structs - struct __permission - { - rtl_uString * m_str1; - rtl_uString * m_str2; - }; -#ifdef SAL_W32 -#pragma pack(pop) -#endif - -//-------------------------------------------------------------------------------------------------- -inline void __checkPermission( - Reference< security::XAccessController > const & xController, - Type const & type, rtl_uString * str1, rtl_uString * str2 ) - SAL_THROW( (RuntimeException) ) -{ - __permission perm; - perm.m_str1 = str1; - perm.m_str2 = str2; - - uno_Any a; - a.pType = type.getTypeLibType(); - a.pData = &perm; - - xController->checkPermission( * static_cast< Any * >( &a ) ); -} -//__________________________________________________________________________________________________ -void AccessControl::checkRuntimePermission( - OUString const & name ) - SAL_THROW( (RuntimeException) ) -{ - __checkPermission( - m_xController, - ::getCppuType( (security::RuntimePermission *)0 ), name.pData, 0 ); -} -//__________________________________________________________________________________________________ -void AccessControl::checkFilePermission( - OUString const & url, - OUString const & actions ) - SAL_THROW( (RuntimeException) ) -{ - __checkPermission( - m_xController, - ::getCppuType( (io::FilePermission *)0 ), url.pData, actions.pData ); -} -//__________________________________________________________________________________________________ -void AccessControl::checkSocketPermission( - OUString const & host, - OUString const & actions ) - SAL_THROW( (RuntimeException) ) -{ - __checkPermission( - m_xController, - ::getCppuType( (connection::SocketPermission *)0 ), host.pData, actions.pData ); -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/bootstrap.cxx b/cppuhelper/source/bootstrap.cxx deleted file mode 100644 index 914061327..000000000 --- a/cppuhelper/source/bootstrap.cxx +++ /dev/null @@ -1,673 +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_cppuhelper.hxx" - -#include <string.h> -#include <vector> - -#include "rtl/process.h" -#include "rtl/bootstrap.hxx" -#include "rtl/random.h" -#include "rtl/string.hxx" -#include "rtl/ustrbuf.hxx" -#include "rtl/uri.hxx" -#if OSL_DEBUG_LEVEL > 0 -#include "rtl/strbuf.hxx" -#endif -#include "osl/diagnose.h" -#include "osl/file.hxx" -#include "osl/module.hxx" -#include "osl/security.hxx" -#include "osl/thread.hxx" - -#include "cppuhelper/shlib.hxx" -#include "cppuhelper/bootstrap.hxx" -#include "cppuhelper/component_context.hxx" -#include "cppuhelper/access_control.hxx" -#include "cppuhelper/findsofficepath.h" - -#include "com/sun/star/uno/XComponentContext.hpp" -#include "com/sun/star/uno/XCurrentContext.hpp" - -#include "com/sun/star/lang/XSingleServiceFactory.hpp" -#include "com/sun/star/lang/XSingleComponentFactory.hpp" -#include "com/sun/star/lang/XInitialization.hpp" -#include "com/sun/star/lang/XServiceInfo.hpp" -#include "com/sun/star/registry/XSimpleRegistry.hpp" -#include "com/sun/star/container/XSet.hpp" -#include "com/sun/star/beans/PropertyValue.hpp" -#include "com/sun/star/io/IOException.hpp" -#include "com/sun/star/bridge/UnoUrlResolver.hpp" -#include "com/sun/star/bridge/XUnoUrlResolver.hpp" - -#include "macro_expander.hxx" - -#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) -#define ARLEN(x) sizeof (x) / sizeof *(x) - - -using namespace ::rtl; -using namespace ::osl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - -namespace cppu -{ - -OUString const & get_this_libpath() -{ - static OUString s_path; - if (0 == s_path.getLength()) - { - OUString path; - Module::getUrlFromAddress( reinterpret_cast<oslGenericFunction>(get_this_libpath), path ); - path = path.copy( 0, path.lastIndexOf( '/' ) ); - MutexGuard guard( Mutex::getGlobalMutex() ); - if (0 == s_path.getLength()) - s_path = path; - } - return s_path; -} - -Bootstrap const & get_unorc() SAL_THROW( () ) -{ - static rtlBootstrapHandle s_bstrap = 0; - if (! s_bstrap) - { - OUString iniName( - get_this_libpath() + OUSTR("/" SAL_CONFIGFILE("uno")) ); - rtlBootstrapHandle bstrap = rtl_bootstrap_args_open( iniName.pData ); - - ClearableMutexGuard guard( Mutex::getGlobalMutex() ); - if (s_bstrap) - { - guard.clear(); - rtl_bootstrap_args_close( bstrap ); - } - else - { - s_bstrap = bstrap; - } - } - return *(Bootstrap const *)&s_bstrap; -} - - -void addFactories( - char const * const * ppNames /* lib, implname, ..., 0 */, - OUString const & bootstrapPath, - Reference< lang::XMultiComponentFactory > const & xMgr, - Reference< registry::XRegistryKey > const & xKey ) - SAL_THROW( (Exception) ) -{ - Reference< container::XSet > xSet( xMgr, UNO_QUERY ); - OSL_ASSERT( xSet.is() ); - Reference< lang::XMultiServiceFactory > xSF( xMgr, UNO_QUERY ); - - while (*ppNames) - { - OUString lib( OUString::createFromAscii( *ppNames++ ) ); - OUString implName( OUString::createFromAscii( *ppNames++ ) ); - - Any aFac( makeAny( loadSharedLibComponentFactory( - lib, bootstrapPath, implName, xSF, xKey ) ) ); - xSet->insert( aFac ); -#if OSL_DEBUG_LEVEL > 1 - if (xSet->has( aFac )) - { - Reference< lang::XServiceInfo > xInfo; - if (aFac >>= xInfo) - { - ::fprintf( - stderr, "> implementation %s supports: ", ppNames[ -1 ] ); - Sequence< OUString > supported( - xInfo->getSupportedServiceNames() ); - for ( sal_Int32 nPos = supported.getLength(); nPos--; ) - { - OString str( OUStringToOString( - supported[ nPos ], RTL_TEXTENCODING_ASCII_US ) ); - ::fprintf( stderr, nPos ? "%s, " : "%s\n", str.getStr() ); - } - } - else - { - ::fprintf( - stderr, - "> implementation %s provides NO lang::XServiceInfo!!!\n", - ppNames[ -1 ] ); - } - } -#endif -#if OSL_DEBUG_LEVEL > 0 - if (! xSet->has( aFac )) - { - OStringBuffer buf( 64 ); - buf.append( "### failed inserting shared lib \"" ); - buf.append( ppNames[ -2 ] ); - buf.append( "\"!!!" ); - OString str( buf.makeStringAndClear() ); - OSL_FAIL( str.getStr() ); - } -#endif - } -} - -// private forward decl -Reference< lang::XMultiComponentFactory > bootstrapInitialSF( - OUString const & rBootstrapPath ) - SAL_THROW( (Exception) ); - -Reference< XComponentContext > bootstrapInitialContext( - Reference< lang::XMultiComponentFactory > const & xSF, - Reference< registry::XSimpleRegistry > const & types_xRegistry, - Reference< registry::XSimpleRegistry > const & services_xRegistry, - OUString const & rBootstrapPath, Bootstrap const & bootstrap ) - SAL_THROW( (Exception) ); - -Reference< XComponentContext > SAL_CALL createInitialCfgComponentContext( - ContextEntry_Init const * pEntries, sal_Int32 nEntries, - Reference< XComponentContext > const & xDelegate ) - SAL_THROW( () ); - -Reference< registry::XSimpleRegistry > SAL_CALL createRegistryWrapper( - const Reference< XComponentContext >& xContext ); - -namespace { - -template< class T > -inline beans::PropertyValue createPropertyValue( - OUString const & name, T const & value ) - SAL_THROW( () ) -{ - return beans::PropertyValue( - name, -1, makeAny( value ), beans::PropertyState_DIRECT_VALUE ); -} - -OUString findBoostrapArgument( - const Bootstrap & bootstrap, - const OUString & arg_name, - sal_Bool * pFallenBack ) - SAL_THROW(()) -{ - OUString result; - - OUString prefixed_arg_name = OUSTR("UNO_"); - prefixed_arg_name += arg_name.toAsciiUpperCase(); - - // environment not set -> try relative to executable - if(!bootstrap.getFrom(prefixed_arg_name, result)) - { - if(pFallenBack) - *pFallenBack = sal_True; - - OUString fileName; - bootstrap.getIniName(fileName); - - // cut the rc extension - OUStringBuffer result_buf( 64 ); - result_buf.append( - fileName.copy( - 0, fileName.getLength() - strlen(SAL_CONFIGFILE(""))) ); - result_buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("_") ); - result_buf.append( arg_name.toAsciiLowerCase() ); - result_buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(".rdb") ); - result = result_buf.makeStringAndClear(); - -#if OSL_DEBUG_LEVEL > 1 - OString result_dbg = - OUStringToOString(result, RTL_TEXTENCODING_ASCII_US); - OString arg_name_dbg = - OUStringToOString(arg_name, RTL_TEXTENCODING_ASCII_US); - OSL_TRACE( - "cppuhelper::findBoostrapArgument - " - "setting %s relative to executable: %s\n", - arg_name_dbg.getStr(), - result_dbg.getStr() ); -#endif - } - else - { - if(pFallenBack) - *pFallenBack = sal_False; - -#if OSL_DEBUG_LEVEL > 1 - OString prefixed_arg_name_dbg = OUStringToOString( - prefixed_arg_name, RTL_TEXTENCODING_ASCII_US ); - OString result_dbg = OUStringToOString( - result, RTL_TEXTENCODING_ASCII_US ); - OSL_TRACE( - "cppuhelper::findBoostrapArgument - found %s in env: %s", - prefixed_arg_name_dbg.getStr(), - result_dbg.getStr() ); -#endif - } - - return result; -} - -Reference< registry::XSimpleRegistry > nestRegistries( - const OUString &baseDir, - const Reference< lang::XSingleServiceFactory > & xSimRegFac, - const Reference< lang::XSingleServiceFactory > & xNesRegFac, - OUString csl_rdbs, - const OUString & write_rdb, - sal_Bool forceWrite_rdb, - sal_Bool bFallenBack ) - SAL_THROW((Exception)) -{ - sal_Int32 index; - Reference< registry::XSimpleRegistry > lastRegistry; - - if(write_rdb.getLength()) // is there a write registry given? - { - lastRegistry.set(xSimRegFac->createInstance(), UNO_QUERY); - - try - { - lastRegistry->open(write_rdb, sal_False, forceWrite_rdb); - } - catch (registry::InvalidRegistryException & invalidRegistryException) - { - (void) invalidRegistryException; -#if OSL_DEBUG_LEVEL > 1 - OString rdb_name_tmp = OUStringToOString( - write_rdb, RTL_TEXTENCODING_ASCII_US); - OString message_dbg = OUStringToOString( - invalidRegistryException.Message, RTL_TEXTENCODING_ASCII_US); - OSL_TRACE( - "warning: couldn't open %s cause of %s", - rdb_name_tmp.getStr(), message_dbg.getStr() ); -#endif - } - - if(!lastRegistry->isValid()) - lastRegistry.clear(); - } - - do - { - index = csl_rdbs.indexOf((sal_Unicode)' '); - OUString rdb_name = (index == -1) ? csl_rdbs : csl_rdbs.copy(0, index); - csl_rdbs = (index == -1) ? OUString() : csl_rdbs.copy(index + 1); - - if (! rdb_name.getLength()) - continue; - - bool optional = ('?' == rdb_name[ 0 ]); - if (optional) - rdb_name = rdb_name.copy( 1 ); - - try - { - Reference<registry::XSimpleRegistry> simpleRegistry( - xSimRegFac->createInstance(), UNO_QUERY_THROW ); - - osl::FileBase::getAbsoluteFileURL(baseDir, rdb_name, rdb_name); - simpleRegistry->open(rdb_name, sal_True, sal_False); - - if(lastRegistry.is()) - { - Reference< registry::XSimpleRegistry > nestedRegistry( - xNesRegFac->createInstance(), UNO_QUERY ); - Reference< lang::XInitialization > nestedRegistry_xInit( - nestedRegistry, UNO_QUERY ); - - Sequence<Any> aArgs(2); - aArgs[0] <<= lastRegistry; - aArgs[1] <<= simpleRegistry; - - nestedRegistry_xInit->initialize(aArgs); - - lastRegistry = nestedRegistry; - } - else - lastRegistry = simpleRegistry; - } - catch(registry::InvalidRegistryException & invalidRegistryException) - { -#if OSL_DEBUG_LEVEL > 1 - OString rdb_name_tmp = OUStringToOString( - rdb_name, RTL_TEXTENCODING_ASCII_US ); - OString message_dbg = OUStringToOString( - invalidRegistryException.Message, RTL_TEXTENCODING_ASCII_US ); - OSL_TRACE( - "warning: couldn't open %s cause of %s", - rdb_name_tmp.getStr(), message_dbg.getStr() ); -#endif - if (! optional) - { - // if a registry was explicitly given, the exception shall fly - if( ! bFallenBack ) - throw; - } - - (void) invalidRegistryException; - } - } - while(index != -1 && csl_rdbs.getLength()); // are there more rdbs in list? - - return lastRegistry; -} - -Reference< XComponentContext > -SAL_CALL defaultBootstrap_InitialComponentContext( - Bootstrap const & bootstrap ) - SAL_THROW( (Exception) ) -{ - OUString bootstrapPath; - if (!bootstrap.getFrom( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("URE_INTERNAL_LIB_DIR")), - bootstrapPath)) - { - bootstrapPath = get_this_libpath(); - } - - OUString iniDir; - osl_getProcessWorkingDir(&iniDir.pData); - - Reference<lang::XMultiComponentFactory> smgr_XMultiComponentFactory( - bootstrapInitialSF(bootstrapPath) ); - Reference<lang::XMultiServiceFactory> smgr_XMultiServiceFactory( - smgr_XMultiComponentFactory, UNO_QUERY ); - - Reference<registry::XRegistryKey> xEmptyKey; - Reference<lang::XSingleServiceFactory> xSimRegFac( - loadSharedLibComponentFactory( - OUSTR("bootstrap.uno" SAL_DLLEXTENSION), bootstrapPath, - OUSTR("com.sun.star.comp.stoc.SimpleRegistry"), - smgr_XMultiServiceFactory, - xEmptyKey), - UNO_QUERY); - - Reference<lang::XSingleServiceFactory> xNesRegFac( - loadSharedLibComponentFactory( - OUSTR("bootstrap.uno" SAL_DLLEXTENSION), bootstrapPath, - OUSTR("com.sun.star.comp.stoc.NestedRegistry"), - smgr_XMultiServiceFactory, - xEmptyKey), - UNO_QUERY); - - sal_Bool bFallenback_types; - OUString cls_uno_types = - findBoostrapArgument( bootstrap, OUSTR("TYPES"), &bFallenback_types ); - - Reference<registry::XSimpleRegistry> types_xRegistry = - nestRegistries( - iniDir, xSimRegFac, xNesRegFac, cls_uno_types, - OUString(), sal_False, bFallenback_types ); - - // ==== bootstrap from services registry ==== - - sal_Bool bFallenback_services; - OUString cls_uno_services = findBoostrapArgument( - bootstrap, OUSTR("SERVICES"), &bFallenback_services ); - - sal_Bool fallenBackWriteRegistry; - OUString write_rdb = findBoostrapArgument( - bootstrap, OUSTR("WRITERDB"), &fallenBackWriteRegistry ); - if (fallenBackWriteRegistry) - { - // no standard write rdb anymore - write_rdb = OUString(); - } - - Reference<registry::XSimpleRegistry> services_xRegistry = nestRegistries( - iniDir, xSimRegFac, xNesRegFac, cls_uno_services, write_rdb, - !fallenBackWriteRegistry, bFallenback_services ); - - Reference< XComponentContext > xContext( - bootstrapInitialContext( - smgr_XMultiComponentFactory, types_xRegistry, services_xRegistry, - bootstrapPath, bootstrap ) ); - - // initialize sf - Reference< lang::XInitialization > xInit( - smgr_XMultiComponentFactory, UNO_QUERY ); - OSL_ASSERT( xInit.is() ); - Sequence< Any > aSFInit( 1 ); - aSFInit[ 0 ] <<= services_xRegistry; - xInit->initialize( aSFInit ); - - return xContext; -} - -} - -Reference< XComponentContext > -SAL_CALL defaultBootstrap_InitialComponentContext( - OUString const & iniFile ) - SAL_THROW( (Exception) ) -{ - Bootstrap bootstrap( iniFile ); - if (bootstrap.getHandle() == 0) - throw io::IOException(OUSTR("Cannot open for reading: ") + iniFile, 0); - return defaultBootstrap_InitialComponentContext( bootstrap ); -} - -Reference< XComponentContext > -SAL_CALL defaultBootstrap_InitialComponentContext() - SAL_THROW( (Exception) ) -{ - return defaultBootstrap_InitialComponentContext( get_unorc() ); -} - -BootstrapException::BootstrapException() -{ -} - -BootstrapException::BootstrapException( const ::rtl::OUString & rMessage ) - :m_aMessage( rMessage ) -{ -} - -BootstrapException::BootstrapException( const BootstrapException & e ) -{ - m_aMessage = e.m_aMessage; -} - -BootstrapException::~BootstrapException() -{ -} - -BootstrapException & BootstrapException::operator=( const BootstrapException & e ) -{ - m_aMessage = e.m_aMessage; - return *this; -} - -const ::rtl::OUString & BootstrapException::getMessage() const -{ - return m_aMessage; -} - -Reference< XComponentContext > SAL_CALL bootstrap() -{ - Reference< XComponentContext > xRemoteContext; - - try - { - char const * p1 = cppuhelper_detail_findSofficePath(); - if (p1 == NULL) { - throw BootstrapException( - OUSTR("no soffice installation found!")); - } - rtl::OUString p2; - if (!rtl_convertStringToUString( - &p2.pData, p1, strlen(p1), osl_getThreadTextEncoding(), - (RTL_TEXTTOUNICODE_FLAGS_UNDEFINED_ERROR | - RTL_TEXTTOUNICODE_FLAGS_MBUNDEFINED_ERROR | - RTL_TEXTTOUNICODE_FLAGS_INVALID_ERROR))) - { - throw BootstrapException( - OUSTR("bad characters in soffice installation path!")); - } - OUString path; - if (osl::FileBase::getFileURLFromSystemPath(p2, path) != - osl::FileBase::E_None) - { - throw BootstrapException( - OUSTR("cannot convert soffice installation path to URL!")); - } - if (path.getLength() > 0 && path[path.getLength() - 1] != '/') { - path += OUSTR("/"); - } - - OUString uri; - if (!Bootstrap::get(OUSTR("URE_BOOTSTRAP"), uri)) { - Bootstrap::set( - OUSTR("URE_BOOTSTRAP"), - Bootstrap::encode(path + OUSTR(SAL_CONFIGFILE("fundamental")))); - } - - // create default local component context - Reference< XComponentContext > xLocalContext( - defaultBootstrap_InitialComponentContext() ); - if ( !xLocalContext.is() ) - throw BootstrapException( OUSTR( "no local component context!" ) ); - - // create a random pipe name - rtlRandomPool hPool = rtl_random_createPool(); - if ( hPool == 0 ) - throw BootstrapException( OUSTR( "cannot create random pool!" ) ); - sal_uInt8 bytes[ 16 ]; - if ( rtl_random_getBytes( hPool, bytes, ARLEN( bytes ) ) - != rtl_Random_E_None ) - throw BootstrapException( OUSTR( "random pool error!" ) ); - rtl_random_destroyPool( hPool ); - ::rtl::OUStringBuffer buf; - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM( "uno" ) ); - for ( sal_uInt32 i = 0; i < ARLEN( bytes ); ++i ) - buf.append( static_cast< sal_Int32 >( bytes[ i ] ) ); - OUString sPipeName( buf.makeStringAndClear() ); - - // accept string - OSL_ASSERT( buf.getLength() == 0 ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM( "-accept=pipe,name=" ) ); - buf.append( sPipeName ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM( ";urp;" ) ); - - // arguments - OUString args [] = { - OUSTR( "-nologo" ), - OUSTR( "-nodefault" ), - OUSTR( "-norestore" ), - OUSTR( "-nocrashreport" ), - OUSTR( "-nolockcheck" ), - buf.makeStringAndClear() - }; - rtl_uString * ar_args [] = { - args[ 0 ].pData, - args[ 1 ].pData, - args[ 2 ].pData, - args[ 3 ].pData, - args[ 4 ].pData, - args[ 5 ].pData - }; - ::osl::Security sec; - - // start office process - oslProcess hProcess = 0; - oslProcessError rc = osl_executeProcess( - (path + OUSTR("soffice")).pData, ar_args, ARLEN( ar_args ), - osl_Process_DETACHED, - sec.getHandle(), - 0, // => current working dir - 0, 0, // => no env vars - &hProcess ); - switch ( rc ) - { - case osl_Process_E_None: - osl_freeProcessHandle( hProcess ); - break; - case osl_Process_E_NotFound: - throw BootstrapException( OUSTR( "image not found!" ) ); - case osl_Process_E_TimedOut: - throw BootstrapException( OUSTR( "timout occurred!" ) ); - case osl_Process_E_NoPermission: - throw BootstrapException( OUSTR( "permission denied!" ) ); - case osl_Process_E_Unknown: - throw BootstrapException( OUSTR( "unknown error!" ) ); - case osl_Process_E_InvalidError: - default: - throw BootstrapException( OUSTR( "unmapped error!" ) ); - } - - // create a URL resolver - Reference< bridge::XUnoUrlResolver > xUrlResolver( - bridge::UnoUrlResolver::create( xLocalContext ) ); - - // connection string - OSL_ASSERT( buf.getLength() == 0 ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM( "uno:pipe,name=" ) ); - buf.append( sPipeName ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM( - ";urp;StarOffice.ComponentContext" ) ); - OUString sConnectString( buf.makeStringAndClear() ); - - // wait until office is started - for ( ; ; ) - { - try - { - // try to connect to office - xRemoteContext.set( - xUrlResolver->resolve( sConnectString ), UNO_QUERY_THROW ); - break; - } - catch ( connection::NoConnectException & ) - { - // wait 500 ms, then try to connect again - TimeValue tv = { 0 /* secs */, 500000000 /* nanosecs */ }; - ::osl::Thread::wait( tv ); - } - } - } - catch ( Exception & e ) - { - throw BootstrapException( - OUSTR( "unexpected UNO exception caught: " ) + e.Message ); - } - - return xRemoteContext; -} - -OUString bootstrap_expandUri(OUString const & uri) { - static char const PREFIX[] = "vnd.sun.star.expand:"; - return uri.matchAsciiL(RTL_CONSTASCII_STRINGPARAM(PREFIX)) - ? cppuhelper::detail::expandMacros( - rtl::Uri::decode( - uri.copy(RTL_CONSTASCII_LENGTH(PREFIX)), - rtl_UriDecodeWithCharset, RTL_TEXTENCODING_UTF8)) - : uri; -} - -} // namespace cppu - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/cc5_solaris_sparc.map b/cppuhelper/source/cc5_solaris_sparc.map deleted file mode 100755 index 6d4c9e6ce..000000000 --- a/cppuhelper/source/cc5_solaris_sparc.map +++ /dev/null @@ -1,395 +0,0 @@ -UDK_3_0_0 { - global: -GetVersionInfo; -_DYNAMIC; -_GLOBAL_OFFSET_TABLE_; -_PROCEDURE_LINKAGE_TABLE_; -__1cDcomDsunEstarDunoTWeakReferenceHelper2G6Mrk4_r4_; -__1cDcomDsunEstarDunoTWeakReferenceHelper2T5B6M_v_; -__1cDcomDsunEstarDunoTWeakReferenceHelper2T6M_v_; -__1cDcomDsunEstarDunoTWeakReferenceHelper2t5B6Mrk4_v_; -__1cDcomDsunEstarDunoTWeakReferenceHelper2t5B6Mrkn0DJReference4n0DKXInterface____v_; -__1cDcomDsunEstarDunoTWeakReferenceHelper2t6Mrk4_v_; -__1cDcomDsunEstarDunoTWeakReferenceHelper2t6Mrkn0DJReference4n0DKXInterface____v_; -__1cDcomDsunEstarDunoTWeakReferenceHelperDget6kM_n0DJReference4n0DKXInterface____; -__1cEcppuJClassDataFquery6MrknDcomDsunEstarDunoEType_pn0EElangNXTypeProvider__n0FDAny__; -__1cEcppuJClassDataIgetTypes6M_nDcomDsunEstarDunoISequence4n0FEType____; -__1cEcppuJClassDataPwriteTypeOffset6MrknDcomDsunEstarDunoEType_l_v_; #S-ILP32 -__1cEcppuJClassDataPwriteTypeOffset6MrknDcomDsunEstarDunoEType_i_v_; #S-LP64 -__1cEcppuJClassDataQinitTypeProvider6M_v_; -__1cEcppuJClassDataTgetImplementationId6M_nDcomDsunEstarDunoISequence4CW___; -__1cEcppuLOWeakObject2T5B6M_v_; -__1cEcppuLOWeakObject2T6M_v_; -__1cEcppuLOWeakObjectG__vtbl_; -__1cEcppuLOWeakObjectHacquire6M_v_; -__1cEcppuLOWeakObjectHrelease6M_v_; -__1cEcppuLOWeakObjectMqueryAdapter6M_nDcomDsunEstarDunoJReference4n0FIXAdapter____; -__1cEcppuLOWeakObjectOqueryInterface6MrknDcomDsunEstarDunoEType__n0FDAny__; -__1cEcppuNClassDataBase2T5B6M_v_; -__1cEcppuNClassDataBase2T6M_v_; -__1cEcppuNClassDataBase2t5B6M_v_; -__1cEcppuNClassDataBase2t5B6Ml_v_; #S-ILP32 -__1cEcppuNClassDataBase2t5B6Mi_v_; #S-LP64 -__1cEcppuNClassDataBase2t6M_v_; -__1cEcppuNClassDataBase2t6Ml_v_; #S-ILP32 -__1cEcppuNClassDataBase2t6Mi_v_; #S-LP64 -__1cEcppuOOWeakAggObject2T5B6M_v_; -__1cEcppuOOWeakAggObject2T6M_v_; -__1cEcppuOOWeakAggObjectG__vtbl_; -__1cEcppuOOWeakAggObjectHacquire6M_v_; -__1cEcppuOOWeakAggObjectHrelease6M_v_; -__1cEcppuOOWeakAggObjectMsetDelegator6MrknDcomDsunEstarDunoJReference4n0FKXInterface____v_; -__1cEcppuOOWeakAggObjectOqueryInterface6MrknDcomDsunEstarDunoEType__n0FDAny__; -__1cEcppuOOWeakAggObjectQqueryAggregation6MrknDcomDsunEstarDunoEType__n0FDAny__; -__1cEcppuOthrowException6FrknDcomDsunEstarDunoDAny__v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_88888888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_8888888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_888888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_88888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_8888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_88888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_8888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_88rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_8rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t5B6MrknDcomDsunEstarDunoEType_rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_88888888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_8888888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_888888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_88888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_8888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_888888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_88888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_8888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_888rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_88rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_8rkn0FISequence4n0G____v_; -__1cEcppuPOTypeCollection2t6MrknDcomDsunEstarDunoEType_rkn0FISequence4n0G____v_; -__1cEcppuQOComponentHelper2T5B6M_v_; -__1cEcppuQOComponentHelper2T6M_v_; -__1cEcppuQOComponentHelper2t5B6MrnDoslFMutex__v_; -__1cEcppuQOComponentHelper2t6MrnDoslFMutex__v_; -__1cEcppuQOComponentHelperG__vtbl_; -__1cEcppuQOComponentHelperHacquire6M_v_; -__1cEcppuQOComponentHelperHdispose6M_v_; -__1cEcppuQOComponentHelperHrelease6M_v_; -__1cEcppuQOComponentHelperIgetTypes6M_nDcomDsunEstarDunoISequence4n0FEType____; -__1cEcppuQOComponentHelperJdisposing6M_v_; -__1cEcppuQOComponentHelperOqueryInterface6MrknDcomDsunEstarDunoEType__n0FDAny__; -__1cEcppuQOComponentHelperQaddEventListener6MrknDcomDsunEstarDunoJReference4n0EElangOXEventListener____v_; -__1cEcppuQOComponentHelperQqueryAggregation6MrknDcomDsunEstarDunoEType__n0FDAny__; -__1cEcppuQOComponentHelperTremoveEventListener6MrknDcomDsunEstarDunoJReference4n0EElangOXEventListener____v_; -__1cEcppuROImplementationId2T5B6M_v_; -__1cEcppuROImplementationId2T6M_v_; -__1cEcppuROImplementationIdTgetImplementationId6kM_nDcomDsunEstarDunoISequence4CW___; -__1cEcppuSOPropertySetHelper2T5B6M_v_; -__1cEcppuSOPropertySetHelper2T6M_v_; -__1cEcppuSOPropertySetHelper2t5B6Mrn0ATOBroadcastHelperVar4n0AbIOMultiTypeInterfaceContainerHelper_nDcomDsunEstarDunoEType____v_; -__1cEcppuSOPropertySetHelper2t6Mrn0ATOBroadcastHelperVar4n0AbIOMultiTypeInterfaceContainerHelper_nDcomDsunEstarDunoEType____v_; -__1cEcppuSOPropertySetHelperEfire6MplpknDcomDsunEstarDunoDAny_9AlC_v_; #S-ILP32 -__1cEcppuSOPropertySetHelperEfire6MpipknDcomDsunEstarDunoDAny_9AiC_v_; #S-LP64 -__1cEcppuSOPropertySetHelperG__vtbl_; -__1cEcppuSOPropertySetHelperJdisposing6M_v_; -__1cEcppuSOPropertySetHelperOqueryInterface6MrknDcomDsunEstarDunoEType__n0FDAny__; -__1cEcppuSOPropertySetHelperQgetPropertyValue6MrknDrtlIOUString__nDcomDsunEstarDunoDAny__; -__1cEcppuSOPropertySetHelperQsetPropertyValue6MrknDrtlIOUString_rknDcomDsunEstarDunoDAny__v_; -__1cEcppuSOPropertySetHelperRgetPropertyValues6MrknDcomDsunEstarDunoISequence4nDrtlIOUString____n0FISequence4n0FDAny____; -__1cEcppuSOPropertySetHelperRsetPropertyValues6MrknDcomDsunEstarDunoISequence4nDrtlIOUString___rkn0FISequence4n0FDAny____v_; -__1cEcppuSOPropertySetHelperUgetFastPropertyValue6Ml_nDcomDsunEstarDunoDAny__; #S-ILP32 -__1cEcppuSOPropertySetHelperUgetFastPropertyValue6Mi_nDcomDsunEstarDunoDAny__; #S-LP64 -__1cEcppuSOPropertySetHelperUsetFastPropertyValue6MlrknDcomDsunEstarDunoDAny__v_; #S-ILP32 -__1cEcppuSOPropertySetHelperUsetFastPropertyValue6MirknDcomDsunEstarDunoDAny__v_; #S-LP64 -__1cEcppuSOPropertySetHelperVcreatePropertySetInfo6Frn0AUIPropertyArrayHelper__nDcomDsunEstarDunoJReference4n0FFbeansQXPropertySetInfo____; -__1cEcppuSOPropertySetHelperVsetFastPropertyValues6MlplpknDcomDsunEstarDunoDAny_l_v_; #S-ILP32 -__1cEcppuSOPropertySetHelperVsetFastPropertyValues6MipipknDcomDsunEstarDunoDAny_i_v_; #S-LP64 -__1cEcppuSOPropertySetHelperZaddPropertyChangeListener6MrknDrtlIOUString_rknDcomDsunEstarDunoJReference4n0GFbeansXXPropertyChangeListener____v_; -__1cEcppuSOPropertySetHelperZaddVetoableChangeListener6MrknDrtlIOUString_rknDcomDsunEstarDunoJReference4n0GFbeansXXVetoableChangeListener____v_; -__1cEcppuSOPropertySetHelperZfirePropertiesChangeEvent6MrknDcomDsunEstarDunoISequence4nDrtlIOUString___rkn0FJReference4n0EFbeansZXPropertiesChangeListener____v_; -__1cEcppuSOPropertySetHelperbBaddPropertiesChangeListener6MrknDcomDsunEstarDunoISequence4nDrtlIOUString___rkn0FJReference4n0EFbeansZXPropertiesChangeListener____v_; -__1cEcppuSOPropertySetHelperbCremovePropertyChangeListener6MrknDrtlIOUString_rknDcomDsunEstarDunoJReference4n0GFbeansXXPropertyChangeListener____v_; -__1cEcppuSOPropertySetHelperbCremoveVetoableChangeListener6MrknDrtlIOUString_rknDcomDsunEstarDunoJReference4n0GFbeansXXVetoableChangeListener____v_; -__1cEcppuSOPropertySetHelperbEremovePropertiesChangeListener6MrknDcomDsunEstarDunoJReference4n0EFbeansZXPropertiesChangeListener____v_; -__1cEcppuScreateFactoryProxy6FrknDcomDsunEstarDunoJReference4n0DElangUXMultiServiceFactory___rkn0EJReference4n0FVXSingleServiceFactory____9A_; -__1cEcppuTcreateSingleFactory6FrknDcomDsunEstarDunoJReference4n0DElangUXMultiServiceFactory___rknDrtlIOUString_pF8_n0EJReference4n0EKXInterface___rkn0EISequence4n0J___pnQ_rtl_ModuleCount__n0EJReference4n0FVXSingleServiceFactory____; -__1cEcppuUIPropertyArrayHelper2T5B6M_v_; -__1cEcppuUIPropertyArrayHelper2T6M_v_; -__1cEcppuUIPropertyArrayHelperG__vtbl_; -__1cEcppuUOPropertyArrayHelper2t5B6MpnDcomDsunEstarFbeansIProperty_lC_v_; #S-ILP32 -__1cEcppuUOPropertyArrayHelper2t5B6MpnDcomDsunEstarFbeansIProperty_iC_v_; #S-LP64 -__1cEcppuUOPropertyArrayHelper2t5B6MrknDcomDsunEstarDunoISequence4n0EFbeansIProperty___C_v_; -__1cEcppuUOPropertyArrayHelper2t6MpnDcomDsunEstarFbeansIProperty_lC_v_; #S-ILP32 -__1cEcppuUOPropertyArrayHelper2t6MpnDcomDsunEstarFbeansIProperty_iC_v_; #S-LP64 -__1cEcppuUOPropertyArrayHelper2t6MrknDcomDsunEstarDunoISequence4n0EFbeansIProperty___C_v_; -__1cEcppuUOPropertyArrayHelperEinit6MC_v_; -__1cEcppuUOPropertyArrayHelperG__vtbl_; -__1cEcppuUOPropertyArrayHelperIgetCount6kM_l_; #S-ILP32 -__1cEcppuUOPropertyArrayHelperIgetCount6kM_i_; #S-LP64 -__1cEcppuUOPropertyArrayHelperLfillHandles6MplrknDcomDsunEstarDunoISequence4nDrtlIOUString____l_; #S-ILP32 -__1cEcppuUOPropertyArrayHelperLfillHandles6MpirknDcomDsunEstarDunoISequence4nDrtlIOUString____i_; #S-LP64 -__1cEcppuUOPropertyArrayHelperNgetProperties6M_nDcomDsunEstarDunoISequence4n0EFbeansIProperty____; -__1cEcppuUOPropertyArrayHelperPgetHandleByName6MrknDrtlIOUString__l_; #S-ILP32 -__1cEcppuUOPropertyArrayHelperPgetHandleByName6MrknDrtlIOUString__i_; #S-LP64 -__1cEcppuUOPropertyArrayHelperRgetPropertyByName6MrknDrtlIOUString__nDcomDsunEstarFbeansIProperty__; -__1cEcppuUOPropertyArrayHelperRhasPropertyByName6MrknDrtlIOUString__C_; -__1cEcppuUOPropertyArrayHelperbBfillPropertyMembersByHandle6MpnDrtlIOUString_phl_C_; #S-ILP32 -__1cEcppuUOPropertyArrayHelperbBfillPropertyMembersByHandle6MpnDrtlIOUString_phi_C_; #S-LP64 -__1cEcppuUcreateNestedRegistry6FrknDrtlIOUString__nDcomDsunEstarDunoJReference4n0FIregistryPXSimpleRegistry____; -__1cEcppuUcreateSimpleRegistry6FrknDrtlIOUString__nDcomDsunEstarDunoJReference4n0FIregistryPXSimpleRegistry____; -__1cEcppuWcreateComponentContext6Fpkn0ARContextEntry_Init_lrknDcomDsunEstarDunoJReference4n0FRXComponentContext____8_; #S-ILP32 -__1cEcppuWcreateComponentContext6Fpkn0ARContextEntry_Init_irknDcomDsunEstarDunoJReference4n0FRXComponentContext____8_; #S-LP64 -__1cEcppuWgetImplHelperInitMutex6F_rnDoslFMutex__; -__1cEcppuYOInterfaceIteratorHelper2T5B6M_v_; -__1cEcppuYOInterfaceIteratorHelper2T6M_v_; -__1cEcppuYOInterfaceIteratorHelper2t5B6Mrn0AZOInterfaceContainerHelper__v_; -__1cEcppuYOInterfaceIteratorHelper2t6Mrn0AZOInterfaceContainerHelper__v_; -__1cEcppuYOInterfaceIteratorHelperEnext6M_pnDcomDsunEstarDunoKXInterface__; -__1cEcppuYOInterfaceIteratorHelperGremove6M_v_; -__1cEcppuYcreateOneInstanceFactory6FrknDcomDsunEstarDunoJReference4n0DElangUXMultiServiceFactory___rknDrtlIOUString_pF8_n0EJReference4n0EKXInterface___rkn0EISequence4n0J___pnQ_rtl_ModuleCount__n0EJReference4n0FVXSingleServiceFactory____; -__1cEcppuZOInterfaceContainerHelper2T5B6M_v_; -__1cEcppuZOInterfaceContainerHelper2T6M_v_; -__1cEcppuZOInterfaceContainerHelper2t5B6MrnDoslFMutex__v_; -__1cEcppuZOInterfaceContainerHelper2t6MrnDoslFMutex__v_; -__1cEcppuZOInterfaceContainerHelperFclear6M_v_; -__1cEcppuZOInterfaceContainerHelperJgetLength6kM_l_; #S-ILP32 -__1cEcppuZOInterfaceContainerHelperJgetLength6kM_i_; #S-LP64 -__1cEcppuZOInterfaceContainerHelperLgetElements6kM_nDcomDsunEstarDunoISequence4n0FJReference4n0FKXInterface______; -__1cEcppuZOInterfaceContainerHelperMaddInterface6MrknDcomDsunEstarDunoJReference4n0FKXInterface____l_; #S-ILP32 -__1cEcppuZOInterfaceContainerHelperMaddInterface6MrknDcomDsunEstarDunoJReference4n0FKXInterface____i_; #S-LP64 -__1cEcppuZOInterfaceContainerHelperPdisposeAndClear6MrknDcomDsunEstarElangLEventObject__v_; -__1cEcppuZOInterfaceContainerHelperPremoveInterface6MrknDcomDsunEstarDunoJReference4n0FKXInterface____l_; #S-ILP32 -__1cEcppuZOInterfaceContainerHelperPremoveInterface6MrknDcomDsunEstarDunoJReference4n0FKXInterface____i_; #S-LP64 -__1cEcppuZOInterfaceContainerHelperRcopyAndResetInUse6M_v_; -__1cEcppubBWeakComponentImplHelperBase2T5B6M_v_; -__1cEcppubBWeakComponentImplHelperBase2T6M_v_; -__1cEcppubBWeakComponentImplHelperBase2t5B6MrnDoslFMutex__v_; -__1cEcppubBWeakComponentImplHelperBase2t6MrnDoslFMutex__v_; -__1cEcppubBWeakComponentImplHelperBaseG__vtbl_; -__1cEcppubBWeakComponentImplHelperBaseHacquire6M_v_; -__1cEcppubBWeakComponentImplHelperBaseHdispose6M_v_; -__1cEcppubBWeakComponentImplHelperBaseHrelease6M_v_; -__1cEcppubBWeakComponentImplHelperBaseJdisposing6M_v_; -__1cEcppubBWeakComponentImplHelperBaseOqueryInterface6MrknDcomDsunEstarDunoEType__n0FDAny__; -__1cEcppubBWeakComponentImplHelperBaseQaddEventListener6MrknDcomDsunEstarDunoJReference4n0EElangOXEventListener____v_; -__1cEcppubBWeakComponentImplHelperBaseTremoveEventListener6MrknDcomDsunEstarDunoJReference4n0EElangOXEventListener____v_; -__1cEcppubBcreateSingleRegistryFactory6FrknDcomDsunEstarDunoJReference4n0DElangUXMultiServiceFactory___rknDrtlIOUString_rkn0EJReference4n0DIregistryMXRegistryKey____n0EJReference4n0FVXSingleServiceFactory____; -__1cEcppubBwriteSharedLibComponentInfo6FrknDrtlIOUString_4rknDcomDsunEstarDunoJReference4n0FElangUXMultiServiceFactory___rkn0GJReference4n0FIregistryMXRegistryKey____v_; -__1cEcppubCcreateRegistryServiceFactory6FrknDrtlIOUString_4C4_nDcomDsunEstarDunoJReference4n0FElangUXMultiServiceFactory____; -__1cEcppubCcreateSingleComponentFactory6FpFrknDcomDsunEstarDunoJReference4n0ERXComponentContext____n0EJReference4n0EKXInterface___rknDrtlIOUString_rkn0EISequence4n0K___pnQ_rtl_ModuleCount__n0EJReference4n0DElangXXSingleComponentFactory____; -__1cEcppubDinstallTypeDescriptionManager6FrknDcomDsunEstarDunoJReference4n0DJcontainerXXHierarchicalNameAccess____C_; -__1cEcppubDloadSharedLibComponentFactory6FrknDrtlIOUString_44rknDcomDsunEstarDunoJReference4n0FElangUXMultiServiceFactory___rkn0GJReference4n0FIregistryMXRegistryKey____n0GJReference4n0GKXInterface____; -__1cEcppubEWeakAggComponentImplHelperBase2T5B6M_v_; -__1cEcppubEWeakAggComponentImplHelperBase2T6M_v_; -__1cEcppubEWeakAggComponentImplHelperBase2t5B6MrnDoslFMutex__v_; -__1cEcppubEWeakAggComponentImplHelperBase2t6MrnDoslFMutex__v_; -__1cEcppubEWeakAggComponentImplHelperBaseG__vtbl_; -__1cEcppubEWeakAggComponentImplHelperBaseHacquire6M_v_; -__1cEcppubEWeakAggComponentImplHelperBaseHdispose6M_v_; -__1cEcppubEWeakAggComponentImplHelperBaseHrelease6M_v_; -__1cEcppubEWeakAggComponentImplHelperBaseJdisposing6M_v_; -__1cEcppubEWeakAggComponentImplHelperBaseOqueryInterface6MrknDcomDsunEstarDunoEType__n0FDAny__; -__1cEcppubEWeakAggComponentImplHelperBaseQaddEventListener6MrknDcomDsunEstarDunoJReference4n0EElangOXEventListener____v_; -__1cEcppubEWeakAggComponentImplHelperBaseQqueryAggregation6MrknDcomDsunEstarDunoEType__n0FDAny__; -__1cEcppubEWeakAggComponentImplHelperBaseTremoveEventListener6MrknDcomDsunEstarDunoJReference4n0EElangOXEventListener____v_; -__1cEcppubE__RTTI__1CpnEcppuLOWeakObject__; -__1cEcppubF__RTTI__1CpknEcppuLOWeakObject__; -__1cEcppubFcreateStandardClassWithSequence6FrknDcomDsunEstarDunoJReference4n0DElangUXMultiServiceFactory___rknDrtlIOUString_rkn0EJReference4n0DKreflectionJXIdlClass___rkn0EISequence4n0J____pn0L__; -__1cEcppubGcreateOneInstanceRegistryFactory6FrknDcomDsunEstarDunoJReference4n0DElangUXMultiServiceFactory___rknDrtlIOUString_rkn0EJReference4n0DIregistryMXRegistryKey____n0EJReference4n0FVXSingleServiceFactory____; -__1cEcppubH__RTTI__1CpnEcppuOOWeakAggObject__; -__1cEcppubHbootstrap_InitialComponentContext6FrknDcomDsunEstarDunoJReference4n0DIregistryPXSimpleRegistry___rknDrtlIOUString__n0EJReference4n0ERXComponentContext____; -__1cEcppubIOMultiTypeInterfaceContainerHelper2T5B6M_v_; -__1cEcppubIOMultiTypeInterfaceContainerHelper2T6M_v_; -__1cEcppubIOMultiTypeInterfaceContainerHelper2t5B6MrnDoslFMutex__v_; -__1cEcppubIOMultiTypeInterfaceContainerHelper2t6MrnDoslFMutex__v_; -__1cEcppubIOMultiTypeInterfaceContainerHelperFclear6M_v_; -__1cEcppubIOMultiTypeInterfaceContainerHelperMaddInterface6MrknDcomDsunEstarDunoEType_rkn0FJReference4n0FKXInterface____l_; #S-ILP32 -__1cEcppubIOMultiTypeInterfaceContainerHelperMaddInterface6MrknDcomDsunEstarDunoEType_rkn0FJReference4n0FKXInterface____i_; #S-LP64 -__1cEcppubIOMultiTypeInterfaceContainerHelperMgetContainer6kMrknDcomDsunEstarDunoEType__pn0AZOInterfaceContainerHelper__; -__1cEcppubIOMultiTypeInterfaceContainerHelperPdisposeAndClear6MrknDcomDsunEstarElangLEventObject__v_; -__1cEcppubIOMultiTypeInterfaceContainerHelperPremoveInterface6MrknDcomDsunEstarDunoEType_rkn0FJReference4n0FKXInterface____l_; #S-ILP32 -__1cEcppubIOMultiTypeInterfaceContainerHelperPremoveInterface6MrknDcomDsunEstarDunoEType_rkn0FJReference4n0FKXInterface____i_; #S-LP64 -__1cEcppubIOMultiTypeInterfaceContainerHelperRgetContainedTypes6kM_nDcomDsunEstarDunoISequence4n0FEType____; -__1cEcppubI__RTTI__1CpknEcppuOOWeakAggObject__; -__1cEcppubJ__RTTI__1CpnEcppuQdDOComponentHelper__; -__1cEcppubK__RTTI__1CpknEcppuQdDOComponentHelper__; -__1cEcppubL__RTTI__1CpnEcppuSOPropertySetHelper__; -__1cEcppubM__RTTI__1CpknEcppuSOPropertySetHelper__; -__1cEcppubNOMultiTypeInterfaceContainerHelperInt322T5B6M_v_; -__1cEcppubNOMultiTypeInterfaceContainerHelperInt322T6M_v_; -__1cEcppubNOMultiTypeInterfaceContainerHelperInt322t5B6MrnDoslFMutex__v_; -__1cEcppubNOMultiTypeInterfaceContainerHelperInt322t6MrnDoslFMutex__v_; -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32Fclear6M_v_; -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32MaddInterface6MrklrknDcomDsunEstarDunoJReference4n0FKXInterface____l_; #S-ILP32 -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32MaddInterface6MrkirknDcomDsunEstarDunoJReference4n0FKXInterface____i_; #S-LP64 -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32MgetContainer6kMrkl_pn0AZOInterfaceContainerHelper__; #S-ILP32 -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32MgetContainer6kMrki_pn0AZOInterfaceContainerHelper__; #S-LP64 -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32PdisposeAndClear6MrknDcomDsunEstarElangLEventObject__v_; -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32PremoveInterface6MrklrknDcomDsunEstarDunoJReference4n0FKXInterface____l_; #S-ILP32 -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32PremoveInterface6MrkirknDcomDsunEstarDunoJReference4n0FKXInterface____i_; #S-LP64 -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32RgetContainedTypes6kM_nDcomDsunEstarDunoISequence4Cl___; #S-ILP32 -__1cEcppubNOMultiTypeInterfaceContainerHelperInt32RgetContainedTypes6kM_nDcomDsunEstarDunoISequence4Ci___; #S-LP64 -__1cEcppubN__RTTI__1CpnEcppuUIPropertyArrayHelper__; -__1cEcppubN__RTTI__1CpnEcppuUOPropertyArrayHelper__; -__1cEcppubO__RTTI__1CpknEcppuUIPropertyArrayHelper__; -__1cEcppubO__RTTI__1CpknEcppuUOPropertyArrayHelper__; -__1cEcppubOdefaultBootstrap_InitialComponentContext6F_nDcomDsunEstarDunoJReference4n0ERXComponentContext____; -__1cEcppubV__RTTI__1CpnEcppubBWeakComponentImplHelperBase__; -__1cEcppubW__RTTI__1CpknEcppubBWeakComponentImplHelperBase__; -__1cEcppubY__RTTI__1CpnEcppubEWeakAggComponentImplHelperBase__; -__1cEcppubZ__RTTI__1CpknEcppubEWeakAggComponentImplHelperBase__; -_edata; -_end; -_etext; -_fini; -_init; -__1cDcomDsunEstarDunobM__RTTI__1nDcomDsunEstarDunoJException__; -__1cDcomDsunEstarDunobT__RTTI__1nDcomDsunEstarDunoQdDRuntimeException__; -__1cDcomDsunEstarElangcA__RTTI__1nDcomDsunEstarElangWWrappedTargetException__; -__1cDcomDsunEstarElangcC__RTTI__1nDcomDsunEstarElangYIllegalArgumentException__; -__1cDcomDsunEstarFbeanscA__RTTI__1nDcomDsunEstarFbeansVPropertyVetoException__; -__1cDcomDsunEstarFbeanscD__RTTI__1nDcomDsunEstarFbeansYUnknownPropertyException__; -__1cDcomDsunEstarGloadercL__RTTI__1nDcomDsunEstarGloaderbECannotActivateFactoryException__; -__1cDcomDsunEstarIregistrycG__RTTI__1nDcomDsunEstarIregistryYInvalidRegistryException__; -__1cDcomDsunEstarIregistrycU__RTTI__1nDcomDsunEstarIregistrybLCannotRegisterImplementationException__; -__1cEcppuZcomponent_writeInfoHelper6Fpv1pkn0ATImplementationEntry__C_; -__1cEcppubAcomponent_getFactoryHelper6Fpkcpv3pkn0ATImplementationEntry__3_; -__1cEcppuQImplHelper_query6FrknDcomDsunEstarDunoEType_pn0AKclass_data_pv_n0EDAny__; -__1cEcppuUWeakImplHelper_query6FrknDcomDsunEstarDunoEType_pn0AKclass_data_pvpn0ALOWeakObject__n0EDAny__; -__1cEcppubAWeakAggImplHelper_queryAgg6FrknDcomDsunEstarDunoEType_pn0AKclass_data_pvpn0AOOWeakAggObject__n0EDAny__; -__1cEcppubCImplHelper_queryNoXInterface6FrknDcomDsunEstarDunoEType_pn0AKclass_data_pv_n0EDAny__; -__1cEcppubDWeakComponentImplHelper_query6FrknDcomDsunEstarDunoEType_pn0AKclass_data_pvpn0AbBWeakComponentImplHelperBase__n0EDAny__; -__1cEcppubJWeakAggComponentImplHelper_queryAgg6FrknDcomDsunEstarDunoEType_pn0AKclass_data_pvpn0AbEWeakAggComponentImplHelperBase__n0EDAny__; -__1cEcppuTImplHelper_getTypes6Fpn0AKclass_data__nDcomDsunEstarDunoISequence4n0FEType____; -__1cEcppuWImplInhHelper_getTypes6Fpn0AKclass_data_rknDcomDsunEstarDunoISequence4n0FEType____7_; -__1cEcppuXWeakImplHelper_getTypes6Fpn0AKclass_data__nDcomDsunEstarDunoISequence4n0FEType____; -__1cEcppubAWeakAggImplHelper_getTypes6Fpn0AKclass_data__nDcomDsunEstarDunoISequence4n0FEType____; -__1cEcppubGWeakComponentImplHelper_getTypes6Fpn0AKclass_data__nDcomDsunEstarDunoISequence4n0FEType____; -__1cEcppubJWeakAggComponentImplHelper_getTypes6Fpn0AKclass_data__nDcomDsunEstarDunoISequence4n0FEType____; -__1cEcppubEImplHelper_getImplementationId6Fpn0AKclass_data__nDcomDsunEstarDunoISequence4CW___; -__1cEcppubOdefaultBootstrap_InitialComponentContext6FrknDrtlIOUString__nDcomDsunEstarDunoJReference4n0GRXComponentContext____; - -__1cEcppuNAccessControl2t5B6MrknDcomDsunEstarDunoJReference4n0EIsecurityRXAccessController____v_; -__1cEcppuNAccessControl2t5B6MrknDcomDsunEstarDunoJReference4n0FRXComponentContext____v_; -__1cEcppuNAccessControl2t5B6Mrk1_v_; -__1cEcppuNAccessControl2t6Mrk1_v_; -__1cEcppuNAccessControl2t6MrknDcomDsunEstarDunoJReference4n0EIsecurityRXAccessController____v_; -__1cEcppuNAccessControl2t6MrknDcomDsunEstarDunoJReference4n0FRXComponentContext____v_; -__1cEcppuNAccessControlTcheckFilePermission6MrknDrtlIOUString_5_v_; -__1cEcppuNAccessControlVcheckSocketPermission6MrknDrtlIOUString_5_v_; -__1cEcppuNAccessControlWcheckRuntimePermission6MrknDrtlIOUString__v_; - -__1cEcppuQUnoUrlDescriptor2t5B6MrknDrtlIOUString__v_; -__1cEcppuQUnoUrlDescriptor2t6MrknDrtlIOUString__v_; -__1cEcppuQUnoUrlDescriptor2t5B6Mrk1_v_; -__1cEcppuQUnoUrlDescriptor2t6Mrk1_v_; -__1cEcppuQUnoUrlDescriptor2T5B6M_v_; -__1cEcppuQUnoUrlDescriptor2T6M_v_; -__1cEcppuGUnoUrl2t5B6MrknDrtlIOUString__v_; -__1cEcppuGUnoUrl2t6MrknDrtlIOUString__v_; -__1cEcppuGUnoUrl2t5B6Mrk1_v_; -__1cEcppuGUnoUrl2t6Mrk1_v_; -__1cEcppuGUnoUrl2T5B6M_v_; -__1cEcppuGUnoUrl2T6M_v_; -__1cEcppuQUnoUrlDescriptor2G6Mrk1_r1_; -__1cEcppuQUnoUrlDescriptorNgetDescriptor6kM_rknDrtlIOUString__; -__1cEcppuQUnoUrlDescriptorHgetName6kM_rknDrtlIOUString__; -__1cEcppuQUnoUrlDescriptorMhasParameter6kMrknDrtlIOUString__b_; -__1cEcppuQUnoUrlDescriptorMgetParameter6kMrknDrtlIOUString__3_; -__1cEcppuGUnoUrl2G6Mrk1_r1_; -__1cEcppuGUnoUrlNgetConnection6kM_rkn0AQUnoUrlDescriptor__; -__1cEcppuGUnoUrlLgetProtocol6kM_rkn0AQUnoUrlDescriptor__; -__1cEcppuGUnoUrlNgetObjectName6kM_rknDrtlIOUString__; - - local: - *; -}; - -UDK_3.1 { - global: - __1cEcppuSgetCaughtException6F_nDcomDsunEstarDunoDAny__; - - __1cEcppuSOPropertySetHelper2t6Mrn0ATOBroadcastHelperVar4n0AbIOMultiTypeInterfaceContainerHelper_nDcomDsunEstarDunoEType___b_v_; - __1cEcppuSOPropertySetHelper2t5B6Mrn0ATOBroadcastHelperVar4n0AbIOMultiTypeInterfaceContainerHelper_nDcomDsunEstarDunoEType___b_v_; - - __1cEcppuJbootstrap6F_nDcomDsunEstarDunoJReference4n0ERXComponentContext____; - __1cEcppuSBootstrapException2t6M_v_; - __1cEcppuSBootstrapException2t5B6M_v_; - __1cEcppuSBootstrapException2t6MrknDrtlIOUString__v_; - __1cEcppuSBootstrapException2t5B6MrknDrtlIOUString__v_; - __1cEcppuSBootstrapException2t6Mrk1_v_; - __1cEcppuSBootstrapException2t5B6Mrk1_v_; - __1cEcppuSBootstrapException2T6M_v_; - __1cEcppuSBootstrapException2T5B6M_v_; - __1cEcppuSBootstrapException2G6Mrk1_r1_; - __1cEcppuSBootstrapExceptionKgetMessage6kM_rknDrtlIOUString__; - __1cEcppubJ__RTTI__1nEcppuSBootstrapException__; - __1cEcppubL__RTTI__1CpnEcppuSBootstrapException__; - __1cEcppubM__RTTI__1CpknEcppuSBootstrapException__; -} UDK_3_0_0; - -UDK_3.2 { - global: - __1cEcppubL__RTTI__1nEcppuUPropertySetMixinImpl__; - __1cEcppubN__RTTI__1CpnEcppuUPropertySetMixinImpl__; - __1cEcppubO__RTTI__1CpknEcppuUPropertySetMixinImpl__; - __1cEcppuUPropertySetMixinImpl2t5B6MrknDcomDsunEstarDunoJReference4n0FRXComponentContext___n0BKImplements_rkn0FISequence4nDrtlIOUString___rkn0FEType__v_; - __1cEcppuUPropertySetMixinImpl2T5B6M_v_; - __1cEcppuUPropertySetMixinImpl2t6MrknDcomDsunEstarDunoJReference4n0FRXComponentContext___n0BKImplements_rkn0FISequence4nDrtlIOUString___rkn0FEType__v_; - __1cEcppuUPropertySetMixinImpl2T6M_v_; - __1cEcppuUPropertySetMixinImplbCremovePropertyChangeListener6MrknDrtlIOUString_rknDcomDsunEstarDunoJReference4n0GFbeansXXPropertyChangeListener____v_; - __1cEcppuUPropertySetMixinImplbCremoveVetoableChangeListener6MrknDrtlIOUString_rknDcomDsunEstarDunoJReference4n0GFbeansXXVetoableChangeListener____v_; - __1cEcppuUPropertySetMixinImplHdispose6M_v_; - __1cEcppuUPropertySetMixinImplKprepareSet6MrknDrtlIOUString_rknDcomDsunEstarDunoDAny_9Dpn0BOBoundListeners__v_; - __1cEcppuUPropertySetMixinImplOBoundListeners2T5B6M_v_; - __1cEcppuUPropertySetMixinImplOBoundListeners2t5B6M_v_; - __1cEcppuUPropertySetMixinImplOBoundListeners2T6M_v_; - __1cEcppuUPropertySetMixinImplOBoundListeners2t6M_v_; - __1cEcppuUPropertySetMixinImplOBoundListenersGnotify6kM_v_; - __1cEcppuUPropertySetMixinImplOqueryInterface6MrknDcomDsunEstarDunoEType__n0FDAny__; - __1cEcppuUPropertySetMixinImplQgetPropertyValue6MrknDrtlIOUString__nDcomDsunEstarDunoDAny__; - __1cEcppuUPropertySetMixinImplQsetPropertyValue6MrknDrtlIOUString_rknDcomDsunEstarDunoDAny__v_; - __1cEcppuUPropertySetMixinImplRgetPropertyValues6M_nDcomDsunEstarDunoISequence4n0EFbeansNPropertyValue____; - __1cEcppuUPropertySetMixinImplRsetPropertyValues6MrknDcomDsunEstarDunoISequence4n0EFbeansNPropertyValue____v_; - __1cEcppuUPropertySetMixinImplSgetPropertySetInfo6M_nDcomDsunEstarDunoJReference4n0EFbeansQXPropertySetInfo____; - __1cEcppuUPropertySetMixinImplUgetFastPropertyValue6Ml_nDcomDsunEstarDunoDAny__; #S-ILP32 - __1cEcppuUPropertySetMixinImplUgetFastPropertyValue6Mi_nDcomDsunEstarDunoDAny__; #S-LP64 - __1cEcppuUPropertySetMixinImplUsetFastPropertyValue6MlrknDcomDsunEstarDunoDAny__v_; #S-ILP32 - __1cEcppuUPropertySetMixinImplUsetFastPropertyValue6MirknDcomDsunEstarDunoDAny__v_; #S-LP64 - __1cEcppuUPropertySetMixinImplZaddPropertyChangeListener6MrknDrtlIOUString_rknDcomDsunEstarDunoJReference4n0GFbeansXXPropertyChangeListener____v_; - __1cEcppuUPropertySetMixinImplZaddVetoableChangeListener6MrknDrtlIOUString_rknDcomDsunEstarDunoJReference4n0GFbeansXXVetoableChangeListener____v_; -} UDK_3.1; - -UDK_3.3 { # OOo 2.0.4 - global: - __1cEcppubC__RTTI__1nEcppuLOWeakObject__; -} UDK_3.2; - -UDK_3.4 { # OOo 2.3 - global: - __1cEcppuSOPropertySetHelperIgetTypes6M_nDcomDsunEstarDunoISequence4n0FEType____; -} UDK_3.3; - -UDK_3.5 { # OOo 2.4 - global: - __1cEcppuTbootstrap_expandUri6FrknDrtlIOUString__2_; # rtl::OUString cppu::bootstrap_expandUri(rtl::OUString const &) -} UDK_3.4; - -UDK_3.6 { # OOo 3.0 - global: - __1cEcppuSOPropertySetHelper2t5B6Mrn0ATOBroadcastHelperVar4n0AbIOMultiTypeInterfaceContainerHelper_nDcomDsunEstarDunoEType___pn0AWIEventNotificationHook_b_v_; - __1cEcppuSOPropertySetHelper2t6Mrn0ATOBroadcastHelperVar4n0AbIOMultiTypeInterfaceContainerHelper_nDcomDsunEstarDunoEType___pn0AWIEventNotificationHook_b_v_; -} UDK_3.5; - -UDK_3.7 { # OOo 3.3 - global: - __1cEcppuLOWeakObjectbAdisposeWeakConnectionPoint6M_v_; - __1cDcomDsunEstarDunoTWeakReferenceHelper2G6Mrkn0DJReference4n0DKXInterface____r4_; - __1cDcomDsunEstarDunoTWeakReferenceHelperFclear6M_v_; - __1cEcppubHcreateOneInstanceComponentFactory6FpFrknDcomDsunEstarDunoJReference4n0ERXComponentContext____n0EJReference4n0EKXInterface___rknDrtlIOUString_rkn0EISequence4n0K___pnQ_rtl_ModuleCount__n0EJReference4n0DElangXXSingleComponentFactory____; -} UDK_3.6; - -UDK_3.8 { # OOo 3.4 - global: - __1cEcppuSOPropertySetHelperbDsetDependentFastPropertyValue6MlrknDcomDsunEstarDunoDAny__v_; -} UDK_3.7; - diff --git a/cppuhelper/source/component.cxx b/cppuhelper/source/component.cxx deleted file mode 100644 index c83d7812a..000000000 --- a/cppuhelper/source/component.cxx +++ /dev/null @@ -1,253 +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_cppuhelper.hxx" -#include <rtl/string.hxx> -#include <osl/diagnose.h> -#include <cppuhelper/component.hxx> -#include <cppuhelper/queryinterface.hxx> -#include <cppuhelper/typeprovider.hxx> -#include "com/sun/star/uno/RuntimeException.hpp" - -using namespace osl; -using namespace com::sun::star; -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; - -using ::rtl::OUString; -using ::rtl::OString; -using ::rtl::OUStringToOString; - -namespace cppu -{ - -// ---------------------------------------------------- -// class OComponentHelper -// ---------------------------------------------------- - -OComponentHelper::OComponentHelper( Mutex & rMutex ) SAL_THROW( () ) - : rBHelper( rMutex ) -{ -} -OComponentHelper::~OComponentHelper() SAL_THROW( (RuntimeException) ) -{ -} - -Any OComponentHelper::queryInterface( Type const & rType ) throw (RuntimeException) -{ - return OWeakAggObject::queryInterface( rType ); -} -Any OComponentHelper::queryAggregation( Type const & rType ) throw (RuntimeException) -{ - if (rType == ::getCppuType( (Reference< lang::XComponent > const *)0 )) - { - void * p = static_cast< lang::XComponent * >( this ); - return Any( &p, rType ); - } - else if (rType == ::getCppuType( (Reference< lang::XTypeProvider > const *)0 )) - { - void * p = static_cast< lang::XTypeProvider * >( this ); - return Any( &p, rType ); - } - return OWeakAggObject::queryAggregation( rType ); -} -void OComponentHelper::acquire() throw () -{ - OWeakAggObject::acquire(); -} - -void OComponentHelper::release() throw() -{ - Reference<XInterface > x( xDelegator ); - if (! x.is()) - { - if (osl_decrementInterlockedCount( &m_refCount ) == 0) - { - if (! rBHelper.bDisposed) - { - // *before* again incrementing our ref count, ensure that our weak connection point - // will not create references to us anymore (via XAdapter::queryAdapted) - disposeWeakConnectionPoint(); - - Reference<XInterface > xHoldAlive( *this ); - // First dispose - try - { - dispose(); - } - catch (::com::sun::star::uno::RuntimeException & exc) - { - // release should not throw exceptions -#if OSL_DEBUG_LEVEL > 0 - OString msg( OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_FAIL( msg.getStr() ); -#else - (void) exc; // avoid warning about unused variable -#endif - } - - // only the alive ref holds the object - OSL_ASSERT( m_refCount == 1 ); - // destroy the object if xHoldAlive decrement the refcount to 0 - return; - } - } - // restore the reference count - osl_incrementInterlockedCount( &m_refCount ); - } - OWeakAggObject::release(); -} - -Sequence< Type > OComponentHelper::getTypes() throw (RuntimeException) -{ - static OTypeCollection * s_pTypes = 0; - if (! s_pTypes) - { - MutexGuard aGuard( Mutex::getGlobalMutex() ); - if (! s_pTypes) - { - static OTypeCollection s_aTypes( - ::getCppuType( (const Reference< lang::XComponent > *)0 ), - ::getCppuType( (const Reference< lang::XTypeProvider > *)0 ), - ::getCppuType( (const Reference< XAggregation > *)0 ), - ::getCppuType( (const Reference< XWeak > *)0 ) ); - s_pTypes = &s_aTypes; - } - } - return s_pTypes->getTypes(); -} - -// XComponent -void OComponentHelper::disposing() -{ -} - -// XComponent -void OComponentHelper::dispose() - throw(::com::sun::star::uno::RuntimeException) -{ - // An frequently programming error is to release the last - // reference to this object in the disposing message. - // Make it rubust, hold a self Reference. - Reference<XComponent > xSelf( this ); - - // Guard dispose against multible threading - // Remark: It is an error to call dispose more than once - sal_Bool bDoDispose = sal_False; - { - MutexGuard aGuard( rBHelper.rMutex ); - if( !rBHelper.bDisposed && !rBHelper.bInDispose ) - { - // only one call go into this section - rBHelper.bInDispose = sal_True; - bDoDispose = sal_True; - } - } - - // Do not hold the mutex because we are broadcasting - if( bDoDispose ) - { - // Create an event with this as sender - try - { - try - { - Reference<XInterface > xSource( - Reference<XInterface >::query( (XComponent *)this ) ); - EventObject aEvt; - aEvt.Source = xSource; - // inform all listeners to release this object - // The listener container are automaticly cleared - rBHelper.aLC.disposeAndClear( aEvt ); - // notify subclasses to do their dispose - disposing(); - } - catch (...) - { - MutexGuard aGuard( rBHelper.rMutex ); - // bDispose and bInDisposing must be set in this order: - rBHelper.bDisposed = sal_True; - rBHelper.bInDispose = sal_False; - throw; - } - MutexGuard aGuard( rBHelper.rMutex ); - // bDispose and bInDisposing must be set in this order: - rBHelper.bDisposed = sal_True; - rBHelper.bInDispose = sal_False; - } - catch (RuntimeException &) - { - throw; - } - catch (Exception & exc) - { - throw RuntimeException( - OUString( RTL_CONSTASCII_USTRINGPARAM( - "unexpected UNO exception caught: ") ) + - exc.Message, Reference< XInterface >() ); - } - } - else - { - // in a multithreaded environment, it can't be avoided - // that dispose is called twice. - // However this condition is traced, because it MAY indicate an error. - OSL_TRACE( "OComponentHelper::dispose() - dispose called twice" ); - } -} - -// XComponent -void OComponentHelper::addEventListener( - const Reference<XEventListener > & rxListener ) - throw(::com::sun::star::uno::RuntimeException) -{ - ClearableMutexGuard aGuard( rBHelper.rMutex ); - if (rBHelper.bDisposed || rBHelper.bInDispose) - { - aGuard.clear(); - Reference< XInterface > x( (XComponent *)this, UNO_QUERY ); - rxListener->disposing( EventObject( x ) ); - } - else - { - rBHelper.addListener( ::getCppuType( &rxListener ) , rxListener ); - } -} - -// XComponent -void OComponentHelper::removeEventListener( - const Reference<XEventListener > & rxListener ) - throw(::com::sun::star::uno::RuntimeException) -{ - rBHelper.removeListener( ::getCppuType( &rxListener ) , rxListener ); -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/component_context.cxx b/cppuhelper/source/component_context.cxx deleted file mode 100644 index 8f4b1c4d4..000000000 --- a/cppuhelper/source/component_context.cxx +++ /dev/null @@ -1,900 +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_cppuhelper.hxx" - -#ifdef DIAG -#define CONTEXT_DIAG -#endif - -#if OSL_DEBUG_LEVEL > 0 -#include <stdio.h> -#endif - -#include <vector> -#include <boost/unordered_map.hpp> -#ifdef CONTEXT_DIAG -#include <map> -#endif - -#include <osl/diagnose.h> -#include <osl/mutex.hxx> - -#include <rtl/ustrbuf.hxx> - -#include <uno/mapping.hxx> - -#include <cppuhelper/implbase1.hxx> -#include <cppuhelper/compbase2.hxx> -#include <cppuhelper/component_context.hxx> -#include <cppuhelper/exc_hlp.hxx> - -#include <com/sun/star/container/XNameContainer.hpp> -#include <com/sun/star/lang/WrappedTargetRuntimeException.hpp> -#include <com/sun/star/lang/XSingleServiceFactory.hpp> -#include <com/sun/star/lang/XSingleComponentFactory.hpp> -#include <com/sun/star/lang/XMultiComponentFactory.hpp> -#include <com/sun/star/lang/XComponent.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> -#include "com/sun/star/uno/RuntimeException.hpp" - -#include <memory> - -#define SMGR_SINGLETON "/singletons/com.sun.star.lang.theServiceManager" -#define TDMGR_SINGLETON "/singletons/com.sun.star.reflection.theTypeDescriptionManager" -#define AC_SINGLETON "/singletons/com.sun.star.security.theAccessController" -#define AC_POLICY "/singletons/com.sun.star.security.thePolicy" -#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) - - -using namespace ::osl; -using namespace ::rtl; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star; - -namespace cppu -{ - -#ifdef CONTEXT_DIAG -//-------------------------------------------------------------------------------------------------- -static OUString val2str( void const * pVal, typelib_TypeDescriptionReference * pTypeRef ) -{ - OSL_ASSERT( pVal ); - if (pTypeRef->eTypeClass == typelib_TypeClass_VOID) - return OUSTR("void"); - - OUStringBuffer buf( 64 ); - buf.append( (sal_Unicode)'(' ); - buf.append( pTypeRef->pTypeName ); - buf.append( (sal_Unicode)')' ); - - switch (pTypeRef->eTypeClass) - { - case typelib_TypeClass_INTERFACE: - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("0x") ); - buf.append( (sal_Int64)*(void **)pVal, 16 ); - break; - case typelib_TypeClass_STRUCT: - case typelib_TypeClass_EXCEPTION: - { - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("{ ") ); - typelib_TypeDescription * pTypeDescr = 0; - ::typelib_typedescriptionreference_getDescription( &pTypeDescr, pTypeRef ); - OSL_ASSERT( pTypeDescr ); - if (! pTypeDescr->bComplete) - ::typelib_typedescription_complete( &pTypeDescr ); - - typelib_CompoundTypeDescription * pCompType = (typelib_CompoundTypeDescription *)pTypeDescr; - sal_Int32 nDescr = pCompType->nMembers; - - if (pCompType->pBaseTypeDescription) - { - buf.append( val2str( pVal, ((typelib_TypeDescription *)pCompType->pBaseTypeDescription)->pWeakRef ) ); - if (nDescr) - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(", ") ); - } - - typelib_TypeDescriptionReference ** ppTypeRefs = pCompType->ppTypeRefs; - sal_Int32 * pMemberOffsets = pCompType->pMemberOffsets; - rtl_uString ** ppMemberNames = pCompType->ppMemberNames; - - for ( sal_Int32 nPos = 0; nPos < nDescr; ++nPos ) - { - buf.append( ppMemberNames[ nPos ] ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(" = ") ); - typelib_TypeDescription * pMemberType = 0; - TYPELIB_DANGER_GET( &pMemberType, ppTypeRefs[ nPos ] ); - buf.append( val2str( (char *)pVal + pMemberOffsets[ nPos ], pMemberType->pWeakRef ) ); - TYPELIB_DANGER_RELEASE( pMemberType ); - if (nPos < (nDescr -1)) - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(", ") ); - } - - ::typelib_typedescription_release( pTypeDescr ); - - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(" }") ); - break; - } - case typelib_TypeClass_SEQUENCE: - { - typelib_TypeDescription * pTypeDescr = 0; - TYPELIB_DANGER_GET( &pTypeDescr, pTypeRef ); - - uno_Sequence * pSequence = *(uno_Sequence **)pVal; - typelib_TypeDescription * pElementTypeDescr = 0; - TYPELIB_DANGER_GET( &pElementTypeDescr, ((typelib_IndirectTypeDescription *)pTypeDescr)->pType ); - - sal_Int32 nElementSize = pElementTypeDescr->nSize; - sal_Int32 nElements = pSequence->nElements; - - if (nElements) - { - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("{ ") ); - char * pElements = pSequence->elements; - for ( sal_Int32 nPos = 0; nPos < nElements; ++nPos ) - { - buf.append( val2str( pElements + (nElementSize * nPos), pElementTypeDescr->pWeakRef ) ); - if (nPos < (nElements -1)) - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(", ") ); - } - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(" }") ); - } - else - { - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("{}") ); - } - TYPELIB_DANGER_RELEASE( pElementTypeDescr ); - TYPELIB_DANGER_RELEASE( pTypeDescr ); - break; - } - case typelib_TypeClass_ANY: - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("{ ") ); - buf.append( val2str( ((uno_Any *)pVal)->pData, - ((uno_Any *)pVal)->pType ) ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(" }") ); - break; - case typelib_TypeClass_TYPE: - buf.append( (*(typelib_TypeDescriptionReference **)pVal)->pTypeName ); - break; - case typelib_TypeClass_STRING: - buf.append( (sal_Unicode)'\"' ); - buf.append( *(rtl_uString **)pVal ); - buf.append( (sal_Unicode)'\"' ); - break; - case typelib_TypeClass_ENUM: - { - typelib_TypeDescription * pTypeDescr = 0; - ::typelib_typedescriptionreference_getDescription( &pTypeDescr, pTypeRef ); - OSL_ASSERT( pTypeDescr ); - if (! pTypeDescr->bComplete) - ::typelib_typedescription_complete( &pTypeDescr ); - - sal_Int32 * pValues = ((typelib_EnumTypeDescription *)pTypeDescr)->pEnumValues; - sal_Int32 nPos = ((typelib_EnumTypeDescription *)pTypeDescr)->nEnumValues; - while (nPos--) - { - if (pValues[ nPos ] == *(sal_Int32 *)pVal) - break; - } - if (nPos >= 0) - buf.append( ((typelib_EnumTypeDescription *)pTypeDescr)->ppEnumNames[ nPos ] ); - else - buf.append( (sal_Unicode)'?' ); - - ::typelib_typedescription_release( pTypeDescr ); - break; - } - case typelib_TypeClass_BOOLEAN: - if (*(sal_Bool *)pVal) - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("true") ); - else - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("false") ); - break; - case typelib_TypeClass_CHAR: - buf.append( (sal_Unicode)'\'' ); - buf.append( *(sal_Unicode *)pVal ); - buf.append( (sal_Unicode)'\'' ); - break; - case typelib_TypeClass_FLOAT: - buf.append( *(float *)pVal ); - break; - case typelib_TypeClass_DOUBLE: - buf.append( *(double *)pVal ); - break; - case typelib_TypeClass_BYTE: - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("0x") ); - buf.append( (sal_Int32)*(sal_Int8 *)pVal, 16 ); - break; - case typelib_TypeClass_SHORT: - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("0x") ); - buf.append( (sal_Int32)*(sal_Int16 *)pVal, 16 ); - break; - case typelib_TypeClass_UNSIGNED_SHORT: - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("0x") ); - buf.append( (sal_Int32)*(sal_uInt16 *)pVal, 16 ); - break; - case typelib_TypeClass_LONG: - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("0x") ); - buf.append( *(sal_Int32 *)pVal, 16 ); - break; - case typelib_TypeClass_UNSIGNED_LONG: - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("0x") ); - buf.append( (sal_Int64)*(sal_uInt32 *)pVal, 16 ); - break; - case typelib_TypeClass_HYPER: - case typelib_TypeClass_UNSIGNED_HYPER: - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("0x") ); -#if defined(GCC) && defined(SPARC) - { - sal_Int64 aVal; - *(sal_Int32 *)&aVal = *(sal_Int32 *)pVal; - *((sal_Int32 *)&aVal +1)= *((sal_Int32 *)pVal +1); - buf.append( aVal, 16 ); - } -#else - buf.append( *(sal_Int64 *)pVal, 16 ); -#endif - break; - default: - buf.append( (sal_Unicode)'?' ); - } - - return buf.makeStringAndClear(); -} -//-------------------------------------------------------------------------------------------------- -static void dumpEntry( OUString const & key, Any const & value ) -{ - OUString val( val2str( value.getValue(), value.getValueTypeRef() ) ); - OString key_str( OUStringToOString( key, RTL_TEXTENCODING_ASCII_US ) ); - OString val_str( OUStringToOString( val, RTL_TEXTENCODING_ASCII_US ) ); - ::fprintf( stderr, "| %s = %s\n", key_str.getStr(), val_str.getStr() ); -} -#endif -//-------------------------------------------------------------------------------------------------- -static inline void try_dispose( Reference< XInterface > const & xInstance ) - SAL_THROW( (RuntimeException) ) -{ - Reference< lang::XComponent > xComp( xInstance, UNO_QUERY ); - if (xComp.is()) - { - xComp->dispose(); - } -} -//-------------------------------------------------------------------------------------------------- -static inline void try_dispose( Reference< lang::XComponent > const & xComp ) - SAL_THROW( (RuntimeException) ) -{ - if (xComp.is()) - { - xComp->dispose(); - } -} - -//================================================================================================== - -class DisposingForwarder - : public WeakImplHelper1< lang::XEventListener > -{ - Reference< lang::XComponent > m_xTarget; - - inline DisposingForwarder( Reference< lang::XComponent > const & xTarget ) - SAL_THROW( () ) - : m_xTarget( xTarget ) - { OSL_ASSERT( m_xTarget.is() ); } -public: - // listens at source for disposing, then disposes target - static inline void listen( - Reference< lang::XComponent > const & xSource, - Reference< lang::XComponent > const & xTarget ) - SAL_THROW( (RuntimeException) ); - - virtual void SAL_CALL disposing( lang::EventObject const & rSource ) - throw (RuntimeException); -}; -//__________________________________________________________________________________________________ -inline void DisposingForwarder::listen( - Reference< lang::XComponent > const & xSource, - Reference< lang::XComponent > const & xTarget ) - SAL_THROW( (RuntimeException) ) -{ - if (xSource.is()) - { - xSource->addEventListener( new DisposingForwarder( xTarget ) ); - } -} -//__________________________________________________________________________________________________ -void DisposingForwarder::disposing( lang::EventObject const & ) - throw (RuntimeException) -{ - m_xTarget->dispose(); - m_xTarget.clear(); -} - -//================================================================================================== -struct MutexHolder -{ -protected: - Mutex m_mutex; -}; -//================================================================================================== - -class ComponentContext - : private MutexHolder - , public WeakComponentImplHelper2< XComponentContext, - container::XNameContainer > -{ -protected: - Reference< XComponentContext > m_xDelegate; - - struct ContextEntry - { - Any value; - bool lateInit; - - inline ContextEntry( Any const & value_, bool lateInit_ ) - : value( value_ ) - , lateInit( lateInit_ ) - {} - }; - typedef ::boost::unordered_map< OUString, ContextEntry * , OUStringHash > t_map; - t_map m_map; - - Reference< lang::XMultiComponentFactory > m_xSMgr; - -protected: - Any lookupMap( OUString const & rName ) - SAL_THROW( (RuntimeException) ); - - virtual void SAL_CALL disposing(); -public: - ComponentContext( - ContextEntry_Init const * pEntries, sal_Int32 nEntries, - Reference< XComponentContext > const & xDelegate ); - virtual ~ComponentContext() - SAL_THROW( () ); - - // XComponentContext - virtual Any SAL_CALL getValueByName( OUString const & rName ) - throw (RuntimeException); - virtual Reference<lang::XMultiComponentFactory> SAL_CALL getServiceManager() - throw (RuntimeException); - - // XNameContainer - virtual void SAL_CALL insertByName( - OUString const & name, Any const & element ) - throw (lang::IllegalArgumentException, container::ElementExistException, - lang::WrappedTargetException, RuntimeException); - virtual void SAL_CALL removeByName( OUString const & name ) - throw (container::NoSuchElementException, - lang::WrappedTargetException, RuntimeException); - // XNameReplace - virtual void SAL_CALL replaceByName( - OUString const & name, Any const & element ) - throw (lang::IllegalArgumentException,container::NoSuchElementException, - lang::WrappedTargetException, RuntimeException); - // XNameAccess - virtual Any SAL_CALL getByName( OUString const & name ) - throw (container::NoSuchElementException, - lang::WrappedTargetException, RuntimeException); - virtual Sequence<OUString> SAL_CALL getElementNames() - throw (RuntimeException); - virtual sal_Bool SAL_CALL hasByName( OUString const & name ) - throw (RuntimeException); - // XElementAccess - virtual Type SAL_CALL getElementType() throw (RuntimeException); - virtual sal_Bool SAL_CALL hasElements() throw (RuntimeException); -}; - -// XNameContainer -//______________________________________________________________________________ -void ComponentContext::insertByName( - OUString const & name, Any const & element ) - throw (lang::IllegalArgumentException, container::ElementExistException, - lang::WrappedTargetException, RuntimeException) -{ - t_map::mapped_type entry( - new ContextEntry( - element, - /* lateInit_: */ - name.matchAsciiL( RTL_CONSTASCII_STRINGPARAM("/singletons/") ) && - !element.hasValue() ) ); - MutexGuard guard( m_mutex ); - ::std::pair<t_map::iterator, bool> insertion( m_map.insert( - t_map::value_type( name, entry ) ) ); - if (! insertion.second) - throw container::ElementExistException( - OUSTR("element already exists: ") + name, - static_cast<OWeakObject *>(this) ); -} - -//______________________________________________________________________________ -void ComponentContext::removeByName( OUString const & name ) - throw (container::NoSuchElementException, - lang::WrappedTargetException, RuntimeException) -{ - MutexGuard guard( m_mutex ); - t_map::iterator iFind( m_map.find( name ) ); - if (iFind == m_map.end()) - throw container::NoSuchElementException( - OUSTR("no such element: ") + name, - static_cast<OWeakObject *>(this) ); - - delete iFind->second; - m_map.erase(iFind); -} - -// XNameReplace -//______________________________________________________________________________ -void ComponentContext::replaceByName( - OUString const & name, Any const & element ) - throw (lang::IllegalArgumentException,container::NoSuchElementException, - lang::WrappedTargetException, RuntimeException) -{ - MutexGuard guard( m_mutex ); - t_map::const_iterator const iFind( m_map.find( name ) ); - if (iFind == m_map.end()) - throw container::NoSuchElementException( - OUSTR("no such element: ") + name, - static_cast<OWeakObject *>(this) ); - if (name.matchAsciiL( RTL_CONSTASCII_STRINGPARAM("/singletons/") ) && - !element.hasValue()) - { - iFind->second->value.clear(); - iFind->second->lateInit = true; - } - else - { - iFind->second->value = element; - iFind->second->lateInit = false; - } -} - -// XNameAccess -//______________________________________________________________________________ -Any ComponentContext::getByName( OUString const & name ) - throw (container::NoSuchElementException, - lang::WrappedTargetException, RuntimeException) -{ - return getValueByName( name ); -} - -//______________________________________________________________________________ -Sequence<OUString> ComponentContext::getElementNames() - throw (RuntimeException) -{ - MutexGuard guard( m_mutex ); - Sequence<OUString> ret( m_map.size() ); - OUString * pret = ret.getArray(); - sal_Int32 pos = 0; - t_map::const_iterator iPos( m_map.begin() ); - t_map::const_iterator const iEnd( m_map.end() ); - for ( ; iPos != iEnd; ++iPos ) - pret[pos++] = iPos->first; - return ret; -} - -//______________________________________________________________________________ -sal_Bool ComponentContext::hasByName( OUString const & name ) - throw (RuntimeException) -{ - MutexGuard guard( m_mutex ); - return m_map.find( name ) != m_map.end(); -} - -// XElementAccess -//______________________________________________________________________________ -Type ComponentContext::getElementType() throw (RuntimeException) -{ - return ::getVoidCppuType(); -} - -//______________________________________________________________________________ -sal_Bool ComponentContext::hasElements() throw (RuntimeException) -{ - MutexGuard guard( m_mutex ); - return ! m_map.empty(); -} - -//__________________________________________________________________________________________________ -Any ComponentContext::lookupMap( OUString const & rName ) - SAL_THROW( (RuntimeException) ) -{ -#ifdef CONTEXT_DIAG - if (rName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("dump_maps") )) - { - ::fprintf( stderr, ">>> dumping out ComponentContext %p m_map:\n", this ); - typedef ::std::map< OUString, ContextEntry * > t_sorted; // sorted map - t_sorted sorted; - for ( t_map::const_iterator iPos( m_map.begin() ); iPos != m_map.end(); ++iPos ) - { - sorted[ iPos->first ] = iPos->second; - } - { - for ( t_sorted::const_iterator iPos( sorted.begin() ); iPos != sorted.end(); ++iPos ) - { - dumpEntry( iPos->first, iPos->second->value ); - } - } - return Any(); - } -#endif - - ResettableMutexGuard guard( m_mutex ); - t_map::const_iterator iFind( m_map.find( rName ) ); - if (iFind == m_map.end()) - return Any(); - - t_map::mapped_type pEntry = iFind->second; - if (! pEntry->lateInit) - return pEntry->value; - - // late init singleton entry - Reference< XInterface > xInstance; - guard.clear(); - - try - { - Any usesService( getValueByName( rName + OUSTR("/service") ) ); - Any args_( getValueByName( rName + OUSTR("/arguments") ) ); - Sequence<Any> args; - if (args_.hasValue() && !(args_ >>= args)) - { - args.realloc( 1 ); - args[ 0 ] = args_; - } - - Reference< lang::XSingleComponentFactory > xFac; - if (usesService >>= xFac) // try via factory - { - xInstance = args.getLength() - ? xFac->createInstanceWithArgumentsAndContext( args, this ) - : xFac->createInstanceWithContext( this ); - } - else - { - Reference< lang::XSingleServiceFactory > xFac2; - if (usesService >>= xFac2) - { - // try via old XSingleServiceFactory -#if OSL_DEBUG_LEVEL > 0 - ::fprintf( - stderr, - "### omitting context for service instanciation!\n" ); -#endif - xInstance = args.getLength() - ? xFac2->createInstanceWithArguments( args ) - : xFac2->createInstance(); - } - else if (m_xSMgr.is()) // optionally service name - { - OUString serviceName; - if ((usesService >>= serviceName) && - serviceName.getLength()) - { - xInstance = args.getLength() - ? m_xSMgr->createInstanceWithArgumentsAndContext( - serviceName, args, this ) - : m_xSMgr->createInstanceWithContext( - serviceName, this ); - } - } - } - } - catch (RuntimeException &) - { - throw; - } - catch (Exception & exc) // rethrow as WrappedTargetRuntimeException - { - Any caught( getCaughtException() ); - OUStringBuffer buf; - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM( - "exception occurred raising singleton \"") ); - buf.append( rName ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("\": ") ); - buf.append( exc.Message ); - throw lang::WrappedTargetRuntimeException( - buf.makeStringAndClear(), static_cast<OWeakObject *>(this),caught ); - } - - if (! xInstance.is()) - { - throw RuntimeException( - OUSTR("no service object raising singleton ") + rName, - static_cast<OWeakObject *>(this) ); - } - - Any ret; - guard.reset(); - iFind = m_map.find( rName ); - if (iFind != m_map.end()) - { - pEntry = iFind->second; - if (pEntry->lateInit) - { - pEntry->value <<= xInstance; - pEntry->lateInit = false; - return pEntry->value; - } - else - ret = pEntry->value; - } - guard.clear(); - try_dispose( xInstance ); - return ret; -} - -//__________________________________________________________________________________________________ -Any ComponentContext::getValueByName( OUString const & rName ) - throw (RuntimeException) -{ - // to determine the root context: - if (rName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("_root") )) - { - if (m_xDelegate.is()) - return m_xDelegate->getValueByName( rName ); - else - return makeAny( Reference<XComponentContext>(this) ); - } - - Any ret( lookupMap( rName ) ); - if (!ret.hasValue() && m_xDelegate.is()) - { - return m_xDelegate->getValueByName( rName ); - } - return ret; -} -//__________________________________________________________________________________________________ -Reference< lang::XMultiComponentFactory > ComponentContext::getServiceManager() - throw (RuntimeException) -{ - return m_xSMgr; -} -//__________________________________________________________________________________________________ -ComponentContext::~ComponentContext() - SAL_THROW( () ) -{ -#ifdef CONTEXT_DIAG - ::fprintf( stderr, "> destructed context %p\n", this ); -#endif - t_map::const_iterator iPos( m_map.begin() ); - t_map::const_iterator const iEnd( m_map.end() ); - for ( ; iPos != iEnd; ++iPos ) - delete iPos->second; - m_map.clear(); -} -//__________________________________________________________________________________________________ -void ComponentContext::disposing() -{ -#ifdef CONTEXT_DIAG - ::fprintf( stderr, "> disposing context %p\n", this ); -#endif - - Reference< lang::XComponent > xTDMgr, xAC, xPolicy; // to be disposed separately - - // dispose all context objects - t_map::const_iterator iPos( m_map.begin() ); - t_map::const_iterator const iEnd( m_map.end() ); - for ( ; iPos != iEnd; ++iPos ) - { - t_map::mapped_type pEntry = iPos->second; - - // service manager disposed separately - if (!m_xSMgr.is() || - !iPos->first.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(SMGR_SINGLETON) )) - { - if (pEntry->lateInit) - { - // late init - MutexGuard guard( m_mutex ); - if (pEntry->lateInit) - { - pEntry->value.clear(); // release factory - pEntry->lateInit = false; - continue; - } - } - - Reference< lang::XComponent > xComp; - pEntry->value >>= xComp; - if (xComp.is()) - { - if (iPos->first.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(TDMGR_SINGLETON) )) - { - xTDMgr = xComp; - } - else if (iPos->first.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(AC_SINGLETON) )) - { - xAC = xComp; - } - else if (iPos->first.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(AC_POLICY) )) - { - xPolicy = xComp; - } - else // dispose immediately - { - xComp->dispose(); - } - } - } - } - - // dispose service manager - try_dispose( m_xSMgr ); - m_xSMgr.clear(); - // dispose ac - try_dispose( xAC ); - // dispose policy - try_dispose( xPolicy ); - // dispose tdmgr; revokes callback from cppu runtime - try_dispose( xTDMgr ); - - iPos = m_map.begin(); - for ( ; iPos != iEnd; ++iPos ) - delete iPos->second; - m_map.clear(); -} -//__________________________________________________________________________________________________ -ComponentContext::ComponentContext( - ContextEntry_Init const * pEntries, sal_Int32 nEntries, - Reference< XComponentContext > const & xDelegate ) - : WeakComponentImplHelper2< XComponentContext, container::XNameContainer >( - m_mutex ), - m_xDelegate( xDelegate ) -{ - for ( sal_Int32 nPos = 0; nPos < nEntries; ++nPos ) - { - ContextEntry_Init const & rEntry = pEntries[ nPos ]; - - if (rEntry.name.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM(SMGR_SINGLETON) )) - { - rEntry.value >>= m_xSMgr; - } - - if (rEntry.bLateInitService) - { - // singleton entry - m_map[ rEntry.name ] = new ContextEntry( Any(), true ); - // /service - m_map[ rEntry.name + OUSTR("/service") ] = new ContextEntry( rEntry.value, false ); - // /initial-arguments are provided as optional context entry - } - else - { - // only value, no late init factory nor string - m_map[ rEntry.name ] = new ContextEntry( rEntry.value, false ); - } - } - - if (!m_xSMgr.is() && m_xDelegate.is()) - { - // wrap delegate's smgr XPropertySet into new smgr - Reference< lang::XMultiComponentFactory > xMgr( m_xDelegate->getServiceManager() ); - if (xMgr.is()) - { - osl_incrementInterlockedCount( &m_refCount ); - try - { - // create new smgr based on delegate's one - m_xSMgr.set( - xMgr->createInstanceWithContext( - OUSTR("com.sun.star.comp.stoc.OServiceManagerWrapper"), xDelegate ), - UNO_QUERY ); - // patch DefaultContext property of new one - Reference< beans::XPropertySet > xProps( m_xSMgr, UNO_QUERY ); - OSL_ASSERT( xProps.is() ); - if (xProps.is()) - { - Reference< XComponentContext > xThis( this ); - xProps->setPropertyValue( OUSTR("DefaultContext"), makeAny( xThis ) ); - } - } - catch (...) - { - osl_decrementInterlockedCount( &m_refCount ); - throw; - } - osl_decrementInterlockedCount( &m_refCount ); - OSL_ASSERT( m_xSMgr.is() ); - } - } -} - - -//################################################################################################## -extern "C" { static void s_createComponentContext_v(va_list * pParam) -{ - ContextEntry_Init const * pEntries = va_arg(*pParam, ContextEntry_Init const *); - sal_Int32 nEntries = va_arg(*pParam, sal_Int32); - XComponentContext * pDelegatee = va_arg(*pParam, XComponentContext *); - void ** ppContext = va_arg(*pParam, void **); - uno::Mapping * pTarget2curr = va_arg(*pParam, uno::Mapping *); - - Reference<XComponentContext> xDelegate(pDelegatee, SAL_NO_ACQUIRE); - Reference<XComponentContext> xContext; - - if (nEntries > 0) - { - try - { - ComponentContext * p = new ComponentContext( pEntries, nEntries, xDelegate ); - xContext.set(p); - // listen delegate for disposing, to dispose this (wrapping) context first. - DisposingForwarder::listen( Reference< lang::XComponent >::query( xDelegate ), p ); - } - catch (Exception & exc) - { - (void) exc; // avoid warning about unused variable - OSL_FAIL( OUStringToOString( - exc.Message, RTL_TEXTENCODING_ASCII_US ).getStr() ); - xContext.clear(); - } - } - else - { - xContext = xDelegate; - } - - *ppContext = pTarget2curr->mapInterface(xContext.get(), ::getCppuType(&xContext)); -}} - -Reference< XComponentContext > SAL_CALL createComponentContext( - ContextEntry_Init const * pEntries, sal_Int32 nEntries, - Reference< XComponentContext > const & xDelegate ) - SAL_THROW( () ) -{ - uno::Environment curr_env(Environment::getCurrent()); - uno::Environment source_env(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))); - - uno::Mapping curr2source(curr_env, source_env); - uno::Mapping source2curr(source_env, curr_env); - - ContextEntry_Init * mapped_entries = new ContextEntry_Init[nEntries]; - for (sal_Int32 nPos = 0; nPos < nEntries; ++ nPos) - { - mapped_entries[nPos].bLateInitService = pEntries[nPos].bLateInitService; - mapped_entries[nPos].name = pEntries[nPos].name; - - uno_type_any_constructAndConvert(&mapped_entries[nPos].value, - const_cast<void *>(pEntries[nPos].value.getValue()), - pEntries[nPos].value.getValueTypeRef(), - curr2source.get()); - } - - void * mapped_delegate = curr2source.mapInterface(xDelegate.get(), ::getCppuType(&xDelegate)); - XComponentContext * pXComponentContext = NULL; - source_env.invoke(s_createComponentContext_v, mapped_entries, nEntries, mapped_delegate, &pXComponentContext, &source2curr); - delete[] mapped_entries; - - return Reference<XComponentContext>(pXComponentContext, SAL_NO_ACQUIRE); -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/exc_thrower.cxx b/cppuhelper/source/exc_thrower.cxx deleted file mode 100644 index 4db1888a2..000000000 --- a/cppuhelper/source/exc_thrower.cxx +++ /dev/null @@ -1,284 +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_cppuhelper.hxx" - -#include "rtl/instance.hxx" -#include "osl/diagnose.h" -#include "osl/doublecheckedlocking.h" -#include "osl/mutex.hxx" -#include "uno/dispatcher.hxx" -#include "uno/mapping.hxx" -#include "cppuhelper/detail/XExceptionThrower.hpp" -#include "com/sun/star/uno/RuntimeException.hpp" - -#include "cppuhelper/exc_hlp.hxx" - -#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) - - -using namespace ::rtl; -using namespace ::osl; -using namespace ::cppu; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - -namespace -{ - -using cppuhelper::detail::XExceptionThrower; - -//============================================================================== -struct ExceptionThrower : public uno_Interface, XExceptionThrower -{ - inline ExceptionThrower(); - - static inline Type const & getCppuType() - { - return ::getCppuType( - reinterpret_cast< Reference< XExceptionThrower > const * >(0) ); - } - - // XInterface - virtual Any SAL_CALL queryInterface( Type const & type ) - throw (RuntimeException); - virtual void SAL_CALL acquire() throw (); - virtual void SAL_CALL release() throw (); - - // XExceptionThrower - virtual void SAL_CALL throwException( Any const & exc ) throw (Exception); - virtual void SAL_CALL rethrowException() throw (Exception); -}; - -extern "C" -{ - -//------------------------------------------------------------------------------ -static void SAL_CALL ExceptionThrower_acquire_release_nop( uno_Interface * ) -{ -} - -//------------------------------------------------------------------------------ -static void SAL_CALL ExceptionThrower_dispatch( - uno_Interface * pUnoI, typelib_TypeDescription const * pMemberType, - void * pReturn, void * pArgs [], uno_Any ** ppException ) -{ - OSL_ASSERT( pMemberType->eTypeClass == typelib_TypeClass_INTERFACE_METHOD ); - - switch (reinterpret_cast< typelib_InterfaceMemberTypeDescription * >( - const_cast< typelib_TypeDescription * >( pMemberType ) )-> - nPosition) - { - case 0: // queryInterace() - { - Type const & rType_demanded = - *reinterpret_cast< Type const * >( pArgs[ 0 ] ); - if (rType_demanded.equals( - ::getCppuType( reinterpret_cast< - Reference< XInterface > const * >(0) ) ) || - rType_demanded.equals( ExceptionThrower::getCppuType() )) - { - typelib_TypeDescription * pTD = 0; - TYPELIB_DANGER_GET( &pTD, rType_demanded.getTypeLibType() ); - uno_any_construct( - reinterpret_cast< uno_Any * >( pReturn ), &pUnoI, pTD, 0 ); - TYPELIB_DANGER_RELEASE( pTD ); - } - else - { - uno_any_construct( - reinterpret_cast< uno_Any * >( pReturn ), 0, 0, 0 ); - } - *ppException = 0; - break; - } - case 1: // acquire() - case 2: // release() - *ppException = 0; - break; - case 3: // throwException() - { - uno_Any * pAny = reinterpret_cast< uno_Any * >( pArgs[ 0 ] ); - OSL_ASSERT( pAny->pType->eTypeClass == typelib_TypeClass_EXCEPTION ); - uno_type_any_construct( *ppException, pAny->pData, pAny->pType, 0 ); - break; - } - default: - { - OSL_ASSERT( 0 ); - RuntimeException exc( - OUSTR("not implemented!"), Reference< XInterface >() ); - uno_type_any_construct( - *ppException, &exc, ::getCppuType( &exc ).getTypeLibType(), 0 ); - break; - } - } -} - -} // extern "C" - -//______________________________________________________________________________ -Any ExceptionThrower::queryInterface( Type const & type ) - throw (RuntimeException) -{ - if (type.equals( ::getCppuType( reinterpret_cast< - Reference< XInterface > const * >(0) ) ) || - type.equals( ExceptionThrower::getCppuType() )) - { - XExceptionThrower * that = static_cast< XExceptionThrower * >( this ); - return Any( &that, type ); - } - return Any(); -} - -//______________________________________________________________________________ -void ExceptionThrower::acquire() throw () -{ -} -//______________________________________________________________________________ -void ExceptionThrower::release() throw () -{ -} - -//______________________________________________________________________________ -void ExceptionThrower::throwException( Any const & exc ) throw (Exception) -{ - OSL_FAIL( "unexpected!" ); - throwException( exc ); -} - -//______________________________________________________________________________ -void ExceptionThrower::rethrowException() throw (Exception) -{ - throw; -} - -//______________________________________________________________________________ -inline ExceptionThrower::ExceptionThrower() -{ - uno_Interface::acquire = ExceptionThrower_acquire_release_nop; - uno_Interface::release = ExceptionThrower_acquire_release_nop; - uno_Interface::pDispatcher = ExceptionThrower_dispatch; -} - -class theExceptionThrower : public rtl::Static<ExceptionThrower, theExceptionThrower> {}; - -} // anonymous namespace - - -namespace cppu -{ - -//============================================================================== -void SAL_CALL throwException( Any const & exc ) SAL_THROW( (Exception) ) -{ - if (exc.getValueTypeClass() != TypeClass_EXCEPTION) - { - throw RuntimeException( - OUSTR("no UNO exception given " - "(must be derived from com::sun::star::uno::Exception)!"), - Reference< XInterface >() ); - } - - Mapping uno2cpp(Environment(OUSTR(UNO_LB_UNO)), Environment::getCurrent()); - if (! uno2cpp.is()) - { - throw RuntimeException( - OUSTR("cannot get binary UNO to C++ mapping!"), - Reference< XInterface >() ); - } - - Reference< XExceptionThrower > xThrower; - uno2cpp.mapInterface( - reinterpret_cast< void ** >( &xThrower ), - static_cast< uno_Interface * >( &theExceptionThrower::get() ), - ExceptionThrower::getCppuType() ); - OSL_ASSERT( xThrower.is() ); - xThrower->throwException( exc ); -} - -//============================================================================== -Any SAL_CALL getCaughtException() -{ - Mapping cpp2uno(Environment::getCurrent(), Environment(OUSTR(UNO_LB_UNO))); - if (! cpp2uno.is()) - { - throw RuntimeException( - OUSTR("cannot get C++ to binary UNO mapping!"), - Reference< XInterface >() ); - } - Mapping uno2cpp(Environment(OUSTR(UNO_LB_UNO)), Environment::getCurrent()); - if (! uno2cpp.is()) - { - throw RuntimeException( - OUSTR("cannot get binary UNO to C++ mapping!"), - Reference< XInterface >() ); - } - - typelib_TypeDescription * pTD = 0; - TYPELIB_DANGER_GET( - &pTD, ExceptionThrower::getCppuType().getTypeLibType() ); - - UnoInterfaceReference unoI; - cpp2uno.mapInterface( - reinterpret_cast< void ** >( &unoI.m_pUnoI ), - static_cast< XExceptionThrower * >( &theExceptionThrower::get() ), pTD ); - OSL_ASSERT( unoI.is() ); - - typelib_TypeDescription * pMemberTD = 0; - TYPELIB_DANGER_GET( - &pMemberTD, - reinterpret_cast< typelib_InterfaceTypeDescription * >( pTD )-> - ppMembers[ 1 ] /* rethrowException() */ ); - - uno_Any exc_mem; - uno_Any * exc = &exc_mem; - unoI.dispatch( pMemberTD, 0, 0, &exc ); - - TYPELIB_DANGER_RELEASE( pMemberTD ); - TYPELIB_DANGER_RELEASE( pTD ); - - if (exc == 0) - { - throw RuntimeException( - OUSTR("rethrowing C++ exception failed!"), - Reference< XInterface >() ); - } - - Any ret; - uno_any_destruct( &ret, reinterpret_cast< uno_ReleaseFunc >(cpp_release) ); - uno_type_any_constructAndConvert( - &ret, exc->pData, exc->pType, uno2cpp.get() ); - uno_any_destruct( exc, 0 ); - return ret; -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/factory.cxx b/cppuhelper/source/factory.cxx deleted file mode 100644 index 74eb3e8a0..000000000 --- a/cppuhelper/source/factory.cxx +++ /dev/null @@ -1,1127 +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_cppuhelper.hxx" -#include <osl/diagnose.h> -#include <osl/mutex.hxx> -#include <cppuhelper/weak.hxx> -#include <cppuhelper/bootstrap.hxx> -#include <cppuhelper/component.hxx> -#include <cppuhelper/factory.hxx> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/shlib.hxx> -#include <cppuhelper/typeprovider.hxx> -#include <rtl/instance.hxx> -#include <rtl/unload.h> - -#include "cppuhelper/propshlp.hxx" - -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/XSingleServiceFactory.hpp> -#include <com/sun/star/lang/XSingleComponentFactory.hpp> -#include <com/sun/star/lang/XInitialization.hpp> -#include <com/sun/star/loader/XImplementationLoader.hpp> -#include <com/sun/star/lang/XComponent.hpp> -#include <com/sun/star/lang/IllegalArgumentException.hpp> -#include <com/sun/star/uno/XUnloadingPreference.hpp> -#include "com/sun/star/beans/PropertyAttribute.hpp" - -#include <memory> - -#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) - - -using namespace osl; -using namespace com::sun::star; -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; -using namespace com::sun::star::loader; -using namespace com::sun::star::registry; - -using ::rtl::OUString; - -namespace cppu -{ - -class OSingleFactoryHelper - : public XServiceInfo - , public XSingleServiceFactory - , public lang::XSingleComponentFactory - , public XUnloadingPreference -{ -public: - OSingleFactoryHelper( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName_, - ComponentInstantiation pCreateFunction_, - ComponentFactoryFunc fptr, - const Sequence< OUString > * pServiceNames_ ) - SAL_THROW( () ) - : xSMgr( rServiceManager ) - , pCreateFunction( pCreateFunction_ ) - , m_fptr( fptr ) - , aImplementationName( rImplementationName_ ) - { - if( pServiceNames_ ) - aServiceNames = *pServiceNames_; - } - - // old function, only for backward compatibility - OSingleFactoryHelper( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName_ ) - SAL_THROW( () ) - : xSMgr( rServiceManager ) - , pCreateFunction( NULL ) - , m_fptr( 0 ) - , aImplementationName( rImplementationName_ ) - {} - - virtual ~OSingleFactoryHelper(); - - // XInterface - Any SAL_CALL queryInterface( const Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - - // XSingleServiceFactory - Reference<XInterface > SAL_CALL createInstance() - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - virtual Reference<XInterface > SAL_CALL createInstanceWithArguments(const Sequence<Any>& Arguments) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - // XSingleComponentFactory - virtual Reference< XInterface > SAL_CALL createInstanceWithContext( - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException); - virtual Reference< XInterface > SAL_CALL createInstanceWithArgumentsAndContext( - Sequence< Any > const & rArguments, - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException); - - // XServiceInfo - OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - sal_Bool SAL_CALL supportsService(const OUString& ServiceName) - throw(::com::sun::star::uno::RuntimeException); - Sequence< OUString > SAL_CALL getSupportedServiceNames(void) - throw(::com::sun::star::uno::RuntimeException); - -protected: - /** - * Create an instance specified by the factory. The one instance logic is implemented - * in the createInstance and createInstanceWithArguments methods. - * @return the newly created instance. Do not return a previous (one instance) instance. - */ - virtual Reference<XInterface > createInstanceEveryTime( - Reference< XComponentContext > const & xContext ) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - - Reference<XMultiServiceFactory > xSMgr; - ComponentInstantiation pCreateFunction; - ComponentFactoryFunc m_fptr; - Sequence< OUString > aServiceNames; - OUString aImplementationName; -}; -OSingleFactoryHelper::~OSingleFactoryHelper() -{ -} - - -//----------------------------------------------------------------------------- -Any OSingleFactoryHelper::queryInterface( const Type & rType ) - throw(::com::sun::star::uno::RuntimeException) -{ - return ::cppu::queryInterface( - rType, - static_cast< XSingleComponentFactory * >( this ), - static_cast< XSingleServiceFactory * >( this ), - static_cast< XServiceInfo * >( this ) , - static_cast< XUnloadingPreference * >( this )); -} - -// OSingleFactoryHelper -Reference<XInterface > OSingleFactoryHelper::createInstanceEveryTime( - Reference< XComponentContext > const & xContext ) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - if (m_fptr) - { - return (*m_fptr)( xContext ); - } - else if( pCreateFunction ) - { - if (xContext.is()) - { - Reference< lang::XMultiServiceFactory > xContextMgr( - xContext->getServiceManager(), UNO_QUERY ); - if (xContextMgr.is()) - return (*pCreateFunction)( xContextMgr ); - } - return (*pCreateFunction)( xSMgr ); - } - else - { - return Reference< XInterface >(); - } -} - -// XSingleServiceFactory -Reference<XInterface > OSingleFactoryHelper::createInstance() - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - return createInstanceWithContext( Reference< XComponentContext >() ); -} - -// XSingleServiceFactory -Reference<XInterface > OSingleFactoryHelper::createInstanceWithArguments( - const Sequence<Any>& Arguments ) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - return createInstanceWithArgumentsAndContext( - Arguments, Reference< XComponentContext >() ); -} - -// XSingleComponentFactory -//__________________________________________________________________________________________________ -Reference< XInterface > OSingleFactoryHelper::createInstanceWithContext( - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException) -{ - return createInstanceEveryTime( xContext ); -} -//__________________________________________________________________________________________________ -Reference< XInterface > OSingleFactoryHelper::createInstanceWithArgumentsAndContext( - Sequence< Any > const & rArguments, - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException) -{ - Reference< XInterface > xRet( createInstanceWithContext( xContext ) ); - - Reference< lang::XInitialization > xInit( xRet, UNO_QUERY ); - // always call initialize, even if there are no arguments. - // #i63511# / 2006-03-27 / frank.schoenheit@sun.com - if (xInit.is()) - { - xInit->initialize( rArguments ); - } - else - { - if ( rArguments.getLength() ) - { - // dispose the here created UNO object before throwing out exception - // to avoid risk of memory leaks #i113722# - Reference<XComponent> xComp( xRet, UNO_QUERY ); - if (xComp.is()) - xComp->dispose(); - - throw lang::IllegalArgumentException( - OUString( RTL_CONSTASCII_USTRINGPARAM("cannot pass arguments to component => no XInitialization implemented!") ), - Reference< XInterface >(), 0 ); - } - } - - return xRet; -} - -// XServiceInfo -OUString OSingleFactoryHelper::getImplementationName() - throw(::com::sun::star::uno::RuntimeException) -{ - return aImplementationName; -} - -// XServiceInfo -sal_Bool OSingleFactoryHelper::supportsService( - const OUString& ServiceName ) - throw(::com::sun::star::uno::RuntimeException) -{ - Sequence< OUString > seqServices = getSupportedServiceNames(); - const OUString * pServices = seqServices.getConstArray(); - for( sal_Int32 i = 0; i < seqServices.getLength(); i++ ) - if( pServices[i] == ServiceName ) - return sal_True; - - return sal_False; -} - -// XServiceInfo -Sequence< OUString > OSingleFactoryHelper::getSupportedServiceNames(void) - throw(::com::sun::star::uno::RuntimeException) -{ - return aServiceNames; -} - -struct OFactoryComponentHelper_Mutex -{ - Mutex aMutex; -}; - -class OFactoryComponentHelper - : public OFactoryComponentHelper_Mutex - , public OComponentHelper - , public OSingleFactoryHelper -{ -public: - OFactoryComponentHelper( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName_, - ComponentInstantiation pCreateFunction_, - ComponentFactoryFunc fptr, - const Sequence< OUString > * pServiceNames_, - sal_Bool bOneInstance_ = sal_False ) - SAL_THROW( () ) - : OComponentHelper( aMutex ) - , OSingleFactoryHelper( rServiceManager, rImplementationName_, pCreateFunction_, fptr, pServiceNames_ ) - , bOneInstance( bOneInstance_ ) - , pModuleCount(0) - { - } - - // Used by the createXXXFactory functions. The argument pModCount is used to prevent the unloading of the module - // which contains pCreateFunction_ - OFactoryComponentHelper( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName_, - ComponentInstantiation pCreateFunction_, - ComponentFactoryFunc fptr, - const Sequence< OUString > * pServiceNames_, - rtl_ModuleCount * pModCount, - sal_Bool bOneInstance_ = sal_False ) - SAL_THROW( () ) - : OComponentHelper( aMutex ) - , OSingleFactoryHelper( rServiceManager, rImplementationName_, pCreateFunction_, fptr, pServiceNames_ ) - , bOneInstance( bOneInstance_ ) - , pModuleCount(pModCount) - { - if(pModuleCount) - pModuleCount->acquire( pModuleCount); - } - - // old function, only for backward compatibility - OFactoryComponentHelper( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName_, - sal_Bool bOneInstance_ = sal_False ) - SAL_THROW( () ) - : OComponentHelper( aMutex ) - , OSingleFactoryHelper( rServiceManager, rImplementationName_ ) - , bOneInstance( bOneInstance_ ) - , pModuleCount(0) - { - } - - ~OFactoryComponentHelper() - { - if(pModuleCount) - pModuleCount->release( pModuleCount); - } - - // XInterface - Any SAL_CALL queryInterface( const Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - void SAL_CALL acquire() throw() - { OComponentHelper::acquire(); } - void SAL_CALL release() throw() - { OComponentHelper::release(); } - - // XSingleServiceFactory - Reference<XInterface > SAL_CALL createInstance() - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - Reference<XInterface > SAL_CALL createInstanceWithArguments( const Sequence<Any>& Arguments ) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - // XSingleComponentFactory - virtual Reference< XInterface > SAL_CALL createInstanceWithContext( - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException); - virtual Reference< XInterface > SAL_CALL createInstanceWithArgumentsAndContext( - Sequence< Any > const & rArguments, - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException); - - // 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); - - // XAggregation - Any SAL_CALL queryAggregation( const Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - - // XUnloadingPreference - virtual sal_Bool SAL_CALL releaseOnNotification() - throw(::com::sun::star::uno::RuntimeException); - - // OComponentHelper - void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException); - -private: - Reference<XInterface > xTheInstance; - sal_Bool bOneInstance; - rtl_ModuleCount * pModuleCount; -protected: - // needed for implementing XUnloadingPreference in inheriting classes - sal_Bool isOneInstance() {return bOneInstance;} - sal_Bool isInstance() {return xTheInstance.is();} -}; - - -Any SAL_CALL OFactoryComponentHelper::queryInterface( const Type & rType ) - throw(::com::sun::star::uno::RuntimeException) -{ - if( rType == ::getCppuType( (Reference<XUnloadingPreference>*)0)) - { - return makeAny( - Reference< XUnloadingPreference >( - static_cast< XUnloadingPreference * >(this) ) ); - } - return OComponentHelper::queryInterface( rType ); -} - -// XAggregation -Any OFactoryComponentHelper::queryAggregation( const Type & rType ) - throw(::com::sun::star::uno::RuntimeException) -{ - Any aRet( OComponentHelper::queryAggregation( rType ) ); - return (aRet.hasValue() ? aRet : OSingleFactoryHelper::queryInterface( rType )); -} - -// XTypeProvider -Sequence< Type > OFactoryComponentHelper::getTypes() - throw (::com::sun::star::uno::RuntimeException) -{ - Type ar[ 4 ]; - ar[ 0 ] = ::getCppuType( (const Reference< XSingleServiceFactory > *)0 ); - ar[ 1 ] = ::getCppuType( (const Reference< XServiceInfo > *)0 ); - ar[ 2 ] = ::getCppuType( (const Reference< XUnloadingPreference > *)0 ); - - if (m_fptr) - ar[ 3 ] = ::getCppuType( (const Reference< XSingleComponentFactory > *)0 ); - - return Sequence< Type >( ar, m_fptr ? 4 : 3 ); -} - -namespace -{ - class theOFactoryComponentHelperImplementationId : - public rtl::Static<OImplementationId, theOFactoryComponentHelperImplementationId>{}; -} - -Sequence< sal_Int8 > OFactoryComponentHelper::getImplementationId() - throw (::com::sun::star::uno::RuntimeException) -{ - return theOFactoryComponentHelperImplementationId::get().getImplementationId(); -} - -// XSingleServiceFactory -Reference<XInterface > OFactoryComponentHelper::createInstance() - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - if( bOneInstance ) - { - if( !xTheInstance.is() ) - { - MutexGuard aGuard( aMutex ); - if( !xTheInstance.is() ) - xTheInstance = OSingleFactoryHelper::createInstance(); - } - return xTheInstance; - } - return OSingleFactoryHelper::createInstance(); -} - -Reference<XInterface > OFactoryComponentHelper::createInstanceWithArguments( - const Sequence<Any>& Arguments ) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - if( bOneInstance ) - { - if( !xTheInstance.is() ) - { - MutexGuard aGuard( aMutex ); -// OSL_ENSURE( !xTheInstance.is(), "### arguments will be ignored!" ); - if( !xTheInstance.is() ) - xTheInstance = OSingleFactoryHelper::createInstanceWithArguments( Arguments ); - } - return xTheInstance; - } - return OSingleFactoryHelper::createInstanceWithArguments( Arguments ); -} - -// XSingleComponentFactory -//__________________________________________________________________________________________________ -Reference< XInterface > OFactoryComponentHelper::createInstanceWithContext( - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException) -{ - if( bOneInstance ) - { - if( !xTheInstance.is() ) - { - MutexGuard aGuard( aMutex ); -// OSL_ENSURE( !xTheInstance.is(), "### context will be ignored!" ); - if( !xTheInstance.is() ) - xTheInstance = OSingleFactoryHelper::createInstanceWithContext( xContext ); - } - return xTheInstance; - } - return OSingleFactoryHelper::createInstanceWithContext( xContext ); -} -//__________________________________________________________________________________________________ -Reference< XInterface > OFactoryComponentHelper::createInstanceWithArgumentsAndContext( - Sequence< Any > const & rArguments, - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException) -{ - if( bOneInstance ) - { - if( !xTheInstance.is() ) - { - MutexGuard aGuard( aMutex ); -// OSL_ENSURE( !xTheInstance.is(), "### context and arguments will be ignored!" ); - if( !xTheInstance.is() ) - xTheInstance = OSingleFactoryHelper::createInstanceWithArgumentsAndContext( rArguments, xContext ); - } - return xTheInstance; - } - return OSingleFactoryHelper::createInstanceWithArgumentsAndContext( rArguments, xContext ); -} - - -// OComponentHelper -void OFactoryComponentHelper::dispose() - throw(::com::sun::star::uno::RuntimeException) -{ - OComponentHelper::dispose(); - - Reference<XInterface > x; - { - // do not delete in the guard section - MutexGuard aGuard( aMutex ); - x = xTheInstance; - xTheInstance = Reference<XInterface >(); - } - // if it is a component call dispose at the component - Reference<XComponent > xComp( x, UNO_QUERY ); - if( xComp.is() ) - xComp->dispose(); -} - -// XUnloadingPreference -// This class is used for single factories, component factories and -// one-instance factories. Depending on the usage this function has -// to return different values. -// one-instance factory: sal_False -// single factory: sal_True -// component factory: sal_True -sal_Bool SAL_CALL OFactoryComponentHelper::releaseOnNotification() throw(::com::sun::star::uno::RuntimeException) -{ - if( bOneInstance) - return sal_False; - return sal_True; -} - -class ORegistryFactoryHelper : public OFactoryComponentHelper, - public OPropertySetHelper - -{ -public: - ORegistryFactoryHelper( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName_, - const Reference<XRegistryKey > & xImplementationKey_, - sal_Bool bOneInstance_ = sal_False ) SAL_THROW( () ) - : OFactoryComponentHelper( - rServiceManager, rImplementationName_, 0, 0, 0, bOneInstance_ ), - OPropertySetHelper( OComponentHelper::rBHelper ), - xImplementationKey( xImplementationKey_ ) - {} - - // XInterface - virtual Any SAL_CALL queryInterface( Type const & type ) - throw (RuntimeException); - virtual void SAL_CALL acquire() throw (); - virtual void SAL_CALL release() throw (); - // XTypeProvider - virtual Sequence< Type > SAL_CALL getTypes() - throw (RuntimeException); - // XPropertySet - virtual Reference< beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() - throw (RuntimeException); - - // OPropertySetHelper - virtual IPropertyArrayHelper & SAL_CALL getInfoHelper(); - virtual sal_Bool SAL_CALL convertFastPropertyValue( - Any & rConvertedValue, Any & rOldValue, - sal_Int32 nHandle, Any const & rValue ) - throw (lang::IllegalArgumentException); - virtual void SAL_CALL setFastPropertyValue_NoBroadcast( - sal_Int32 nHandle, Any const & rValue ) - throw (Exception); - using OPropertySetHelper::getFastPropertyValue; - virtual void SAL_CALL getFastPropertyValue( - Any & rValue, sal_Int32 nHandle ) const; - - // OSingleFactoryHelper - Reference<XInterface > createInstanceEveryTime( - Reference< XComponentContext > const & xContext ) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - - // XSingleServiceFactory - Reference<XInterface > SAL_CALL createInstanceWithArguments(const Sequence<Any>& Arguments) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - // XSingleComponentFactory - Reference< XInterface > SAL_CALL createInstanceWithArgumentsAndContext( - Sequence< Any > const & rArguments, - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException); - - // XServiceInfo - Sequence< OUString > SAL_CALL getSupportedServiceNames(void) - throw(::com::sun::star::uno::RuntimeException); - // XUnloadingPreference - sal_Bool SAL_CALL releaseOnNotification() - throw( RuntimeException); - - -private: - Reference< XInterface > createModuleFactory() - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - - /** The registry key of the implementation section */ - Reference<XRegistryKey > xImplementationKey; - /** The factory created with the loader. */ - Reference<XSingleComponentFactory > xModuleFactory; - Reference<XSingleServiceFactory > xModuleFactoryDepr; - Reference< beans::XPropertySetInfo > m_xInfo; - ::std::auto_ptr< IPropertyArrayHelper > m_property_array_helper; -protected: - using OPropertySetHelper::getTypes; -}; - -// XInterface -//______________________________________________________________________________ -Any SAL_CALL ORegistryFactoryHelper::queryInterface( - Type const & type ) throw (RuntimeException) -{ - Any ret( OFactoryComponentHelper::queryInterface( type ) ); - if (ret.hasValue()) - return ret; - else - return OPropertySetHelper::queryInterface( type ); -} - -//______________________________________________________________________________ -void ORegistryFactoryHelper::acquire() throw () -{ - OFactoryComponentHelper::acquire(); -} - -//______________________________________________________________________________ -void ORegistryFactoryHelper::release() throw () -{ - OFactoryComponentHelper::release(); -} - -// XTypeProvider -//______________________________________________________________________________ -Sequence< Type > ORegistryFactoryHelper::getTypes() throw (RuntimeException) -{ - Sequence< Type > types( OFactoryComponentHelper::getTypes() ); - sal_Int32 pos = types.getLength(); - types.realloc( pos + 3 ); - Type * p = types.getArray(); - p[ pos++ ] = ::getCppuType( - reinterpret_cast< Reference< beans::XMultiPropertySet > const * >(0) ); - p[ pos++ ] = ::getCppuType( - reinterpret_cast< Reference< beans::XFastPropertySet > const * >(0) ); - p[ pos++ ] = ::getCppuType( - reinterpret_cast< Reference< beans::XPropertySet > const * >(0) ); - return types; -} - -// XPropertySet -//______________________________________________________________________________ -Reference< beans::XPropertySetInfo > -ORegistryFactoryHelper::getPropertySetInfo() throw (RuntimeException) -{ - ::osl::MutexGuard guard( aMutex ); - if (! m_xInfo.is()) - m_xInfo = createPropertySetInfo( getInfoHelper() ); - return m_xInfo; -} - -// OPropertySetHelper -//______________________________________________________________________________ -IPropertyArrayHelper & ORegistryFactoryHelper::getInfoHelper() -{ - ::osl::MutexGuard guard( aMutex ); - if (m_property_array_helper.get() == 0) - { - beans::Property prop( - OUSTR("ImplementationKey") /* name */, - 0 /* handle */, - ::getCppuType( &xImplementationKey ), - beans::PropertyAttribute::READONLY | - beans::PropertyAttribute::OPTIONAL ); - m_property_array_helper.reset( - new ::cppu::OPropertyArrayHelper( &prop, 1 ) ); - } - return *m_property_array_helper.get(); -} - -//______________________________________________________________________________ -sal_Bool ORegistryFactoryHelper::convertFastPropertyValue( - Any &, Any &, sal_Int32, Any const & ) - throw (lang::IllegalArgumentException) -{ - OSL_FAIL( "unexpected!" ); - return false; -} - -//______________________________________________________________________________ -void ORegistryFactoryHelper::setFastPropertyValue_NoBroadcast( - sal_Int32, Any const & ) - throw (Exception) -{ - throw beans::PropertyVetoException( - OUSTR("unexpected: only readonly properties!"), - static_cast< OWeakObject * >(this) ); -} - -//______________________________________________________________________________ -void ORegistryFactoryHelper::getFastPropertyValue( - Any & rValue, sal_Int32 nHandle ) const -{ - if (nHandle == 0) - { - rValue <<= xImplementationKey; - } - else - { - rValue.clear(); - throw beans::UnknownPropertyException( - OUSTR("unknown property!"), static_cast< OWeakObject * >( - const_cast< ORegistryFactoryHelper * >(this) ) ); - } -} - -Reference<XInterface > ORegistryFactoryHelper::createInstanceEveryTime( - Reference< XComponentContext > const & xContext ) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - if( !xModuleFactory.is() && !xModuleFactoryDepr.is() ) - { - Reference< XInterface > x( createModuleFactory() ); - if (x.is()) - { - MutexGuard aGuard( aMutex ); - if( !xModuleFactory.is() && !xModuleFactoryDepr.is() ) - { - xModuleFactory.set( x, UNO_QUERY ); - xModuleFactoryDepr.set( x, UNO_QUERY ); - } - } - } - if( xModuleFactory.is() ) - { - return xModuleFactory->createInstanceWithContext( xContext ); - } - else if( xModuleFactoryDepr.is() ) - { - return xModuleFactoryDepr->createInstance(); - } - - return Reference<XInterface >(); -} - -Reference<XInterface > SAL_CALL ORegistryFactoryHelper::createInstanceWithArguments( - const Sequence<Any>& Arguments ) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - if( !xModuleFactory.is() && !xModuleFactoryDepr.is() ) - { - Reference< XInterface > x( createModuleFactory() ); - if (x.is()) - { - MutexGuard aGuard( aMutex ); - if( !xModuleFactory.is() && !xModuleFactoryDepr.is() ) - { - xModuleFactory.set( x, UNO_QUERY ); - xModuleFactoryDepr.set( x, UNO_QUERY ); - } - } - } - if( xModuleFactoryDepr.is() ) - { - return xModuleFactoryDepr->createInstanceWithArguments( Arguments ); - } - else if( xModuleFactory.is() ) - { -#if OSL_DEBUG_LEVEL > 1 - OSL_TRACE( "### no context ORegistryFactoryHelper::createInstanceWithArgumentsAndContext()!\n" ); -#endif - return xModuleFactory->createInstanceWithArgumentsAndContext( Arguments, Reference< XComponentContext >() ); - } - - return Reference<XInterface >(); -} - -Reference< XInterface > ORegistryFactoryHelper::createInstanceWithArgumentsAndContext( - Sequence< Any > const & rArguments, - Reference< XComponentContext > const & xContext ) - throw (Exception, RuntimeException) -{ - if( !xModuleFactory.is() && !xModuleFactoryDepr.is() ) - { - Reference< XInterface > x( createModuleFactory() ); - if (x.is()) - { - MutexGuard aGuard( aMutex ); - if( !xModuleFactory.is() && !xModuleFactoryDepr.is() ) - { - xModuleFactory.set( x, UNO_QUERY ); - xModuleFactoryDepr.set( x, UNO_QUERY ); - } - } - } - if( xModuleFactory.is() ) - { - return xModuleFactory->createInstanceWithArgumentsAndContext( rArguments, xContext ); - } - else if( xModuleFactoryDepr.is() ) - { -#if OSL_DEBUG_LEVEL > 1 - if (xContext.is()) - { - OSL_TRACE( "### ignoring context calling ORegistryFactoryHelper::createInstanceWithArgumentsAndContext()!\n" ); - } -#endif - return xModuleFactoryDepr->createInstanceWithArguments( rArguments ); - } - - return Reference<XInterface >(); -} - - -// OSingleFactoryHelper -Reference< XInterface > ORegistryFactoryHelper::createModuleFactory() - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - OUString aActivatorUrl; - OUString aActivatorName; - OUString aLocation; - - Reference<XRegistryKey > xActivatorKey = xImplementationKey->openKey( - OUString( RTL_CONSTASCII_USTRINGPARAM("/UNO/ACTIVATOR") ) ); - if( xActivatorKey.is() && xActivatorKey->getValueType() == RegistryValueType_ASCII ) - { - aActivatorUrl = xActivatorKey->getAsciiValue(); - - OUString tmpActivator(aActivatorUrl.getStr()); - sal_Int32 nIndex = 0; - aActivatorName = tmpActivator.getToken(0, ':', nIndex ); - - Reference<XRegistryKey > xLocationKey = xImplementationKey->openKey( - OUString( RTL_CONSTASCII_USTRINGPARAM("/UNO/LOCATION") ) ); - if( xLocationKey.is() && xLocationKey->getValueType() == RegistryValueType_ASCII ) - aLocation = xLocationKey->getAsciiValue(); - } - else - { - // old style"url" - // the location of the program code of the implementation - Reference<XRegistryKey > xLocationKey = xImplementationKey->openKey( - OUString( RTL_CONSTASCII_USTRINGPARAM("/UNO/URL") ) ); - // is the the key of the right type ? - if( xLocationKey.is() && xLocationKey->getValueType() == RegistryValueType_ASCII ) - { - // one implementation found -> try to activate - aLocation = xLocationKey->getAsciiValue(); - - // search protocol delimiter - sal_Int32 nPos = aLocation.indexOf( - OUString( RTL_CONSTASCII_USTRINGPARAM("://") ) ); - if( nPos != -1 ) - { - aActivatorName = aLocation.copy( 0, nPos ); - if( aActivatorName.compareToAscii( "java" ) == 0 ) - aActivatorName = OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.loader.Java") ); - else if( aActivatorName.compareToAscii( "module" ) == 0 ) - aActivatorName = OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.loader.SharedLibrary") ); - aLocation = aLocation.copy( nPos + 3 ); - } - } - } - - Reference< XInterface > xFactory; - if( aActivatorName.getLength() != 0 ) - { - Reference<XInterface > x = xSMgr->createInstance( aActivatorName ); - Reference<XImplementationLoader > xLoader( x, UNO_QUERY ); - Reference<XInterface > xMF; - if (xLoader.is()) - { - xFactory = xLoader->activate( aImplementationName, aActivatorUrl, aLocation, xImplementationKey ); - } - } - return xFactory; -} - -// XServiceInfo -Sequence< OUString > ORegistryFactoryHelper::getSupportedServiceNames(void) - throw(::com::sun::star::uno::RuntimeException) -{ - MutexGuard aGuard( aMutex ); - if( aServiceNames.getLength() == 0 ) - { - // not yet loaded - try - { - Reference<XRegistryKey > xKey = xImplementationKey->openKey( - OUString( RTL_CONSTASCII_USTRINGPARAM("UNO/SERVICES") ) ); - - if (xKey.is()) - { - // length of prefix. +1 for the '/' at the end - sal_Int32 nPrefixLen = xKey->getKeyName().getLength() + 1; - - // Full qualified names like "IMPLEMENTATIONS/TEST/UNO/SERVICES/com.sun.star..." - Sequence<OUString> seqKeys = xKey->getKeyNames(); - OUString* pKeys = seqKeys.getArray(); - for( sal_Int32 i = 0; i < seqKeys.getLength(); i++ ) - pKeys[i] = pKeys[i].copy(nPrefixLen); - - aServiceNames = seqKeys; - } - } - catch (InvalidRegistryException &) - { - } - } - return aServiceNames; -} - -sal_Bool SAL_CALL ORegistryFactoryHelper::releaseOnNotification() throw(::com::sun::star::uno::RuntimeException) -{ - sal_Bool retVal= sal_True; - if( isOneInstance() && isInstance()) - { - retVal= sal_False; - } - else if( ! isOneInstance()) - { - // try to delegate - if( xModuleFactory.is()) - { - Reference<XUnloadingPreference> xunloading( xModuleFactory, UNO_QUERY); - if( xunloading.is()) - retVal= xunloading->releaseOnNotification(); - } - else if( xModuleFactoryDepr.is()) - { - Reference<XUnloadingPreference> xunloading( xModuleFactoryDepr, UNO_QUERY); - if( xunloading.is()) - retVal= xunloading->releaseOnNotification(); - } - } - return retVal; -} - -class OFactoryProxyHelper : public WeakImplHelper3< XServiceInfo, XSingleServiceFactory, - XUnloadingPreference > -{ - Reference<XSingleServiceFactory > xFactory; - -public: - - OFactoryProxyHelper( - const Reference<XMultiServiceFactory > & /*rServiceManager*/, - const Reference<XSingleServiceFactory > & rFactory ) - SAL_THROW( () ) - : xFactory( rFactory ) - {} - - // XSingleServiceFactory - Reference<XInterface > SAL_CALL createInstance() - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - Reference<XInterface > SAL_CALL createInstanceWithArguments(const Sequence<Any>& Arguments) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException); - - // XServiceInfo - OUString SAL_CALL getImplementationName() - throw(::com::sun::star::uno::RuntimeException); - sal_Bool SAL_CALL supportsService(const OUString& ServiceName) - throw(::com::sun::star::uno::RuntimeException); - Sequence< OUString > SAL_CALL getSupportedServiceNames(void) - throw(::com::sun::star::uno::RuntimeException); - //XUnloadingPreference - sal_Bool SAL_CALL releaseOnNotification() - throw(::com::sun::star::uno::RuntimeException); - -}; - -// XSingleServiceFactory -Reference<XInterface > OFactoryProxyHelper::createInstance() - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - return xFactory->createInstance(); -} - -// XSingleServiceFactory -Reference<XInterface > OFactoryProxyHelper::createInstanceWithArguments -( - const Sequence<Any>& Arguments -) - throw(::com::sun::star::uno::Exception, ::com::sun::star::uno::RuntimeException) -{ - return xFactory->createInstanceWithArguments( Arguments ); -} - -// XServiceInfo -OUString OFactoryProxyHelper::getImplementationName() - throw(::com::sun::star::uno::RuntimeException) -{ - Reference<XServiceInfo > xInfo( xFactory, UNO_QUERY ); - if( xInfo.is() ) - return xInfo->getImplementationName(); - return OUString(); -} - -// XServiceInfo -sal_Bool OFactoryProxyHelper::supportsService(const OUString& ServiceName) - throw(::com::sun::star::uno::RuntimeException) -{ - Reference<XServiceInfo > xInfo( xFactory, UNO_QUERY ); - if( xInfo.is() ) - return xInfo->supportsService( ServiceName ); - return sal_False; -} - -// XServiceInfo -Sequence< OUString > OFactoryProxyHelper::getSupportedServiceNames(void) - throw(::com::sun::star::uno::RuntimeException) -{ - Reference<XServiceInfo > xInfo( xFactory, UNO_QUERY ); - if( xInfo.is() ) - return xInfo->getSupportedServiceNames(); - return Sequence< OUString >(); -} - -sal_Bool SAL_CALL OFactoryProxyHelper::releaseOnNotification() throw(::com::sun::star::uno::RuntimeException) -{ - - Reference<XUnloadingPreference> pref( xFactory, UNO_QUERY); - if( pref.is()) - return pref->releaseOnNotification(); - return sal_True; -} - -// global function -Reference<XSingleServiceFactory > SAL_CALL createSingleFactory( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName, - ComponentInstantiation pCreateFunction, - const Sequence< OUString > & rServiceNames, - rtl_ModuleCount *pModCount ) - SAL_THROW( () ) -{ - return new OFactoryComponentHelper( - rServiceManager, rImplementationName, pCreateFunction, 0, &rServiceNames, pModCount, sal_False ); -} - -// global function -Reference<XSingleServiceFactory > SAL_CALL createFactoryProxy( - const Reference<XMultiServiceFactory > & rServiceManager, - const Reference<XSingleServiceFactory > & rFactory ) - SAL_THROW( () ) -{ - return new OFactoryProxyHelper( - rServiceManager, rFactory ); -} - -// global function -Reference<XSingleServiceFactory > SAL_CALL createOneInstanceFactory( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName, - ComponentInstantiation pCreateFunction, - const Sequence< OUString > & rServiceNames, - rtl_ModuleCount *pModCount ) - SAL_THROW( () ) -{ - return new OFactoryComponentHelper( - rServiceManager, rImplementationName, pCreateFunction, 0, &rServiceNames, pModCount, sal_True ); -} - -// global function -Reference<XSingleServiceFactory > SAL_CALL createSingleRegistryFactory( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName, - const Reference<XRegistryKey > & rImplementationKey ) - SAL_THROW( () ) -{ - return new ORegistryFactoryHelper( - rServiceManager, rImplementationName, rImplementationKey, sal_False ); -} - -// global function -Reference<XSingleServiceFactory > SAL_CALL createOneInstanceRegistryFactory( - const Reference<XMultiServiceFactory > & rServiceManager, - const OUString & rImplementationName, - const Reference<XRegistryKey > & rImplementationKey ) - SAL_THROW( () ) -{ - return new ORegistryFactoryHelper( - rServiceManager, rImplementationName, rImplementationKey, sal_True ); -} - -//################################################################################################## -Reference< lang::XSingleComponentFactory > SAL_CALL createSingleComponentFactory( - ComponentFactoryFunc fptr, - OUString const & rImplementationName, - Sequence< OUString > const & rServiceNames, - rtl_ModuleCount * pModCount) - SAL_THROW( () ) -{ - return new OFactoryComponentHelper( - Reference< XMultiServiceFactory >(), rImplementationName, 0, fptr, &rServiceNames, pModCount, sal_False ); -} - -Reference< lang::XSingleComponentFactory > SAL_CALL createOneInstanceComponentFactory( - ComponentFactoryFunc fptr, - OUString const & rImplementationName, - Sequence< OUString > const & rServiceNames, - rtl_ModuleCount * pModCount) - SAL_THROW( () ) -{ - return new OFactoryComponentHelper( - Reference< XMultiServiceFactory >(), rImplementationName, 0, fptr, &rServiceNames, pModCount, sal_True ); -} - -} - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/findsofficepath.c b/cppuhelper/source/findsofficepath.c deleted file mode 100644 index 202e8c998..000000000 --- a/cppuhelper/source/findsofficepath.c +++ /dev/null @@ -1,206 +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. - * - ************************************************************************/ - -#include "precompiled_cppuhelper.hxx" -#include "sal/config.h" - -#include <stdlib.h> -#include <string.h> - -#if defined WNT - -#define WIN32_LEAN_AND_MEAN -#include <windows.h> - -/* - * Gets the installation path from the Windows Registry for the specified - * registry key. - * - * @param hroot open handle to predefined root registry key - * @param subKeyName name of the subkey to open - * - * @return the installation path or NULL, if no installation was found or - * if an error occurred - */ -static char* getPathFromRegistryKey( HKEY hroot, const char* subKeyName ) -{ - HKEY hkey; - DWORD type; - char* data = NULL; - DWORD size; - - /* open the specified registry key */ - if ( RegOpenKeyEx( hroot, subKeyName, 0, KEY_READ, &hkey ) != ERROR_SUCCESS ) - { - return NULL; - } - - /* find the type and size of the default value */ - if ( RegQueryValueEx( hkey, NULL, NULL, &type, NULL, &size) != ERROR_SUCCESS ) - { - RegCloseKey( hkey ); - return NULL; - } - - /* get memory to hold the default value */ - data = (char*) malloc( size ); - - /* read the default value */ - if ( RegQueryValueEx( hkey, NULL, NULL, &type, (LPBYTE) data, &size ) != ERROR_SUCCESS ) - { - RegCloseKey( hkey ); - return NULL; - } - - /* release registry key handle */ - RegCloseKey( hkey ); - - return data; -} - -/* - * Gets the installation path from the Windows Registry. - * - * @return the installation path or NULL, if no installation was found or - * if an error occurred - */ -static char* platformSpecific() -{ - const char* SUBKEYNAME = "Software\\LibreOffice\\UNO\\InstallPath"; - - char* path = NULL; - - /* read the key's default value from HKEY_CURRENT_USER */ - path = getPathFromRegistryKey( HKEY_CURRENT_USER, SUBKEYNAME ); - - if ( path == NULL ) - { - /* read the key's default value from HKEY_LOCAL_MACHINE */ - path = getPathFromRegistryKey( HKEY_LOCAL_MACHINE, SUBKEYNAME ); - } - - return path; -} - -#else - -#include <unistd.h> -#include <limits.h> - -/* - * Gets the installation path from the PATH environment variable. - * - * <p>An installation is found, if the executable 'soffice' or a symbolic link - * is in one of the directories listed in the PATH environment variable.</p> - * - * @return the installation path or NULL, if no installation was found or - * if an error occurred - */ -static char* platformSpecific() -{ - const int SEPARATOR = '/'; - const char* PATHSEPARATOR = ":"; - const char* PATHVARNAME = "PATH"; - const char* APPENDIX = "/libreoffice"; - - char* path = NULL; - char* env = NULL; - char* str = NULL; - char* dir = NULL; - char* file = NULL; - char* resolved = NULL; - char* sep = NULL; - - char buffer[PATH_MAX]; - int pos; - - /* get the value of the PATH environment variable */ - env = getenv( PATHVARNAME ); - str = (char*) malloc( strlen( env ) + 1 ); - strcpy( str, env ); - - /* get the tokens separated by ':' */ - dir = strtok( str, PATHSEPARATOR ); - - while ( dir ) - { - /* construct soffice file path */ - file = (char*) malloc( strlen( dir ) + strlen( APPENDIX ) + 1 ); - strcpy( file, dir ); - strcat( file, APPENDIX ); - - /* check existence of soffice file */ - if ( !access( file, F_OK ) ) - { - /* resolve symbolic link */ - resolved = realpath( file, buffer ); - - if ( resolved != NULL ) - { - /* get path to program directory */ - sep = strrchr( resolved, SEPARATOR ); - - if ( sep != NULL ) - { - pos = sep - resolved; - path = (char*) malloc( pos + 1 ); - strncpy( path, resolved, pos ); - path[ pos ] = '\0'; - free( file ); - break; - } - } - } - - dir = strtok( NULL, PATHSEPARATOR ); - free( file ); - } - - free( str ); - - return path; -} - -#endif - -char const* cppuhelper_detail_findSofficePath() -{ - const char* UNOPATHVARNAME = "UNO_PATH"; - - char* path = NULL; - - /* get the installation path from the UNO_PATH environment variable */ - path = getenv( UNOPATHVARNAME ); - - if (!path || !path[0]) - path = platformSpecific(); - - return path; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/gcc3.map b/cppuhelper/source/gcc3.map deleted file mode 100644 index 47983baa3..000000000 --- a/cppuhelper/source/gcc3.map +++ /dev/null @@ -1,391 +0,0 @@ -UDK_3_0_0 { - global: -GetVersionInfo; -_ZN3com3sun4star3uno19WeakReferenceHelperC1ERKNS2_9ReferenceINS2_10XInterfaceEEE; -_ZN3com3sun4star3uno19WeakReferenceHelperC1ERKS3_; -_ZN3com3sun4star3uno19WeakReferenceHelperC2ERKNS2_9ReferenceINS2_10XInterfaceEEE; -_ZN3com3sun4star3uno19WeakReferenceHelperC2ERKS3_; -_ZN3com3sun4star3uno19WeakReferenceHelperaSERKS3_; -_ZN3com3sun4star3uno19WeakReferenceHelperD1Ev; -_ZN3com3sun4star3uno19WeakReferenceHelperD2Ev; -_ZN4cppu11OWeakObject12queryAdapterEv; -_ZN4cppu11OWeakObject14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZN4cppu11OWeakObject7acquireEv; -_ZN4cppu11OWeakObject7releaseEv; -_ZN4cppu11OWeakObjectD0Ev; -_ZN4cppu11OWeakObjectD1Ev; -_ZN4cppu11OWeakObjectD2Ev; -_ZN4cppu13ClassDataBaseC1E?; -_ZN4cppu13ClassDataBaseC1Ev; -_ZN4cppu13ClassDataBaseC2E?; -_ZN4cppu13ClassDataBaseC2Ev; -_ZN4cppu13ClassDataBaseD1Ev; -_ZN4cppu13ClassDataBaseD2Ev; -_ZN4cppu14OWeakAggObject12setDelegatorERKN3com3sun4star3uno9ReferenceINS4_10XInterfaceEEE; -_ZN4cppu14OWeakAggObject14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZN4cppu14OWeakAggObject16queryAggregationERKN3com3sun4star3uno4TypeE; -_ZN4cppu14OWeakAggObject7acquireEv; -_ZN4cppu14OWeakAggObject7releaseEv; -_ZN4cppu14OWeakAggObjectD0Ev; -_ZN4cppu14OWeakAggObjectD1Ev; -_ZN4cppu14OWeakAggObjectD2Ev; -_ZN4cppu14throwExceptionERKN3com3sun4star3uno3AnyE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeERKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC1ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeERKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu15OTypeCollectionC2ERKN3com3sun4star3uno4TypeES7_S7_S7_S7_S7_S7_S7_S7_S7_S7_S7_RKNS4_8SequenceIS5_EE; -_ZN4cppu16ImplHelper_queryERKN3com3sun4star3uno4TypeEPNS_10class_dataEPv; -_ZN4cppu16OComponentHelper14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZN4cppu16OComponentHelper16addEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZN4cppu16OComponentHelper16queryAggregationERKN3com3sun4star3uno4TypeE; -_ZN4cppu16OComponentHelper19removeEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZN4cppu16OComponentHelper7acquireEv; -_ZN4cppu16OComponentHelper7disposeEv; -_ZN4cppu16OComponentHelper7releaseEv; -_ZN4cppu16OComponentHelper8getTypesEv; -_ZN4cppu16OComponentHelper9disposingEv; -_ZN4cppu16OComponentHelperC1ERN3osl5MutexE; -_ZN4cppu16OComponentHelperC2ERN3osl5MutexE; -_ZN4cppu16OComponentHelperD0Ev; -_ZN4cppu16OComponentHelperD1Ev; -_ZN4cppu16OComponentHelperD2Ev; -_ZN4cppu17OImplementationIdD1Ev; -_ZN4cppu17OImplementationIdD2Ev; -_ZN4cppu18OPropertySetHelper14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZN4cppu18OPropertySetHelper16getPropertyValueERKN3rtl8OUStringE; -_ZN4cppu18OPropertySetHelper16setPropertyValueERKN3rtl8OUStringERKN3com3sun4star3uno3AnyE; -_ZN4cppu18OPropertySetHelper17getPropertyValuesERKN3com3sun4star3uno8SequenceIN3rtl8OUStringEEE; -_ZN4cppu18OPropertySetHelper17setPropertyValuesERKN3com3sun4star3uno8SequenceIN3rtl8OUStringEEERKNS5_INS4_3AnyEEE; -_ZN4cppu18OPropertySetHelper20getFastPropertyValueE?; -_ZN4cppu18OPropertySetHelper20setFastPropertyValueE?RKN3com3sun4star3uno3AnyE; -_ZN4cppu18OPropertySetHelper21createPropertySetInfoERNS_20IPropertyArrayHelperE; -_ZN4cppu18OPropertySetHelper21setFastPropertyValuesE?P?PKN3com3sun4star3uno3AnyE?; -_ZN4cppu18OPropertySetHelper25addPropertyChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XPropertyChangeListenerEEE; -_ZN4cppu18OPropertySetHelper25addVetoableChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XVetoableChangeListenerEEE; -_ZN4cppu18OPropertySetHelper25firePropertiesChangeEventERKN3com3sun4star3uno8SequenceIN3rtl8OUStringEEERKNS4_9ReferenceINS3_5beans25XPropertiesChangeListenerEEE; -_ZN4cppu18OPropertySetHelper27addPropertiesChangeListenerERKN3com3sun4star3uno8SequenceIN3rtl8OUStringEEERKNS4_9ReferenceINS3_5beans25XPropertiesChangeListenerEEE; -_ZN4cppu18OPropertySetHelper28removePropertyChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XPropertyChangeListenerEEE; -_ZN4cppu18OPropertySetHelper28removeVetoableChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XVetoableChangeListenerEEE; -_ZN4cppu18OPropertySetHelper30removePropertiesChangeListenerERKN3com3sun4star3uno9ReferenceINS3_5beans25XPropertiesChangeListenerEEE; -_ZN4cppu18OPropertySetHelper4fireEP?PKN3com3sun4star3uno3AnyES8_?h; -_ZN4cppu18OPropertySetHelper9disposingEv; -_ZN4cppu18OPropertySetHelperC1ERNS_19OBroadcastHelperVarINS_34OMultiTypeInterfaceContainerHelperEN3com3sun4star3uno4TypeEEE; -_ZN4cppu18OPropertySetHelperC2ERNS_19OBroadcastHelperVarINS_34OMultiTypeInterfaceContainerHelperEN3com3sun4star3uno4TypeEEE; -_ZN4cppu18OPropertySetHelperD1Ev; -_ZN4cppu18OPropertySetHelperD2Ev; -_ZN4cppu18bootstrapInitialSFERKN3rtl8OUStringE; -_ZN4cppu18createFactoryProxyERKN3com3sun4star3uno9ReferenceINS2_4lang20XMultiServiceFactoryEEERKNS4_INS5_21XSingleServiceFactoryEEE; -_ZN4cppu19ImplHelper_getTypesEPNS_10class_dataE; -_ZN4cppu19createSingleFactoryERKN3com3sun4star3uno9ReferenceINS2_4lang20XMultiServiceFactoryEEERKN3rtl8OUStringEPFNS4_INS3_10XInterfaceEEES9_ERKNS3_8SequenceISB_EEP16_rtl_ModuleCount; -_ZN4cppu20IPropertyArrayHelperD0Ev; -_ZN4cppu20IPropertyArrayHelperD1Ev; -_ZN4cppu20IPropertyArrayHelperD2Ev; -_ZN4cppu20OPropertyArrayHelper11fillHandlesEP?RKN3com3sun4star3uno8SequenceIN3rtl8OUStringEEE; -_ZN4cppu20OPropertyArrayHelper13getPropertiesEv; -_ZN4cppu20OPropertyArrayHelper15getHandleByNameERKN3rtl8OUStringE; -_ZN4cppu20OPropertyArrayHelper17getPropertyByNameERKN3rtl8OUStringE; -_ZN4cppu20OPropertyArrayHelper17hasPropertyByNameERKN3rtl8OUStringE; -_ZN4cppu20OPropertyArrayHelper27fillPropertyMembersByHandleEPN3rtl8OUStringEPs?; -_ZN4cppu20OPropertyArrayHelper4initEh; -_ZN4cppu20OPropertyArrayHelperC1EPN3com3sun4star5beans8PropertyE?h; -_ZN4cppu20OPropertyArrayHelperC1ERKN3com3sun4star3uno8SequenceINS3_5beans8PropertyEEEh; -_ZN4cppu20OPropertyArrayHelperC2EPN3com3sun4star5beans8PropertyE?h; -_ZN4cppu20OPropertyArrayHelperC2ERKN3com3sun4star3uno8SequenceINS3_5beans8PropertyEEEh; -_ZN4cppu20WeakImplHelper_queryERKN3com3sun4star3uno4TypeEPNS_10class_dataEPvPNS_11OWeakObjectE; -_ZN4cppu20createNestedRegistryERKN3rtl8OUStringE; -_ZN4cppu20createSimpleRegistryERKN3rtl8OUStringE; -_ZN4cppu22ImplInhHelper_getTypesEPNS_10class_dataERKN3com3sun4star3uno8SequenceINS5_4TypeEEE; -_ZN4cppu22createComponentContextEPKNS_17ContextEntry_InitE?RKN3com3sun4star3uno9ReferenceINS6_17XComponentContextEEE; -_ZN4cppu22getImplHelperInitMutexEv; -_ZN4cppu23WeakImplHelper_getTypesEPNS_10class_dataE; -_ZN4cppu24OInterfaceIteratorHelper4nextEv; -_ZN4cppu24OInterfaceIteratorHelper6removeEv; -_ZN4cppu24OInterfaceIteratorHelperC1ERNS_25OInterfaceContainerHelperE; -_ZN4cppu24OInterfaceIteratorHelperC2ERNS_25OInterfaceContainerHelperE; -_ZN4cppu24OInterfaceIteratorHelperD1Ev; -_ZN4cppu24OInterfaceIteratorHelperD2Ev; -_ZN4cppu24createOneInstanceFactoryERKN3com3sun4star3uno9ReferenceINS2_4lang20XMultiServiceFactoryEEERKN3rtl8OUStringEPFNS4_INS3_10XInterfaceEEES9_ERKNS3_8SequenceISB_EEP16_rtl_ModuleCount; -_ZN4cppu25OInterfaceContainerHelper12addInterfaceERKN3com3sun4star3uno9ReferenceINS4_10XInterfaceEEE; -_ZN4cppu25OInterfaceContainerHelper15disposeAndClearERKN3com3sun4star4lang11EventObjectE; -_ZN4cppu25OInterfaceContainerHelper15removeInterfaceERKN3com3sun4star3uno9ReferenceINS4_10XInterfaceEEE; -_ZN4cppu25OInterfaceContainerHelper17copyAndResetInUseEv; -_ZN4cppu25OInterfaceContainerHelper5clearEv; -_ZN4cppu25OInterfaceContainerHelperC1ERN3osl5MutexE; -_ZN4cppu25OInterfaceContainerHelperC2ERN3osl5MutexE; -_ZN4cppu25OInterfaceContainerHelperD1Ev; -_ZN4cppu25OInterfaceContainerHelperD2Ev; -_ZN4cppu25component_writeInfoHelperEPvS0_PKNS_19ImplementationEntryE; -_ZN4cppu26WeakAggImplHelper_getTypesEPNS_10class_dataE; -_ZN4cppu26WeakAggImplHelper_queryAggERKN3com3sun4star3uno4TypeEPNS_10class_dataEPvPNS_14OWeakAggObjectE; -_ZN4cppu26component_getFactoryHelperEPKcPvS2_PKNS_19ImplementationEntryE; -_ZN4cppu27WeakComponentImplHelperBase14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZN4cppu27WeakComponentImplHelperBase16addEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZN4cppu27WeakComponentImplHelperBase19removeEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZN4cppu27WeakComponentImplHelperBase7acquireEv; -_ZN4cppu27WeakComponentImplHelperBase7disposeEv; -_ZN4cppu27WeakComponentImplHelperBase7releaseEv; -_ZN4cppu27WeakComponentImplHelperBase9disposingEv; -_ZN4cppu27WeakComponentImplHelperBaseC1ERN3osl5MutexE; -_ZN4cppu27WeakComponentImplHelperBaseC2ERN3osl5MutexE; -_ZN4cppu27WeakComponentImplHelperBaseD0Ev; -_ZN4cppu27WeakComponentImplHelperBaseD1Ev; -_ZN4cppu27WeakComponentImplHelperBaseD2Ev; -_ZN4cppu27createSingleRegistryFactoryERKN3com3sun4star3uno9ReferenceINS2_4lang20XMultiServiceFactoryEEERKN3rtl8OUStringERKNS4_INS2_8registry12XRegistryKeyEEE; -_ZN4cppu27writeSharedLibComponentInfoERKN3rtl8OUStringES3_RKN3com3sun4star3uno9ReferenceINS6_4lang20XMultiServiceFactoryEEERKNS8_INS6_8registry12XRegistryKeyEEE; -_ZN4cppu28ImplHelper_queryNoXInterfaceERKN3com3sun4star3uno4TypeEPNS_10class_dataEPv; -_ZN4cppu28createRegistryServiceFactoryERKN3rtl8OUStringES3_hS3_; -_ZN4cppu28createSingleComponentFactoryEPFN3com3sun4star3uno9ReferenceINS3_10XInterfaceEEERKNS4_INS3_17XComponentContextEEEERKN3rtl8OUStringERKNS3_8SequenceISE_EEP16_rtl_ModuleCount; -_ZN4cppu29WeakComponentImplHelper_queryERKN3com3sun4star3uno4TypeEPNS_10class_dataEPvPNS_27WeakComponentImplHelperBaseE; -_ZN4cppu29installTypeDescriptionManagerERKN3com3sun4star3uno9ReferenceINS2_9container23XHierarchicalNameAccessEEE; -_ZN4cppu29loadSharedLibComponentFactoryERKN3rtl8OUStringES3_S3_RKN3com3sun4star3uno9ReferenceINS6_4lang20XMultiServiceFactoryEEERKNS8_INS6_8registry12XRegistryKeyEEE; -_ZN4cppu29loadSharedLibComponentFactoryERKN3rtl8OUStringES3_S3_RKN3com3sun4star3uno9ReferenceINS6_4lang20XMultiServiceFactoryEEERKNS8_INS6_8registry12XRegistryKeyEEES3_; -_ZN4cppu30ImplHelper_getImplementationIdEPNS_10class_dataE; -_ZN4cppu30WeakAggComponentImplHelperBase14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZN4cppu30WeakAggComponentImplHelperBase16addEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZN4cppu30WeakAggComponentImplHelperBase16queryAggregationERKN3com3sun4star3uno4TypeE; -_ZN4cppu30WeakAggComponentImplHelperBase19removeEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZN4cppu30WeakAggComponentImplHelperBase7acquireEv; -_ZN4cppu30WeakAggComponentImplHelperBase7disposeEv; -_ZN4cppu30WeakAggComponentImplHelperBase7releaseEv; -_ZN4cppu30WeakAggComponentImplHelperBase9disposingEv; -_ZN4cppu30WeakAggComponentImplHelperBaseC1ERN3osl5MutexE; -_ZN4cppu30WeakAggComponentImplHelperBaseC2ERN3osl5MutexE; -_ZN4cppu30WeakAggComponentImplHelperBaseD0Ev; -_ZN4cppu30WeakAggComponentImplHelperBaseD1Ev; -_ZN4cppu30WeakAggComponentImplHelperBaseD2Ev; -_ZN4cppu31createStandardClassWithSequenceERKN3com3sun4star3uno9ReferenceINS2_4lang20XMultiServiceFactoryEEERKN3rtl8OUStringERKNS4_INS2_10reflection9XIdlClassEEERKNS3_8SequenceISB_EE; -_ZN4cppu32WeakComponentImplHelper_getTypesEPNS_10class_dataE; -_ZN4cppu32createOneInstanceRegistryFactoryERKN3com3sun4star3uno9ReferenceINS2_4lang20XMultiServiceFactoryEEERKN3rtl8OUStringERKNS4_INS2_8registry12XRegistryKeyEEE; -_ZN4cppu33bootstrap_InitialComponentContextERKN3com3sun4star3uno9ReferenceINS2_8registry15XSimpleRegistryEEERKN3rtl8OUStringE; -_ZN4cppu34OMultiTypeInterfaceContainerHelper12addInterfaceERKN3com3sun4star3uno4TypeERKNS4_9ReferenceINS4_10XInterfaceEEE; -_ZN4cppu34OMultiTypeInterfaceContainerHelper15disposeAndClearERKN3com3sun4star4lang11EventObjectE; -_ZN4cppu34OMultiTypeInterfaceContainerHelper15removeInterfaceERKN3com3sun4star3uno4TypeERKNS4_9ReferenceINS4_10XInterfaceEEE; -_ZN4cppu34OMultiTypeInterfaceContainerHelper5clearEv; -_ZN4cppu34OMultiTypeInterfaceContainerHelperC1ERN3osl5MutexE; -_ZN4cppu34OMultiTypeInterfaceContainerHelperC2ERN3osl5MutexE; -_ZN4cppu34OMultiTypeInterfaceContainerHelperD1Ev; -_ZN4cppu34OMultiTypeInterfaceContainerHelperD2Ev; -_ZN4cppu35WeakAggComponentImplHelper_getTypesEPNS_10class_dataE; -_ZN4cppu35WeakAggComponentImplHelper_queryAggERKN3com3sun4star3uno4TypeEPNS_10class_dataEPvPNS_30WeakAggComponentImplHelperBaseE; -_ZN4cppu39OMultiTypeInterfaceContainerHelperInt3212addInterfaceERK?RKN3com3sun4star3uno9ReferenceINS6_10XInterfaceEEE; -_ZN4cppu39OMultiTypeInterfaceContainerHelperInt3215disposeAndClearERKN3com3sun4star4lang11EventObjectE; -_ZN4cppu39OMultiTypeInterfaceContainerHelperInt3215removeInterfaceERK?RKN3com3sun4star3uno9ReferenceINS6_10XInterfaceEEE; -_ZN4cppu39OMultiTypeInterfaceContainerHelperInt325clearEv; -_ZN4cppu39OMultiTypeInterfaceContainerHelperInt32C1ERN3osl5MutexE; -_ZN4cppu39OMultiTypeInterfaceContainerHelperInt32C2ERN3osl5MutexE; -_ZN4cppu39OMultiTypeInterfaceContainerHelperInt32D1Ev; -_ZN4cppu39OMultiTypeInterfaceContainerHelperInt32D2Ev; -_ZN4cppu40defaultBootstrap_InitialComponentContextERKN3rtl8OUStringE; -_ZN4cppu40defaultBootstrap_InitialComponentContextEv; -_ZN4cppu9ClassData15writeTypeOffsetERKN3com3sun4star3uno4TypeE?; -_ZN4cppu9ClassData16initTypeProviderEv; -_ZN4cppu9ClassData19getImplementationIdEv; -_ZN4cppu9ClassData5queryERKN3com3sun4star3uno4TypeEPNS3_4lang13XTypeProviderE; -_ZN4cppu9ClassData8getTypesEv; -_ZNK3com3sun4star3uno19WeakReferenceHelper3getEv; -_ZNK4cppu17OImplementationId19getImplementationIdEv; -_ZNK4cppu20OPropertyArrayHelper8getCountEv; -_ZNK4cppu25OInterfaceContainerHelper11getElementsEv; -_ZNK4cppu25OInterfaceContainerHelper9getLengthEv; -_ZNK4cppu34OMultiTypeInterfaceContainerHelper12getContainerERKN3com3sun4star3uno4TypeE; -_ZNK4cppu34OMultiTypeInterfaceContainerHelper17getContainedTypesEv; -_ZNK4cppu39OMultiTypeInterfaceContainerHelperInt3212getContainerERK?; -_ZNK4cppu39OMultiTypeInterfaceContainerHelperInt3217getContainedTypesEv; -_ZTVN4cppu11OWeakObjectE; -_ZTVN4cppu14OWeakAggObjectE; -_ZTVN4cppu16OComponentHelperE; -_ZTVN4cppu18OPropertySetHelperE; -_ZTVN4cppu20IPropertyArrayHelperE; -_ZTVN4cppu20OPropertyArrayHelperE; -_ZTVN4cppu27WeakComponentImplHelperBaseE; -_ZTVN4cppu30WeakAggComponentImplHelperBaseE; -_ZN4cppu20OPropertyArrayHelperD0Ev; -_ZN4cppu20OPropertyArrayHelperD1Ev; -_ZThn*_N4cppu14OWeakAggObject12setDelegatorERKN3com3sun4star3uno9ReferenceINS4_10XInterfaceEEE; -_ZThn*_N4cppu14OWeakAggObject14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu14OWeakAggObject16queryAggregationERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu14OWeakAggObject7acquireEv; -_ZThn*_N4cppu14OWeakAggObject7releaseEv; -_ZThn*_N4cppu16OComponentHelper14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu16OComponentHelper16queryAggregationERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu16OComponentHelper7acquireEv; -_ZThn*_N4cppu16OComponentHelper7releaseEv; -_ZThn*_N4cppu27WeakComponentImplHelperBase14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu27WeakComponentImplHelperBase16addEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZThn*_N4cppu27WeakComponentImplHelperBase19removeEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZThn*_N4cppu27WeakComponentImplHelperBase7acquireEv; -_ZThn*_N4cppu27WeakComponentImplHelperBase7disposeEv; -_ZThn*_N4cppu27WeakComponentImplHelperBase7releaseEv; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase16queryAggregationERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase7acquireEv; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase7releaseEv; -_ZThn*_N4cppu16OComponentHelper14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu16OComponentHelper7acquireEv; -_ZThn*_N4cppu16OComponentHelper7releaseEv; -_ZThn*_N4cppu16OComponentHelper8getTypesEv; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase16addEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase19removeEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase7acquireEv; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase7disposeEv; -_ZThn*_N4cppu30WeakAggComponentImplHelperBase7releaseEv; -_ZThn*_N4cppu16OComponentHelper14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu16OComponentHelper16addEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZThn*_N4cppu16OComponentHelper19removeEventListenerERKN3com3sun4star3uno9ReferenceINS3_4lang14XEventListenerEEE; -_ZThn*_N4cppu16OComponentHelper7acquireEv; -_ZThn*_N4cppu16OComponentHelper7disposeEv; -_ZThn*_N4cppu16OComponentHelper7releaseEv; -_ZThn*_N4cppu18OPropertySetHelper14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu18OPropertySetHelper20getFastPropertyValueE?; -_ZThn*_N4cppu18OPropertySetHelper20setFastPropertyValueE?RKN3com3sun4star3uno3AnyE; -_ZThn*_N4cppu18OPropertySetHelper14queryInterfaceERKN3com3sun4star3uno4TypeE; -_ZThn*_N4cppu18OPropertySetHelper16getPropertyValueERKN3rtl8OUStringE; -_ZThn*_N4cppu18OPropertySetHelper16setPropertyValueERKN3rtl8OUStringERKN3com3sun4star3uno3AnyE; -_ZThn*_N4cppu18OPropertySetHelper25addPropertyChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XPropertyChangeListenerEEE; -_ZThn*_N4cppu18OPropertySetHelper25addVetoableChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XVetoableChangeListenerEEE; -_ZThn*_N4cppu18OPropertySetHelper28removePropertyChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XPropertyChangeListenerEEE; -_ZThn*_N4cppu18OPropertySetHelper28removeVetoableChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XVetoableChangeListenerEEE; - -_ZN4cppu13AccessControl19checkFilePermissionERKN3rtl8OUStringES4_; -_ZN4cppu13AccessControl21checkSocketPermissionERKN3rtl8OUStringES4_; -_ZN4cppu13AccessControl22checkRuntimePermissionERKN3rtl8OUStringE; -_ZN4cppu13AccessControlC1ERKN3com3sun4star3uno9ReferenceINS3_8security17XAccessControllerEEE; -_ZN4cppu13AccessControlC2ERKN3com3sun4star3uno9ReferenceINS3_8security17XAccessControllerEEE; -_ZN4cppu13AccessControlC1ERKN3com3sun4star3uno9ReferenceINS4_17XComponentContextEEE; -_ZN4cppu13AccessControlC2ERKN3com3sun4star3uno9ReferenceINS4_17XComponentContextEEE; -_ZN4cppu13AccessControlC1ERKS0_; -_ZN4cppu13AccessControlC2ERKS0_; - -_ZN4cppu16UnoUrlDescriptorC1ERKN3rtl8OUStringE; -_ZN4cppu16UnoUrlDescriptorC1ERKS0_; -_ZN4cppu16UnoUrlDescriptorC2ERKN3rtl8OUStringE; -_ZN4cppu16UnoUrlDescriptorC2ERKS0_; -_ZN4cppu16UnoUrlDescriptorD1Ev; -_ZN4cppu16UnoUrlDescriptorD2Ev; -_ZN4cppu16UnoUrlDescriptoraSERKS0_; -_ZN4cppu6UnoUrlC1ERKN3rtl8OUStringE; -_ZN4cppu6UnoUrlC1ERKS0_; -_ZN4cppu6UnoUrlC2ERKN3rtl8OUStringE; -_ZN4cppu6UnoUrlC2ERKS0_; -_ZN4cppu6UnoUrlD1Ev; -_ZN4cppu6UnoUrlD2Ev; -_ZN4cppu6UnoUrlaSERKS0_; -_ZNK4cppu16UnoUrlDescriptor12getParameterERKN3rtl8OUStringE; -_ZNK4cppu16UnoUrlDescriptor12hasParameterERKN3rtl8OUStringE; -_ZNK4cppu16UnoUrlDescriptor13getDescriptorEv; -_ZNK4cppu16UnoUrlDescriptor7getNameEv; -_ZNK4cppu6UnoUrl11getProtocolEv; -_ZNK4cppu6UnoUrl13getConnectionEv; -_ZNK4cppu6UnoUrl13getObjectNameEv; - - local: - *; -}; - -UDK_3.1 { - global: - _ZN4cppu18getCaughtExceptionEv; - - _ZN4cppu18OPropertySetHelperC1ERNS_19OBroadcastHelperVarINS_34OMultiTypeInterfaceContainerHelperEN3com3sun4star3uno4TypeEEEb; - _ZN4cppu18OPropertySetHelperC2ERNS_19OBroadcastHelperVarINS_34OMultiTypeInterfaceContainerHelperEN3com3sun4star3uno4TypeEEEb; - - _ZN4cppu9bootstrapEv; - _ZN4cppu18BootstrapExceptionC1Ev; - _ZN4cppu18BootstrapExceptionC2Ev; - _ZN4cppu18BootstrapExceptionC1ERKN3rtl8OUStringE; - _ZN4cppu18BootstrapExceptionC2ERKN3rtl8OUStringE; - _ZN4cppu18BootstrapExceptionC1ERKS0_; - _ZN4cppu18BootstrapExceptionC2ERKS0_; - _ZN4cppu18BootstrapExceptionD0Ev; - _ZN4cppu18BootstrapExceptionD1Ev; - _ZN4cppu18BootstrapExceptionD2Ev; - _ZN4cppu18BootstrapExceptionaSERKS0_; - _ZNK4cppu18BootstrapException10getMessageEv; - # _ZTIN4cppu18BootstrapExceptionE; - # _ZTSN4cppu18BootstrapExceptionE; -} UDK_3_0_0; - -UDK_3.2 { - global: - _ZN4cppu20PropertySetMixinImpl10prepareSetERKN3rtl8OUStringERKN3com3sun4star3uno3AnyESB_PNS0_14BoundListenersE; - _ZN4cppu20PropertySetMixinImpl14BoundListenersC1Ev; - _ZN4cppu20PropertySetMixinImpl14BoundListenersC2Ev; - _ZN4cppu20PropertySetMixinImpl14BoundListenersD1Ev; - _ZN4cppu20PropertySetMixinImpl14BoundListenersD2Ev; - _ZN4cppu20PropertySetMixinImpl14queryInterfaceERKN3com3sun4star3uno4TypeE; - _ZN4cppu20PropertySetMixinImpl16getPropertyValueERKN3rtl8OUStringE; - _ZN4cppu20PropertySetMixinImpl16setPropertyValueERKN3rtl8OUStringERKN3com3sun4star3uno3AnyE; - _ZN4cppu20PropertySetMixinImpl17getPropertyValuesEv; - _ZN4cppu20PropertySetMixinImpl17setPropertyValuesERKN3com3sun4star3uno8SequenceINS3_5beans13PropertyValueEEE; - _ZN4cppu20PropertySetMixinImpl18getPropertySetInfoEv; - _ZN4cppu20PropertySetMixinImpl20getFastPropertyValueE?; - _ZN4cppu20PropertySetMixinImpl20setFastPropertyValueE?RKN3com3sun4star3uno3AnyE; - _ZN4cppu20PropertySetMixinImpl25addPropertyChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XPropertyChangeListenerEEE; - _ZN4cppu20PropertySetMixinImpl25addVetoableChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XVetoableChangeListenerEEE; - _ZN4cppu20PropertySetMixinImpl28removePropertyChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XPropertyChangeListenerEEE; - _ZN4cppu20PropertySetMixinImpl28removeVetoableChangeListenerERKN3rtl8OUStringERKN3com3sun4star3uno9ReferenceINS7_5beans23XVetoableChangeListenerEEE; - _ZN4cppu20PropertySetMixinImpl7disposeEv; - _ZN4cppu20PropertySetMixinImplC1ERKN3com3sun4star3uno9ReferenceINS4_17XComponentContextEEENS0_10ImplementsERKNS4_8SequenceIN3rtl8OUStringEEERKNS4_4TypeE; - _ZN4cppu20PropertySetMixinImplC2ERKN3com3sun4star3uno9ReferenceINS4_17XComponentContextEEENS0_10ImplementsERKNS4_8SequenceIN3rtl8OUStringEEERKNS4_4TypeE; - _ZN4cppu20PropertySetMixinImplD1Ev; - _ZN4cppu20PropertySetMixinImplD2Ev; - _ZNK4cppu20PropertySetMixinImpl14BoundListeners6notifyEv; - _ZThn*_N4cppu20PropertySetMixinImpl14queryInterfaceERKN3com3sun4star3uno4TypeE; - _ZThn*_N4cppu20PropertySetMixinImpl20getFastPropertyValueE?; - _ZThn*_N4cppu20PropertySetMixinImpl20setFastPropertyValueE?RKN3com3sun4star3uno3AnyE; - _ZThn*_N4cppu20PropertySetMixinImpl14queryInterfaceERKN3com3sun4star3uno4TypeE; - _ZThn*_N4cppu20PropertySetMixinImpl17getPropertyValuesEv; - _ZThn*_N4cppu20PropertySetMixinImpl17setPropertyValuesERKN3com3sun4star3uno8SequenceINS3_5beans13PropertyValueEEE; -} UDK_3.1; - -UDK_3.3 { # OOo 2.3 - global: - _ZN4cppu18OPropertySetHelper8getTypesEv; -} UDK_3.2; - -UDK_3.4 { # OOo 2.4 - global: - _ZN4cppu19bootstrap_expandUriERKN3rtl8OUStringE; # rtl::OUString cppu::bootstrap_expandUri(rtl::OUString const &) -} UDK_3.3; - -UDK_3.5 { # OOo 3.0 - global: - _ZN4cppu18OPropertySetHelperC1ERNS_19OBroadcastHelperVarINS_34OMultiTypeInterfaceContainerHelperEN3com3sun4star3uno4TypeEEEPNS_22IEventNotificationHookEb; - _ZN4cppu18OPropertySetHelperC2ERNS_19OBroadcastHelperVarINS_34OMultiTypeInterfaceContainerHelperEN3com3sun4star3uno4TypeEEEPNS_22IEventNotificationHookEb; -} UDK_3.4; - -UDK_3.6 { # OOo 3.3 - global: - _ZN4cppu11OWeakObject26disposeWeakConnectionPointEv; - _ZN3com3sun4star3uno19WeakReferenceHelperaSERKNS2_9ReferenceINS2_10XInterfaceEEE; - _ZN3com3sun4star3uno19WeakReferenceHelper5clearEv; - _ZN4cppu33createOneInstanceComponentFactoryEPFN3com3sun4star3uno9ReferenceINS3_10XInterfaceEEERKNS4_INS3_17XComponentContextEEEERKN3rtl8OUStringERKNS3_8SequenceISE_EEP16_rtl_ModuleCount; -} UDK_3.5; - - -UDK_3.7 { # OOo 3.4 - global: - _ZN4cppu18OPropertySetHelper29setDependentFastPropertyValueE?RKN3com3sun4star3uno3AnyE; -} UDK_3.6; - diff --git a/cppuhelper/source/implbase.cxx b/cppuhelper/source/implbase.cxx deleted file mode 100644 index 77d0c469c..000000000 --- a/cppuhelper/source/implbase.cxx +++ /dev/null @@ -1,470 +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_cppuhelper.hxx" -#include <cppuhelper/implbase.hxx> -#include <cppuhelper/compbase.hxx> -#include <osl/diagnose.h> -#include <rtl/instance.hxx> -#include <rtl/uuid.h> - -#include <com/sun/star/lang/XComponent.hpp> -#include "com/sun/star/uno/RuntimeException.hpp" - -using namespace ::osl; -using namespace ::rtl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - -namespace -{ - class theImplHelperInitMutex : public rtl::Static<Mutex, theImplHelperInitMutex>{}; -} - -namespace cppu -{ -//================================================================================================== -Mutex & SAL_CALL getImplHelperInitMutex(void) SAL_THROW( () ) -{ - return theImplHelperInitMutex::get(); -} - -// ClassDataBase -//__________________________________________________________________________________________________ -ClassDataBase::ClassDataBase() SAL_THROW( () ) - : bOffsetsInit( sal_False ) - , nType2Offset( 0 ) - , nClassCode( 0 ) - , pTypes( 0 ) - , pId( 0 ) -{ -} -//__________________________________________________________________________________________________ -ClassDataBase::ClassDataBase( sal_Int32 nClassCode_ ) SAL_THROW( () ) - : bOffsetsInit( sal_False ) - , nType2Offset( 0 ) - , nClassCode( nClassCode_ ) - , pTypes( 0 ) - , pId( 0 ) -{ -} -//__________________________________________________________________________________________________ -ClassDataBase::~ClassDataBase() SAL_THROW( () ) -{ - delete pTypes; - delete pId; - - for ( sal_Int32 nPos = nType2Offset; nPos--; ) - { - typelib_typedescription_release( - (typelib_TypeDescription *)((ClassData *)this)->arType2Offset[nPos].pTD ); - } -} - -// ClassData -//__________________________________________________________________________________________________ -void ClassData::writeTypeOffset( const Type & rType, sal_Int32 nOffset ) SAL_THROW( () ) -{ - arType2Offset[nType2Offset].nOffset = nOffset; - - arType2Offset[nType2Offset].pTD = 0; - typelib_typedescriptionreference_getDescription( - (typelib_TypeDescription **)&arType2Offset[nType2Offset].pTD, rType.getTypeLibType() ); - - if (arType2Offset[nType2Offset].pTD) - ++nType2Offset; -#if OSL_DEBUG_LEVEL > 1 - else - { - OString msg( "### cannot get type description for " ); - msg += OUStringToOString( rType.getTypeName(), RTL_TEXTENCODING_ASCII_US ); - OSL_FAIL( msg.getStr() ); - } -#endif -} -//__________________________________________________________________________________________________ -void ClassData::initTypeProvider() SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() ); - if (! pTypes) - { - // create id - pId = new Sequence< sal_Int8 >( 16 ); - rtl_createUuid( (sal_uInt8 *)pId->getArray(), 0, sal_True ); - - // collect types - Sequence< Type > * types = new Sequence< Type >( - nType2Offset + 1 + (nClassCode == 4 ? 2 : nClassCode) ); - Type * pTypeAr = types->getArray(); - - // given types - sal_Int32 nPos = nType2Offset; - while (nPos--) - pTypeAr[nPos] = ((typelib_TypeDescription *)arType2Offset[nPos].pTD)->pWeakRef; - - // XTypeProvider - pTypeAr[nType2Offset] = ::getCppuType( (const Reference< lang::XTypeProvider > *)0 ); - - // class code extra types: [[XComponent,] XWeak[, XAggregation]] - switch (nClassCode) - { - case 4: - pTypeAr[nType2Offset +2] = ::getCppuType( (const Reference< lang::XComponent > *)0 ); - pTypeAr[nType2Offset +1] = ::getCppuType( (const Reference< XWeak > *)0 ); - break; - case 3: - pTypeAr[nType2Offset +3] = ::getCppuType( (const Reference< lang::XComponent > *)0 ); - case 2: - pTypeAr[nType2Offset +2] = ::getCppuType( (const Reference< XAggregation > *)0 ); - case 1: - pTypeAr[nType2Offset +1] = ::getCppuType( (const Reference< XWeak > *)0 ); - } - - pTypes = types; - } -} -//__________________________________________________________________________________________________ -Sequence< Type > ClassData::getTypes() SAL_THROW( () ) -{ - if (! pTypes) - initTypeProvider(); - return *pTypes; -} -//__________________________________________________________________________________________________ -Sequence< sal_Int8 > ClassData::getImplementationId() SAL_THROW( () ) -{ - if (! pTypes) - initTypeProvider(); - return *pId; -} - -//-------------------------------------------------------------------------------------------------- -static inline sal_Bool td_equals( - typelib_TypeDescription * pTD, typelib_TypeDescriptionReference * pType ) - SAL_THROW( () ) -{ - return (pTD->pWeakRef == pType || - (pTD->pTypeName->length == pType->pTypeName->length && - rtl_ustr_compare( pTD->pTypeName->buffer, pType->pTypeName->buffer ) == 0)); -} -//__________________________________________________________________________________________________ -Any ClassData::query( const Type & rType, lang::XTypeProvider * pBase ) SAL_THROW( () ) -{ - if (rType == ::getCppuType( (const Reference< XInterface > *)0 )) - return Any( &pBase, ::getCppuType( (const Reference< XInterface > *)0 ) ); - for ( sal_Int32 nPos = 0; nPos < nType2Offset; ++nPos ) - { - const Type_Offset & rTO = arType2Offset[nPos]; - typelib_InterfaceTypeDescription * pTD = rTO.pTD; - while (pTD) - { - if (td_equals( (typelib_TypeDescription *)pTD, - *(typelib_TypeDescriptionReference **)&rType )) - { - void * pInterface = (char *)pBase + rTO.nOffset; - return Any( &pInterface, (typelib_TypeDescription *)pTD ); - } - pTD = pTD->pBaseTypeDescription; - } - } - if (rType == ::getCppuType( (const Reference< lang::XTypeProvider > *)0 )) - return Any( &pBase, ::getCppuType( (const Reference< lang::XTypeProvider > *)0 ) ); - - return Any(); -} - -//################################################################################################## -//################################################################################################## -//################################################################################################## - -// WeakComponentImplHelperBase -//__________________________________________________________________________________________________ -WeakComponentImplHelperBase::WeakComponentImplHelperBase( Mutex & rMutex ) - SAL_THROW( () ) - : rBHelper( rMutex ) -{ -} -//__________________________________________________________________________________________________ -WeakComponentImplHelperBase::~WeakComponentImplHelperBase() - SAL_THROW( () ) -{ -} -//__________________________________________________________________________________________________ -void WeakComponentImplHelperBase::disposing() -{ -} -//__________________________________________________________________________________________________ -Any WeakComponentImplHelperBase::queryInterface( Type const & rType ) - throw (RuntimeException) -{ - if (rType == ::getCppuType( (Reference< lang::XComponent > const *)0 )) - { - void * p = static_cast< lang::XComponent * >( this ); - return Any( &p, rType ); - } - return OWeakObject::queryInterface( rType ); -} -//__________________________________________________________________________________________________ -void WeakComponentImplHelperBase::acquire() - throw () -{ - OWeakObject::acquire(); -} -//__________________________________________________________________________________________________ -void WeakComponentImplHelperBase::release() - throw () -{ - if (osl_decrementInterlockedCount( &m_refCount ) == 0) { - // ensure no other references are created, via the weak connection point, from now on - disposeWeakConnectionPoint(); - // restore reference count: - osl_incrementInterlockedCount( &m_refCount ); - if (! rBHelper.bDisposed) { - try { - dispose(); - } - catch (RuntimeException const& exc) { // don't break throw () - OSL_FAIL( - OUStringToOString( - exc.Message, RTL_TEXTENCODING_ASCII_US ).getStr() ); - static_cast<void>(exc); - } - OSL_ASSERT( rBHelper.bDisposed ); - } - OWeakObject::release(); - } -} -//__________________________________________________________________________________________________ -void WeakComponentImplHelperBase::dispose() - throw (RuntimeException) -{ - ClearableMutexGuard aGuard( rBHelper.rMutex ); - if (!rBHelper.bDisposed && !rBHelper.bInDispose) - { - rBHelper.bInDispose = sal_True; - aGuard.clear(); - try - { - // side effect: keeping a reference to this - lang::EventObject aEvt( static_cast< OWeakObject * >( this ) ); - try - { - rBHelper.aLC.disposeAndClear( aEvt ); - disposing(); - } - catch (...) - { - MutexGuard aGuard2( rBHelper.rMutex ); - // bDisposed and bInDispose must be set in this order: - rBHelper.bDisposed = sal_True; - rBHelper.bInDispose = sal_False; - throw; - } - MutexGuard aGuard2( rBHelper.rMutex ); - // bDisposed and bInDispose must be set in this order: - rBHelper.bDisposed = sal_True; - rBHelper.bInDispose = sal_False; - } - catch (RuntimeException &) - { - throw; - } - catch (Exception & exc) - { - throw RuntimeException( - OUString( RTL_CONSTASCII_USTRINGPARAM( - "unexpected UNO exception caught: ") ) + - exc.Message, Reference< XInterface >() ); - } - } -} -//__________________________________________________________________________________________________ -void WeakComponentImplHelperBase::addEventListener( - Reference< lang::XEventListener > const & xListener ) - throw (RuntimeException) -{ - ClearableMutexGuard aGuard( rBHelper.rMutex ); - if (rBHelper.bDisposed || rBHelper.bInDispose) - { - aGuard.clear(); - lang::EventObject aEvt( static_cast< OWeakObject * >( this ) ); - xListener->disposing( aEvt ); - } - else - { - rBHelper.addListener( ::getCppuType( &xListener ), xListener ); - } -} -//__________________________________________________________________________________________________ -void WeakComponentImplHelperBase::removeEventListener( - Reference< lang::XEventListener > const & xListener ) - throw (RuntimeException) -{ - rBHelper.removeListener( ::getCppuType( &xListener ), xListener ); -} - -// WeakAggComponentImplHelperBase -//__________________________________________________________________________________________________ -WeakAggComponentImplHelperBase::WeakAggComponentImplHelperBase( Mutex & rMutex ) - SAL_THROW( () ) - : rBHelper( rMutex ) -{ -} -//__________________________________________________________________________________________________ -WeakAggComponentImplHelperBase::~WeakAggComponentImplHelperBase() - SAL_THROW( () ) -{ -} -//__________________________________________________________________________________________________ -void WeakAggComponentImplHelperBase::disposing() -{ -} -//__________________________________________________________________________________________________ -Any WeakAggComponentImplHelperBase::queryInterface( Type const & rType ) - throw (RuntimeException) -{ - return OWeakAggObject::queryInterface( rType ); -} -//__________________________________________________________________________________________________ -Any WeakAggComponentImplHelperBase::queryAggregation( Type const & rType ) - throw (RuntimeException) -{ - if (rType == ::getCppuType( (Reference< lang::XComponent > const *)0 )) - { - void * p = static_cast< lang::XComponent * >( this ); - return Any( &p, rType ); - } - return OWeakAggObject::queryAggregation( rType ); -} -//__________________________________________________________________________________________________ -void WeakAggComponentImplHelperBase::acquire() - throw () -{ - OWeakAggObject::acquire(); -} -//__________________________________________________________________________________________________ -void WeakAggComponentImplHelperBase::release() - throw () -{ - Reference<XInterface> const xDelegator_(xDelegator); - if (xDelegator_.is()) { - OWeakAggObject::release(); - } - else if (osl_decrementInterlockedCount( &m_refCount ) == 0) { - // ensure no other references are created, via the weak connection point, from now on - disposeWeakConnectionPoint(); - // restore reference count: - osl_incrementInterlockedCount( &m_refCount ); - if (! rBHelper.bDisposed) { - try { - dispose(); - } - catch (RuntimeException const& exc) { // don't break throw () - OSL_FAIL( - OUStringToOString( - exc.Message, RTL_TEXTENCODING_ASCII_US ).getStr() ); - static_cast<void>(exc); - } - OSL_ASSERT( rBHelper.bDisposed ); - } - OWeakAggObject::release(); - } -} -//__________________________________________________________________________________________________ -void WeakAggComponentImplHelperBase::dispose() - throw (RuntimeException) -{ - ClearableMutexGuard aGuard( rBHelper.rMutex ); - if (!rBHelper.bDisposed && !rBHelper.bInDispose) - { - rBHelper.bInDispose = sal_True; - aGuard.clear(); - try - { - // side effect: keeping a reference to this - lang::EventObject aEvt( static_cast< OWeakObject * >( this ) ); - try - { - rBHelper.aLC.disposeAndClear( aEvt ); - disposing(); - } - catch (...) - { - MutexGuard aGuard2( rBHelper.rMutex ); - // bDisposed and bInDispose must be set in this order: - rBHelper.bDisposed = sal_True; - rBHelper.bInDispose = sal_False; - throw; - } - MutexGuard aGuard2( rBHelper.rMutex ); - // bDisposed and bInDispose must be set in this order: - rBHelper.bDisposed = sal_True; - rBHelper.bInDispose = sal_False; - } - catch (RuntimeException &) - { - throw; - } - catch (Exception & exc) - { - throw RuntimeException( - OUString( RTL_CONSTASCII_USTRINGPARAM( - "unexpected UNO exception caught: ") ) + - exc.Message, Reference< XInterface >() ); - } - } -} -//__________________________________________________________________________________________________ -void WeakAggComponentImplHelperBase::addEventListener( - Reference< lang::XEventListener > const & xListener ) - throw (RuntimeException) -{ - ClearableMutexGuard aGuard( rBHelper.rMutex ); - if (rBHelper.bDisposed || rBHelper.bInDispose) - { - aGuard.clear(); - lang::EventObject aEvt( static_cast< OWeakObject * >( this ) ); - xListener->disposing( aEvt ); - } - else - { - rBHelper.addListener( ::getCppuType( &xListener ), xListener ); - } -} -//__________________________________________________________________________________________________ -void WeakAggComponentImplHelperBase::removeEventListener( - Reference< lang::XEventListener > const & xListener ) - throw (RuntimeException) -{ - rBHelper.removeListener( ::getCppuType( &xListener ), xListener ); -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/implbase_ex.cxx b/cppuhelper/source/implbase_ex.cxx deleted file mode 100644 index 48ccf55a7..000000000 --- a/cppuhelper/source/implbase_ex.cxx +++ /dev/null @@ -1,472 +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_cppuhelper.hxx" -#include <sal/alloca.h> - -#include <string.h> -#include <osl/diagnose.h> -#include <rtl/byteseq.hxx> -#include <rtl/ustrbuf.hxx> -#include <rtl/uuid.h> -#include <cppuhelper/compbase_ex.hxx> - -#include "com/sun/star/uno/RuntimeException.hpp" - -using namespace ::cppu; -using namespace ::osl; -using namespace ::rtl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - -namespace cppu -{ - -/** Shared mutex for implementation helper initialization. - Not for public use. -*/ -::osl::Mutex & SAL_CALL getImplHelperInitMutex(void) SAL_THROW( () ); - -//-------------------------------------------------------------------------------------------------- -static inline void checkInterface( Type const & rType ) - SAL_THROW( (RuntimeException) ) -{ - if (TypeClass_INTERFACE != rType.getTypeClass()) - { - OUStringBuffer buf( 64 ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("querying for interface \"") ); - buf.append( rType.getTypeName() ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("\": no interface type!") ); - OUString msg( buf.makeStringAndClear() ); -#if OSL_DEBUG_LEVEL > 0 - OString str( OUStringToOString( msg, RTL_TEXTENCODING_ASCII_US ) ); - OSL_FAIL( str.getStr() ); -#endif - throw RuntimeException( msg, Reference< XInterface >() ); - } -} -//-------------------------------------------------------------------------------------------------- -static inline bool isXInterface( rtl_uString * pStr ) SAL_THROW( () ) -{ - return (((OUString const *)&pStr)->equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("com.sun.star.uno.XInterface") ) != sal_False); -} -//-------------------------------------------------------------------------------------------------- -static inline void * makeInterface( sal_IntPtr nOffset, void * that ) SAL_THROW( () ) -{ - return (((char *)that) + nOffset); -} -//-------------------------------------------------------------------------------------------------- -static inline bool __td_equals( - typelib_TypeDescriptionReference const * pTDR1, - typelib_TypeDescriptionReference const * pTDR2 ) - SAL_THROW( () ) -{ - return ((pTDR1 == pTDR2) || - ((OUString const *)&pTDR1->pTypeName)->equals( *(OUString const *)&pTDR2->pTypeName ) != sal_False); -} -//-------------------------------------------------------------------------------------------------- -static inline type_entry * __getTypeEntries( class_data * cd ) - SAL_THROW( (RuntimeException) ) -{ - type_entry * pEntries = cd->m_typeEntries; - if (! cd->m_storedTypeRefs) // not inited? - { - MutexGuard guard( getImplHelperInitMutex() ); - if (! cd->m_storedTypeRefs) // not inited? - { - // get all types - for ( sal_Int32 n = cd->m_nTypes; n--; ) - { - type_entry * pEntry = &pEntries[ n ]; - Type const & rType = (*pEntry->m_type.getCppuType)( 0 ); - OSL_ENSURE( rType.getTypeClass() == TypeClass_INTERFACE, "### wrong helper init: expected interface!" ); - OSL_ENSURE( ! isXInterface( rType.getTypeLibType()->pTypeName ), "### want to implement XInterface: template argument is XInterface?!?!?!" ); - if (rType.getTypeClass() != TypeClass_INTERFACE) - { - OUStringBuffer buf( 48 ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("type \"") ); - buf.append( rType.getTypeName() ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("\" is no interface type!") ); - OUString msg( buf.makeStringAndClear() ); -#if OSL_DEBUG_LEVEL > 0 - OString str( OUStringToOString( msg, RTL_TEXTENCODING_ASCII_US ) ); - OSL_FAIL( str.getStr() ); -#endif - throw RuntimeException( msg, Reference< XInterface >() ); - } - // ref is statically held by getCppuType() - pEntry->m_type.typeRef = rType.getTypeLibType(); - } - cd->m_storedTypeRefs = sal_True; - } - } - return pEntries; -} -//-------------------------------------------------------------------------------------------------- -static inline void __fillTypes( Type * types, class_data * cd ) - SAL_THROW( (RuntimeException) ) -{ - type_entry * pEntries = __getTypeEntries( cd ); - for ( sal_Int32 n = cd->m_nTypes; n--; ) - { - types[ n ] = pEntries[ n ].m_type.typeRef; - } -} -//-------------------------------------------------------------------------------------------------- -namespace { - -bool recursivelyFindType( - typelib_TypeDescriptionReference const * demandedType, - typelib_InterfaceTypeDescription const * type, sal_IntPtr * offset) -{ - // This code assumes that the vtables of a multiple-inheritance class (the - // offset amount by which to adjust the this pointer) follow one another in - // the object layout, and that they contain slots for the inherited classes - // in a specifc order. In theory, that need not hold for any given - // platform; in practice, it seems to work well on all supported platforms: - next: - for (sal_Int32 i = 0; i < type->nBaseTypes; ++i) { - if (i > 0) { - *offset += sizeof (void *); - } - typelib_InterfaceTypeDescription const * base = type->ppBaseTypes[i]; - // ignore XInterface: - if (base->nBaseTypes > 0) { - if (__td_equals( - reinterpret_cast< - typelib_TypeDescriptionReference const * >(base), - demandedType)) - { - return true; - } - // Profiling showed that it is important to speed up the common case - // of only one base: - if (type->nBaseTypes == 1) { - type = base; - goto next; - } - if (recursivelyFindType(demandedType, base, offset)) { - return true; - } - } - } - return false; -} - -} - -static inline void * __queryDeepNoXInterface( - typelib_TypeDescriptionReference * pDemandedTDR, class_data * cd, void * that ) - SAL_THROW( (RuntimeException) ) -{ - type_entry * pEntries = __getTypeEntries( cd ); - sal_Int32 nTypes = cd->m_nTypes; - sal_Int32 n; - - // try top interfaces without getting td - for ( n = 0; n < nTypes; ++n ) - { - if (__td_equals( pEntries[ n ].m_type.typeRef, pDemandedTDR )) - { - return makeInterface( pEntries[ n ].m_offset, that ); - } - } - // query deep getting td - for ( n = 0; n < nTypes; ++n ) - { - typelib_TypeDescription * pTD = 0; - TYPELIB_DANGER_GET( &pTD, pEntries[ n ].m_type.typeRef ); - if (pTD) - { - // exclude top (already tested) and bottom (XInterface) interface - OSL_ENSURE( - reinterpret_cast< typelib_InterfaceTypeDescription * >(pTD)-> - nBaseTypes > 0, - "### want to implement XInterface:" - " template argument is XInterface?!?!?!" ); - sal_IntPtr offset = pEntries[n].m_offset; - bool found = recursivelyFindType( - pDemandedTDR, - reinterpret_cast< typelib_InterfaceTypeDescription * >(pTD), - &offset); - TYPELIB_DANGER_RELEASE( pTD ); - if (found) { - return makeInterface( offset, that ); - } - } - else - { - OUStringBuffer buf( 64 ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("cannot get type description for type \"") ); - buf.append( pEntries[ n ].m_type.typeRef->pTypeName ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("\"!") ); - OUString msg( buf.makeStringAndClear() ); -#if OSL_DEBUG_LEVEL > 0 - OString str( OUStringToOString( msg, RTL_TEXTENCODING_ASCII_US ) ); - OSL_FAIL( str.getStr() ); -#endif - throw RuntimeException( msg, Reference< XInterface >() ); - } - } - return 0; -} - -// ImplHelper -//================================================================================================== -Any SAL_CALL ImplHelper_query( - Type const & rType, class_data * cd, void * that ) - SAL_THROW( (RuntimeException) ) -{ - checkInterface( rType ); - typelib_TypeDescriptionReference * pTDR = rType.getTypeLibType(); - - void * p; - // shortcut for XInterface - if (isXInterface( pTDR->pTypeName )) - { - // take first one - p = makeInterface( cd->m_typeEntries[ 0 ].m_offset, that ); - } - else - { - p = __queryDeepNoXInterface( pTDR, cd, that ); - if (! p) - { - return Any(); - } - } - return Any( &p, pTDR ); -} -//================================================================================================== -Any SAL_CALL ImplHelper_queryNoXInterface( - Type const & rType, class_data * cd, void * that ) - SAL_THROW( (RuntimeException) ) -{ - checkInterface( rType ); - typelib_TypeDescriptionReference * pTDR = rType.getTypeLibType(); - - void * p = __queryDeepNoXInterface( pTDR, cd, that ); - if (p) - { - return Any( &p, pTDR ); - } - else - { - return Any(); - } -} -//================================================================================================== -Sequence< sal_Int8 > SAL_CALL ImplHelper_getImplementationId( class_data * cd ) - SAL_THROW( (RuntimeException) ) -{ - if (! cd->m_createdId) - { - sal_uInt8 * id = (sal_uInt8 *)alloca( 16 ); - ::rtl_createUuid( (sal_uInt8 *)id, 0, sal_True ); - - MutexGuard guard( getImplHelperInitMutex() ); - if (! cd->m_createdId) - { - memcpy( cd->m_id, id, 16 ); - cd->m_createdId = sal_True; - } - } - - sal_Sequence * seq = 0; - ::rtl_byte_sequence_constructFromArray( &seq, cd->m_id, 16 ); - return Sequence< sal_Int8 >( seq, SAL_NO_ACQUIRE ); -} -//================================================================================================== -Sequence< Type > SAL_CALL ImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (RuntimeException) ) -{ - Sequence< Type > types( cd->m_nTypes ); - Type * pTypes = types.getArray(); - __fillTypes( pTypes, cd ); - return types; -} -//================================================================================================== -Sequence< Type > SAL_CALL ImplInhHelper_getTypes( - class_data * cd, Sequence< Type > const & rAddTypes ) - SAL_THROW( (RuntimeException) ) -{ - sal_Int32 nImplTypes = cd->m_nTypes; - sal_Int32 nAddTypes = rAddTypes.getLength(); - Sequence< Type > types( nImplTypes + nAddTypes ); - Type * pTypes = types.getArray(); - __fillTypes( pTypes, cd ); - // append base types - Type const * pAddTypes = rAddTypes.getConstArray(); - while (nAddTypes--) - { - pTypes[ nImplTypes + nAddTypes ] = pAddTypes[ nAddTypes ]; - } - return types; -} - -// WeakImplHelper -//================================================================================================== -Any SAL_CALL WeakImplHelper_query( - Type const & rType, class_data * cd, void * that, OWeakObject * pBase ) - SAL_THROW( (RuntimeException) ) -{ - checkInterface( rType ); - typelib_TypeDescriptionReference * pTDR = rType.getTypeLibType(); - - // shortcut XInterface to OWeakObject - if (! isXInterface( pTDR->pTypeName )) - { - void * p = __queryDeepNoXInterface( pTDR, cd, that ); - if (p) - { - return Any( &p, pTDR ); - } - } - return pBase->OWeakObject::queryInterface( rType ); -} -//================================================================================================== -Sequence< Type > SAL_CALL WeakImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (RuntimeException) ) -{ - sal_Int32 nTypes = cd->m_nTypes; - Sequence< Type > types( nTypes +1 ); - Type * pTypes = types.getArray(); - __fillTypes( pTypes, cd ); - pTypes[ nTypes ] = ::getCppuType( (Reference< XWeak > const *)0 ); - return types; -} - -// WeakAggImplHelper -//================================================================================================== -Any SAL_CALL WeakAggImplHelper_queryAgg( - Type const & rType, class_data * cd, void * that, OWeakAggObject * pBase ) - SAL_THROW( (RuntimeException) ) -{ - checkInterface( rType ); - typelib_TypeDescriptionReference * pTDR = rType.getTypeLibType(); - - // shortcut XInterface to OWeakAggObject - if (! isXInterface( pTDR->pTypeName )) - { - void * p = __queryDeepNoXInterface( pTDR, cd, that ); - if (p) - { - return Any( &p, pTDR ); - } - } - return pBase->OWeakAggObject::queryAggregation( rType ); -} -//================================================================================================== -Sequence< Type > SAL_CALL WeakAggImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (RuntimeException) ) -{ - sal_Int32 nTypes = cd->m_nTypes; - Sequence< Type > types( nTypes +2 ); - Type * pTypes = types.getArray(); - __fillTypes( pTypes, cd ); - pTypes[ nTypes++ ] = ::getCppuType( (Reference< XWeak > const *)0 ); - pTypes[ nTypes ] = ::getCppuType( (const Reference< XAggregation > *)0 ); - return types; -} - -// WeakComponentImplHelper -//================================================================================================== -Any SAL_CALL WeakComponentImplHelper_query( - Type const & rType, class_data * cd, void * that, WeakComponentImplHelperBase * pBase ) - SAL_THROW( (RuntimeException) ) -{ - checkInterface( rType ); - typelib_TypeDescriptionReference * pTDR = rType.getTypeLibType(); - - // shortcut XInterface to WeakComponentImplHelperBase - if (! isXInterface( pTDR->pTypeName )) - { - void * p = __queryDeepNoXInterface( pTDR, cd, that ); - if (p) - { - return Any( &p, pTDR ); - } - } - return pBase->WeakComponentImplHelperBase::queryInterface( rType ); -} -//================================================================================================== -Sequence< Type > SAL_CALL WeakComponentImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (RuntimeException) ) -{ - sal_Int32 nTypes = cd->m_nTypes; - Sequence< Type > types( nTypes +2 ); - Type * pTypes = types.getArray(); - __fillTypes( pTypes, cd ); - pTypes[ nTypes++ ] = ::getCppuType( (Reference< XWeak > const *)0 ); - pTypes[ nTypes ] = ::getCppuType( (Reference< lang::XComponent > const *)0 ); - return types; -} - -// WeakAggComponentImplHelper -//================================================================================================== -Any SAL_CALL WeakAggComponentImplHelper_queryAgg( - Type const & rType, class_data * cd, void * that, WeakAggComponentImplHelperBase * pBase ) - SAL_THROW( (RuntimeException) ) -{ - checkInterface( rType ); - typelib_TypeDescriptionReference * pTDR = rType.getTypeLibType(); - - // shortcut XInterface to WeakAggComponentImplHelperBase - if (! isXInterface( pTDR->pTypeName )) - { - void * p = __queryDeepNoXInterface( pTDR, cd, that ); - if (p) - { - return Any( &p, pTDR ); - } - } - return pBase->WeakAggComponentImplHelperBase::queryAggregation( rType ); -} -//================================================================================================== -Sequence< Type > SAL_CALL WeakAggComponentImplHelper_getTypes( - class_data * cd ) - SAL_THROW( (RuntimeException) ) -{ - sal_Int32 nTypes = cd->m_nTypes; - Sequence< Type > types( nTypes +3 ); - Type * pTypes = types.getArray(); - __fillTypes( pTypes, cd ); - pTypes[ nTypes++ ] = ::getCppuType( (Reference< XWeak > const *)0 ); - pTypes[ nTypes++ ] = ::getCppuType( (const Reference< XAggregation > *)0 ); - pTypes[ nTypes ] = ::getCppuType( (const Reference< lang::XComponent > *)0 ); - return types; -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/implementationentry.cxx b/cppuhelper/source/implementationentry.cxx deleted file mode 100644 index a8f6eb997..000000000 --- a/cppuhelper/source/implementationentry.cxx +++ /dev/null @@ -1,105 +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_cppuhelper.hxx" -#include <cppuhelper/implementationentry.hxx> -#include <rtl/ustrbuf.hxx> - -using namespace ::rtl; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::registry; - -namespace cppu { - -sal_Bool component_writeInfoHelper( - void *, void *pRegistryKey , const struct ImplementationEntry entries[] ) -{ - sal_Bool bRet = sal_False; - try - { - if( pRegistryKey ) - { - for( sal_Int32 i = 0; entries[i].create ; i ++ ) - { - OUStringBuffer buf( 124 ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM("/") ); - buf.append( entries[i].getImplementationName() ); - buf.appendAscii(RTL_CONSTASCII_STRINGPARAM( "/UNO/SERVICES" ) ); - Reference< XRegistryKey > xNewKey( - reinterpret_cast< XRegistryKey * >( pRegistryKey )->createKey( buf.makeStringAndClear() ) ); - - Sequence< OUString > seq = entries[i].getSupportedServiceNames(); - const OUString *pArray = seq.getConstArray(); - for ( sal_Int32 nPos = 0 ; nPos < seq.getLength(); nPos ++ ) - xNewKey->createKey( pArray[nPos] ); - } - bRet = sal_True; - } - } - catch ( InvalidRegistryException & ) - { - OSL_FAIL( "### InvalidRegistryException!" ); - } - return bRet; -} - - -void * component_getFactoryHelper( - const sal_Char * pImplName, void *, void *, - const struct ImplementationEntry entries[] ) -{ - - void * pRet = 0; - Reference< XSingleComponentFactory > xFactory; - - for( sal_Int32 i = 0 ; entries[i].create ; i ++ ) - { - OUString implName = entries[i].getImplementationName(); - if( 0 == implName.compareToAscii( pImplName ) ) - { - xFactory = entries[i].createFactory( - entries[i].create, - implName, - entries[i].getSupportedServiceNames(), - entries[i].moduleCounter ); - } - } - - if( xFactory.is() ) - { - xFactory->acquire(); - pRet = xFactory.get(); - } - return pRet; -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/interfacecontainer.cxx b/cppuhelper/source/interfacecontainer.cxx deleted file mode 100644 index 7a9440c74..000000000 --- a/cppuhelper/source/interfacecontainer.cxx +++ /dev/null @@ -1,705 +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_cppuhelper.hxx" - -#include <cppuhelper/interfacecontainer.hxx> -#include <cppuhelper/queryinterface.hxx> -#include <cppuhelper/propshlp.hxx> - -#include <osl/diagnose.h> -#include <osl/mutex.hxx> - -#include <boost/unordered_map.hpp> - -#include <com/sun/star/lang/XEventListener.hpp> - - -using namespace osl; -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; - -namespace cppu -{ -/** - * Reallocate the sequence. - */ -static void realloc( Sequence< Reference< XInterface > > & rSeq, sal_Int32 nNewLen ) - SAL_THROW( () ) -{ - rSeq.realloc( nNewLen ); -} - -/** - * Remove an element from an interface sequence. - */ -static void sequenceRemoveElementAt( Sequence< Reference< XInterface > > & rSeq, sal_Int32 index ) - SAL_THROW( () ) -{ - sal_Int32 nNewLen = rSeq.getLength() - 1; - - Sequence< Reference< XInterface > > aDestSeq( rSeq.getLength() - 1 ); - // getArray on a const sequence is faster - const Reference< XInterface > * pSource = ((const Sequence< Reference< XInterface > > &)rSeq).getConstArray(); - Reference< XInterface > * pDest = aDestSeq.getArray(); - sal_Int32 i = 0; - for( ; i < index; i++ ) - pDest[i] = pSource[i]; - for( sal_Int32 j = i ; j < nNewLen; j++ ) - pDest[j] = pSource[j+1]; - rSeq = aDestSeq; -} - -#ifdef _MSC_VER -#pragma warning( disable: 4786 ) -#endif - -OInterfaceIteratorHelper::OInterfaceIteratorHelper( OInterfaceContainerHelper & rCont_ ) - SAL_THROW( () ) - : rCont( rCont_ ) -{ - MutexGuard aGuard( rCont.rMutex ); - if( rCont.bInUse ) - // worst case, two iterators at the same time - rCont.copyAndResetInUse(); - bIsList = rCont_.bIsList; - aData = rCont_.aData; - if( bIsList ) - { - rCont.bInUse = sal_True; - nRemain = aData.pAsSequence->getLength(); - } - else if( aData.pAsInterface ) - { - aData.pAsInterface->acquire(); - nRemain = 1; - } - else - nRemain = 0; -} - -OInterfaceIteratorHelper::~OInterfaceIteratorHelper() SAL_THROW( () ) -{ - sal_Bool bShared; - { - MutexGuard aGuard( rCont.rMutex ); - // bResetInUse protect the iterator against recursion - bShared = aData.pAsSequence == rCont.aData.pAsSequence && rCont.bIsList; - if( bShared ) - { - OSL_ENSURE( rCont.bInUse, "OInterfaceContainerHelper must be in use" ); - rCont.bInUse = sal_False; - } - } - - if( !bShared ) - { - if( bIsList ) - // Sequence owned by the iterator - delete aData.pAsSequence; - else if( aData.pAsInterface ) - // Interface is acquired by the iterator - aData.pAsInterface->release(); - } -} - -XInterface * OInterfaceIteratorHelper::next() SAL_THROW( () ) -{ - if( nRemain ) - { - nRemain--; - if( bIsList ) - // typecase to const,so the getArray method is faster - return aData.pAsSequence->getConstArray()[nRemain].get(); - else if( aData.pAsInterface ) - return aData.pAsInterface; - } - // exception - return 0; -} - -void OInterfaceIteratorHelper::remove() SAL_THROW( () ) -{ - if( bIsList ) - { - OSL_ASSERT( nRemain >= 0 && - nRemain < aData.pAsSequence->getLength() ); - XInterface * p = aData.pAsSequence->getConstArray()[nRemain].get(); - rCont.removeInterface( * reinterpret_cast< const Reference< XInterface > * >( &p ) ); - } - else - { - OSL_ASSERT( 0 == nRemain ); - rCont.removeInterface( * reinterpret_cast< const Reference< XInterface > * >(&aData.pAsInterface)); - } -} - -OInterfaceContainerHelper::OInterfaceContainerHelper( Mutex & rMutex_ ) SAL_THROW( () ) - : rMutex( rMutex_ ) - , bInUse( sal_False ) - , bIsList( sal_False ) -{ -} - -OInterfaceContainerHelper::~OInterfaceContainerHelper() SAL_THROW( () ) -{ - OSL_ENSURE( !bInUse, "~OInterfaceContainerHelper but is in use" ); - if( bIsList ) - delete aData.pAsSequence; - else if( aData.pAsInterface ) - aData.pAsInterface->release(); -} - -sal_Int32 OInterfaceContainerHelper::getLength() const SAL_THROW( () ) -{ - MutexGuard aGuard( rMutex ); - if( bIsList ) - return aData.pAsSequence->getLength(); - else if( aData.pAsInterface ) - return 1; - return 0; -} - -Sequence< Reference<XInterface> > OInterfaceContainerHelper::getElements() const SAL_THROW( () ) -{ - MutexGuard aGuard( rMutex ); - if( bIsList ) - return *aData.pAsSequence; - else if( aData.pAsInterface ) - { - Reference<XInterface> x( aData.pAsInterface ); - return Sequence< Reference< XInterface > >( &x, 1 ); - } - return Sequence< Reference< XInterface > >(); -} - -void OInterfaceContainerHelper::copyAndResetInUse() SAL_THROW( () ) -{ - OSL_ENSURE( bInUse, "OInterfaceContainerHelper not in use" ); - if( bInUse ) - { - // this should be the worst case. If a iterator is active - // and a new Listener is added. - if( bIsList ) - aData.pAsSequence = new Sequence< Reference< XInterface > >( *aData.pAsSequence ); - else if( aData.pAsInterface ) - aData.pAsInterface->acquire(); - - bInUse = sal_False; - } -} - -sal_Int32 OInterfaceContainerHelper::addInterface( const Reference<XInterface> & rListener ) SAL_THROW( () ) -{ - OSL_ASSERT( rListener.is() ); - MutexGuard aGuard( rMutex ); - if( bInUse ) - copyAndResetInUse(); - - if( bIsList ) - { - sal_Int32 nLen = aData.pAsSequence->getLength(); - realloc( *aData.pAsSequence, nLen +1 ); - aData.pAsSequence->getArray()[ nLen ] = rListener; - return nLen +1; - } - else if( aData.pAsInterface ) - { - Sequence< Reference< XInterface > > * pSeq = new Sequence< Reference< XInterface > >( 2 ); - Reference<XInterface> * pArray = pSeq->getArray(); - pArray[0] = aData.pAsInterface; - pArray[1] = rListener; - aData.pAsInterface->release(); - aData.pAsSequence = pSeq; - bIsList = sal_True; - return 2; - } - else - { - aData.pAsInterface = rListener.get(); - if( rListener.is() ) - rListener->acquire(); - return 1; - } -} - -sal_Int32 OInterfaceContainerHelper::removeInterface( const Reference<XInterface> & rListener ) SAL_THROW( () ) -{ - OSL_ASSERT( rListener.is() ); - MutexGuard aGuard( rMutex ); - if( bInUse ) - copyAndResetInUse(); - - if( bIsList ) - { - const Reference<XInterface> * pL = aData.pAsSequence->getConstArray(); - sal_Int32 nLen = aData.pAsSequence->getLength(); - sal_Int32 i; - for( i = 0; i < nLen; i++ ) - { - // It is not valid to compare the Pointer direkt, but is is is much - // more faster. - if( pL[i].get() == rListener.get() ) - { - sequenceRemoveElementAt( *aData.pAsSequence, i ); - break; - } - } - - if( i == nLen ) - { - // interface not found, use the correct compare method - for( i = 0; i < nLen; i++ ) - { - if( pL[i] == rListener ) - { - sequenceRemoveElementAt(*aData.pAsSequence, i ); - break; - } - } - } - - if( aData.pAsSequence->getLength() == 1 ) - { - XInterface * p = aData.pAsSequence->getConstArray()[0].get(); - p->acquire(); - delete aData.pAsSequence; - aData.pAsInterface = p; - bIsList = sal_False; - return 1; - } - else - return aData.pAsSequence->getLength(); - } - else if( aData.pAsInterface && Reference<XInterface>( aData.pAsInterface ) == rListener ) - { - aData.pAsInterface->release(); - aData.pAsInterface = 0; - } - return aData.pAsInterface ? 1 : 0; -} - -void OInterfaceContainerHelper::disposeAndClear( const EventObject & rEvt ) SAL_THROW( () ) -{ - ClearableMutexGuard aGuard( rMutex ); - OInterfaceIteratorHelper aIt( *this ); - // Release container, in case new entries come while disposing - OSL_ENSURE( !bIsList || bInUse, "OInterfaceContainerHelper not in use" ); - if( !bIsList && aData.pAsInterface ) - aData.pAsInterface->release(); - // set the member to null, use the iterator to delete the values - aData.pAsInterface = NULL; - bIsList = sal_False; - bInUse = sal_False; - aGuard.clear(); - while( aIt.hasMoreElements() ) - { - try - { - Reference<XEventListener > xLst( aIt.next(), UNO_QUERY ); - if( xLst.is() ) - xLst->disposing( rEvt ); - } - catch ( RuntimeException & ) - { - // be robust, if e.g. a remote bridge has disposed already. - // there is no way to delegate the error to the caller :o(. - } - } -} - - -void OInterfaceContainerHelper::clear() SAL_THROW( () ) -{ - ClearableMutexGuard aGuard( rMutex ); - OInterfaceIteratorHelper aIt( *this ); - // Release container, in case new entries come while disposing - OSL_ENSURE( !bIsList || bInUse, "OInterfaceContainerHelper not in use" ); - if( !bIsList && aData.pAsInterface ) - aData.pAsInterface->release(); - // set the member to null, use the iterator to delete the values - aData.pAsInterface = 0; - bIsList = sal_False; - bInUse = sal_False; - // release mutex before aIt destructor call - aGuard.clear(); -} - -// specialized class for type - -typedef ::std::vector< std::pair < Type , void* > > t_type2ptr; - -OMultiTypeInterfaceContainerHelper::OMultiTypeInterfaceContainerHelper( Mutex & rMutex_ ) - SAL_THROW( () ) - : rMutex( rMutex_ ) -{ - m_pMap = new t_type2ptr(); -} -OMultiTypeInterfaceContainerHelper::~OMultiTypeInterfaceContainerHelper() - SAL_THROW( () ) -{ - t_type2ptr * pMap = (t_type2ptr *)m_pMap; - t_type2ptr::iterator iter = pMap->begin(); - t_type2ptr::iterator end = pMap->end(); - - while( iter != end ) - { - delete (OInterfaceContainerHelper*)(*iter).second; - (*iter).second = 0; - ++iter; - } - delete pMap; -} -Sequence< Type > OMultiTypeInterfaceContainerHelper::getContainedTypes() const - SAL_THROW( () ) -{ - t_type2ptr * pMap = (t_type2ptr *)m_pMap; - t_type2ptr::size_type nSize; - - ::osl::MutexGuard aGuard( rMutex ); - nSize = pMap->size(); - if( nSize ) - { - ::com::sun::star::uno::Sequence< Type > aInterfaceTypes( nSize ); - Type * pArray = aInterfaceTypes.getArray(); - - t_type2ptr::iterator iter = pMap->begin(); - t_type2ptr::iterator end = pMap->end(); - - sal_Int32 i = 0; - while( iter != end ) - { - // are interfaces added to this container? - if( ((OInterfaceContainerHelper*)(*iter).second)->getLength() ) - // yes, put the type in the array - pArray[i++] = (*iter).first; - ++iter; - } - if( (t_type2ptr::size_type)i != nSize ) { - // may be empty container, reduce the sequence to the right size - aInterfaceTypes = ::com::sun::star::uno::Sequence< Type >( pArray, i ); - } - return aInterfaceTypes; - } - return ::com::sun::star::uno::Sequence< Type >(); -} - -static t_type2ptr::iterator findType(t_type2ptr *pMap, const Type & rKey ) -{ - t_type2ptr::iterator iter = pMap->begin(); - t_type2ptr::iterator end = pMap->end(); - - while( iter != end ) - { - if (iter->first == rKey) - break; - ++iter; - } - return iter; -} - -OInterfaceContainerHelper * OMultiTypeInterfaceContainerHelper::getContainer( const Type & rKey ) const - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - - t_type2ptr * pMap = (t_type2ptr *)m_pMap; - t_type2ptr::iterator iter = findType( pMap, rKey ); - if( iter != pMap->end() ) - return (OInterfaceContainerHelper*) (*iter).second; - return 0; -} -sal_Int32 OMultiTypeInterfaceContainerHelper::addInterface( - const Type & rKey, const Reference< XInterface > & rListener ) - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - t_type2ptr * pMap = (t_type2ptr *)m_pMap; - t_type2ptr::iterator iter = findType( pMap, rKey ); - if( iter == pMap->end() ) - { - OInterfaceContainerHelper * pLC = new OInterfaceContainerHelper( rMutex ); - pMap->push_back(std::pair<Type, void*>(rKey, pLC)); - return pLC->addInterface( rListener ); - } - else - return ((OInterfaceContainerHelper*)(*iter).second)->addInterface( rListener ); -} -sal_Int32 OMultiTypeInterfaceContainerHelper::removeInterface( - const Type & rKey, const Reference< XInterface > & rListener ) - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - - // search container with id nUik - t_type2ptr * pMap = (t_type2ptr *)m_pMap; - t_type2ptr::iterator iter = findType( pMap, rKey ); - // container found? - if( iter != pMap->end() ) - return ((OInterfaceContainerHelper*)(*iter).second)->removeInterface( rListener ); - - // no container with this id. Always return 0 - return 0; -} -void OMultiTypeInterfaceContainerHelper::disposeAndClear( const EventObject & rEvt ) - SAL_THROW( () ) -{ - t_type2ptr::size_type nSize = 0; - OInterfaceContainerHelper ** ppListenerContainers = NULL; - { - ::osl::MutexGuard aGuard( rMutex ); - t_type2ptr * pMap = (t_type2ptr *)m_pMap; - nSize = pMap->size(); - if( nSize ) - { - typedef OInterfaceContainerHelper* ppp; - ppListenerContainers = new ppp[nSize]; - //ppListenerContainers = new (ListenerContainer*)[nSize]; - - t_type2ptr::iterator iter = pMap->begin(); - t_type2ptr::iterator end = pMap->end(); - - t_type2ptr::size_type i = 0; - while( iter != end ) - { - ppListenerContainers[i++] = (OInterfaceContainerHelper*)(*iter).second; - ++iter; - } - } - } - - // create a copy, because do not fire event in a guarded section - for( t_type2ptr::size_type i = 0; - i < nSize; i++ ) - { - if( ppListenerContainers[i] ) - ppListenerContainers[i]->disposeAndClear( rEvt ); - } - - delete [] ppListenerContainers; -} -void OMultiTypeInterfaceContainerHelper::clear() - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - t_type2ptr * pMap = (t_type2ptr *)m_pMap; - t_type2ptr::iterator iter = pMap->begin(); - t_type2ptr::iterator end = pMap->end(); - - while( iter != end ) - { - ((OInterfaceContainerHelper*)(*iter).second)->clear(); - ++iter; - } -} - -// specialized class for long - -typedef ::std::vector< std::pair < sal_Int32 , void* > > t_long2ptr; - -static t_long2ptr::iterator findLong(t_long2ptr *pMap, sal_Int32 nKey ) -{ - t_long2ptr::iterator iter = pMap->begin(); - t_long2ptr::iterator end = pMap->end(); - - while( iter != end ) - { - if (iter->first == nKey) - break; - ++iter; - } - return iter; -} - -OMultiTypeInterfaceContainerHelperInt32::OMultiTypeInterfaceContainerHelperInt32( Mutex & rMutex_ ) - SAL_THROW( () ) - : m_pMap( NULL ) - , rMutex( rMutex_ ) -{ - // delay pMap allocation until necessary. -} -OMultiTypeInterfaceContainerHelperInt32::~OMultiTypeInterfaceContainerHelperInt32() - SAL_THROW( () ) -{ - if (!m_pMap) - return; - - t_long2ptr * pMap = (t_long2ptr *)m_pMap; - t_long2ptr::iterator iter = pMap->begin(); - t_long2ptr::iterator end = pMap->end(); - - while( iter != end ) - { - delete (OInterfaceContainerHelper*)(*iter).second; - (*iter).second = 0; - ++iter; - } - delete pMap; -} -Sequence< sal_Int32 > OMultiTypeInterfaceContainerHelperInt32::getContainedTypes() const - SAL_THROW( () ) -{ - t_long2ptr * pMap = (t_long2ptr *)m_pMap; - t_long2ptr::size_type nSize; - - ::osl::MutexGuard aGuard( rMutex ); - nSize = pMap ? pMap->size() : 0; - if( nSize ) - { - ::com::sun::star::uno::Sequence< sal_Int32 > aInterfaceTypes( nSize ); - sal_Int32 * pArray = aInterfaceTypes.getArray(); - - t_long2ptr::iterator iter = pMap->begin(); - t_long2ptr::iterator end = pMap->end(); - - sal_Int32 i = 0; - while( iter != end ) - { - // are interfaces added to this container? - if( ((OInterfaceContainerHelper*)(*iter).second)->getLength() ) - // yes, put the type in the array - pArray[i++] = (*iter).first; - ++iter; - } - if( (t_long2ptr::size_type)i != nSize ) { - // may be empty container, reduce the sequence to the right size - aInterfaceTypes = ::com::sun::star::uno::Sequence< sal_Int32 >( pArray, i ); - } - return aInterfaceTypes; - } - return ::com::sun::star::uno::Sequence< sal_Int32 >(); -} -OInterfaceContainerHelper * OMultiTypeInterfaceContainerHelperInt32::getContainer( const sal_Int32 & rKey ) const - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - - if (!m_pMap) - return 0; - t_long2ptr * pMap = (t_long2ptr *)m_pMap; - t_long2ptr::iterator iter = findLong( pMap, rKey ); - if( iter != pMap->end() ) - return (OInterfaceContainerHelper*) (*iter).second; - return 0; -} -sal_Int32 OMultiTypeInterfaceContainerHelperInt32::addInterface( - const sal_Int32 & rKey, const Reference< XInterface > & rListener ) - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - if (!m_pMap) - m_pMap = new t_long2ptr(); - t_long2ptr * pMap = (t_long2ptr *)m_pMap; - t_long2ptr::iterator iter = findLong( pMap, rKey ); - if( iter == pMap->end() ) - { - OInterfaceContainerHelper * pLC = new OInterfaceContainerHelper( rMutex ); - pMap->push_back(std::pair< sal_Int32, void* >(rKey, pLC)); - return pLC->addInterface( rListener ); - } - else - return ((OInterfaceContainerHelper*)(*iter).second)->addInterface( rListener ); -} -sal_Int32 OMultiTypeInterfaceContainerHelperInt32::removeInterface( - const sal_Int32 & rKey, const Reference< XInterface > & rListener ) - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - - if (!m_pMap) - return 0; - // search container with id nUik - t_long2ptr * pMap = (t_long2ptr *)m_pMap; - t_long2ptr::iterator iter = findLong( pMap, rKey ); - // container found? - if( iter != pMap->end() ) - return ((OInterfaceContainerHelper*)(*iter).second)->removeInterface( rListener ); - - // no container with this id. Always return 0 - return 0; -} -void OMultiTypeInterfaceContainerHelperInt32::disposeAndClear( const EventObject & rEvt ) - SAL_THROW( () ) -{ - t_long2ptr::size_type nSize = 0; - OInterfaceContainerHelper ** ppListenerContainers = NULL; - { - ::osl::MutexGuard aGuard( rMutex ); - if (!m_pMap) - return; - - t_long2ptr * pMap = (t_long2ptr *)m_pMap; - nSize = pMap->size(); - if( nSize ) - { - typedef OInterfaceContainerHelper* ppp; - ppListenerContainers = new ppp[nSize]; - - t_long2ptr::iterator iter = pMap->begin(); - t_long2ptr::iterator end = pMap->end(); - - t_long2ptr::size_type i = 0; - while( iter != end ) - { - ppListenerContainers[i++] = (OInterfaceContainerHelper*)(*iter).second; - ++iter; - } - } - } - - // create a copy, because do not fire event in a guarded section - for( t_long2ptr::size_type i = 0; - i < nSize; i++ ) - { - if( ppListenerContainers[i] ) - ppListenerContainers[i]->disposeAndClear( rEvt ); - } - - delete [] ppListenerContainers; -} -void OMultiTypeInterfaceContainerHelperInt32::clear() - SAL_THROW( () ) -{ - ::osl::MutexGuard aGuard( rMutex ); - if (!m_pMap) - return; - t_long2ptr * pMap = (t_long2ptr *)m_pMap; - t_long2ptr::iterator iter = pMap->begin(); - t_long2ptr::iterator end = pMap->end(); - - while( iter != end ) - { - ((OInterfaceContainerHelper*)(*iter).second)->clear(); - ++iter; - } -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/macro_expander.cxx b/cppuhelper/source/macro_expander.cxx deleted file mode 100644 index db74d3697..000000000 --- a/cppuhelper/source/macro_expander.cxx +++ /dev/null @@ -1,210 +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_cppuhelper.hxx" - -#include <rtl/bootstrap.hxx> - -#include <uno/mapping.hxx> - -#include <cppuhelper/factory.hxx> -#include <cppuhelper/compbase2.hxx> -#include <cppuhelper/component_context.hxx> - -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/util/XMacroExpander.hpp> -#include "com/sun/star/uno/RuntimeException.hpp" - -#include "macro_expander.hxx" - -#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) -#define SERVICE_NAME_A "com.sun.star.lang.MacroExpander" -#define SERVICE_NAME_B "com.sun.star.lang.BootstrapMacroExpander" -#define IMPL_NAME "com.sun.star.lang.comp.cppuhelper.BootstrapMacroExpander" - - -using namespace ::rtl; -using namespace ::osl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - -namespace cppu -{ -//---- private forward ----------------------------------------------------------------------------- -Bootstrap const & get_unorc() SAL_THROW( () ); -} - -namespace cppuhelper { namespace detail { - -rtl::OUString expandMacros(rtl::OUString const & text) { - rtl::OUString t(text); - rtl_bootstrap_expandMacros_from_handle( - cppu::get_unorc().getHandle(), &t.pData); - return t; -} - -} } - -namespace -{ - -class ImplNames -{ -private: - Sequence<OUString> m_aNames; -public: - ImplNames() : m_aNames(2) - { - m_aNames[0] = OUSTR(SERVICE_NAME_A); - m_aNames[1] = OUSTR(SERVICE_NAME_B); - } - const Sequence<OUString>& getNames() const { return m_aNames; } -}; - -class theImplNames : public rtl::Static<ImplNames, theImplNames> {}; - -inline OUString s_impl_name() -{ - return OUSTR(IMPL_NAME); -} - -inline Sequence< OUString > const & s_get_service_names() -{ - return theImplNames::get().getNames(); -} - -typedef ::cppu::WeakComponentImplHelper2< - util::XMacroExpander, lang::XServiceInfo > t_uno_impl; - -struct mutex_holder -{ - Mutex m_mutex; -}; - -class Bootstrap_MacroExpander : public mutex_holder, public t_uno_impl -{ -protected: - virtual void SAL_CALL disposing(); - -public: - inline Bootstrap_MacroExpander( Reference< XComponentContext > const & ) SAL_THROW( () ) - : t_uno_impl( m_mutex ) - {} - virtual ~Bootstrap_MacroExpander() - SAL_THROW( () ); - - // XMacroExpander impl - virtual OUString SAL_CALL expandMacros( OUString const & exp ) - throw (lang::IllegalArgumentException); - // XServiceInfo impl - virtual OUString SAL_CALL getImplementationName() - throw (RuntimeException); - virtual sal_Bool SAL_CALL supportsService( OUString const & serviceName ) - throw (RuntimeException); - virtual Sequence< OUString > SAL_CALL getSupportedServiceNames() - throw (RuntimeException); -}; - -//__________________________________________________________________________________________________ -void Bootstrap_MacroExpander::disposing() -{} -//__________________________________________________________________________________________________ -Bootstrap_MacroExpander::~Bootstrap_MacroExpander() SAL_THROW( () ) -{} - -// XServiceInfo impl -//__________________________________________________________________________________________________ -OUString Bootstrap_MacroExpander::getImplementationName() - throw (RuntimeException) -{ - return s_impl_name(); -} -//__________________________________________________________________________________________________ -sal_Bool Bootstrap_MacroExpander::supportsService( OUString const & serviceName ) - throw (RuntimeException) -{ - Sequence< OUString > const & service_names = s_get_service_names(); - OUString const * p = service_names.getConstArray(); - for ( sal_Int32 nPos = service_names.getLength(); nPos--; ) - { - if (p[ nPos ].equals( serviceName )) - return sal_True; - } - return sal_False; -} -//__________________________________________________________________________________________________ -Sequence< OUString > Bootstrap_MacroExpander::getSupportedServiceNames() - throw (RuntimeException) -{ - return s_get_service_names(); -} - -// XMacroExpander impl -//__________________________________________________________________________________________________ -OUString Bootstrap_MacroExpander::expandMacros( OUString const & exp ) - throw (lang::IllegalArgumentException) -{ - return cppuhelper::detail::expandMacros( exp ); -} - -//================================================================================================== -Reference< XInterface > SAL_CALL service_create( - Reference< XComponentContext > const & xComponentContext ) - SAL_THROW( (RuntimeException) ) -{ - return static_cast< ::cppu::OWeakObject * >( new Bootstrap_MacroExpander( xComponentContext ) ); -} - -} - -namespace cppu -{ - -//################################################################################################## -Reference< lang::XSingleComponentFactory > create_boostrap_macro_expander_factory() SAL_THROW( () ) -{ - Reference< lang::XSingleComponentFactory > free(::cppu::createSingleComponentFactory( - service_create, - s_impl_name(), - s_get_service_names() )); - - uno::Environment curr_env(Environment::getCurrent()); - uno::Environment target_env(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))); - - uno::Mapping target2curr(target_env, curr_env); - - return Reference<lang::XSingleComponentFactory>( - reinterpret_cast<lang::XSingleComponentFactory *>( - target2curr.mapInterface(free.get(), ::getCppuType(&free))), - SAL_NO_ACQUIRE); -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/macro_expander.hxx b/cppuhelper/source/macro_expander.hxx deleted file mode 100644 index d9914aeec..000000000 --- a/cppuhelper/source/macro_expander.hxx +++ /dev/null @@ -1,63 +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. - * - ************************************************************************/ - -#ifndef CPPUHELPER_SOURCE_MACRO_EXPANDER_HXX -#define CPPUHELPER_SOURCE_MACRO_EXPANDER_HXX - -#include "sal/config.h" - -namespace rtl { class OUString; } - -namespace cppuhelper { - -namespace detail { - -/** - * Helper function to expand macros based on the unorc/uno.ini. - * - * @internal - * - * @param text - * Some text. - * - * @return - * The expanded text. - * - * @exception com::sun::star::lang::IllegalArgumentException - * If uriReference is a vnd.sun.star.expand URL reference that contains unknown - * macros. - */ -::rtl::OUString expandMacros(rtl::OUString const & text); - -} - -} - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/makefile.mk b/cppuhelper/source/makefile.mk deleted file mode 100755 index f10548282..000000000 --- a/cppuhelper/source/makefile.mk +++ /dev/null @@ -1,193 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* -PRJ=.. - -PRJNAME=cppuhelper -TARGET=cppuhelper - -ENABLE_EXCEPTIONS=TRUE -USE_DEFFILE=TRUE - -# not strictly a bootstrap service but containing -# bootstrap code that may require generated files -# without "-L" (light) switch -BOOTSTRAP_SERVICE=TRUE - -.IF "$(OS)" != "WNT" -UNIXVERSIONNAMES=UDK -.ENDIF # WNT - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -UNOUCRRDB=$(SOLARBINDIR)$/udkapi.rdb -UNOUCRDEP=$(UNOUCRRDB) -UNOUCROUT=$(OUT)$/inc$/$(TARGET) -INCPRE+=$(OUT)$/inc$/$(TARGET) $(OUT)$/inc$/private - -CPPUMAKERFLAGS= -C - -UNOTYPES= \ - com.sun.star.beans.PropertyAttribute \ - com.sun.star.beans.PropertyValue \ - com.sun.star.beans.XFastPropertySet \ - com.sun.star.beans.XMultiPropertySet \ - com.sun.star.beans.XPropertyAccess \ - com.sun.star.beans.XPropertySet \ - com.sun.star.bridge.UnoUrlResolver \ - com.sun.star.bridge.XUnoUrlResolver \ - com.sun.star.connection.SocketPermission \ - com.sun.star.container.XElementAccess \ - com.sun.star.container.XEnumerationAccess \ - com.sun.star.container.XHierarchicalNameAccess \ - com.sun.star.container.XNameAccess \ - com.sun.star.container.XNameContainer \ - com.sun.star.container.XSet \ - com.sun.star.io.FilePermission \ - com.sun.star.io.IOException \ - com.sun.star.lang.DisposedException \ - com.sun.star.lang.WrappedTargetRuntimeException \ - com.sun.star.lang.XComponent \ - com.sun.star.lang.XEventListener \ - com.sun.star.lang.XInitialization \ - com.sun.star.lang.XMultiComponentFactory \ - com.sun.star.lang.XMultiServiceFactory \ - com.sun.star.lang.XServiceInfo \ - com.sun.star.lang.XSingleComponentFactory \ - com.sun.star.lang.XSingleServiceFactory \ - com.sun.star.lang.XTypeProvider \ - com.sun.star.loader.XImplementationLoader \ - com.sun.star.reflection.XArrayTypeDescription \ - com.sun.star.reflection.XCompoundTypeDescription \ - com.sun.star.reflection.XEnumTypeDescription \ - com.sun.star.reflection.XIdlClass \ - com.sun.star.reflection.XIdlClassProvider \ - com.sun.star.reflection.XIdlField2 \ - com.sun.star.reflection.XIdlReflection \ - com.sun.star.reflection.XIndirectTypeDescription \ - com.sun.star.reflection.XInterfaceAttributeTypeDescription \ - com.sun.star.reflection.XInterfaceAttributeTypeDescription2 \ - com.sun.star.reflection.XInterfaceMemberTypeDescription \ - com.sun.star.reflection.XInterfaceMethodTypeDescription \ - com.sun.star.reflection.XInterfaceTypeDescription2 \ - com.sun.star.reflection.XMethodParameter \ - com.sun.star.reflection.XStructTypeDescription \ - com.sun.star.reflection.XTypeDescription \ - com.sun.star.reflection.XUnionTypeDescription \ - com.sun.star.registry.XImplementationRegistration \ - com.sun.star.registry.XRegistryKey \ - com.sun.star.registry.XSimpleRegistry \ - com.sun.star.security.RuntimePermission \ - com.sun.star.security.XAccessController \ - com.sun.star.uno.DeploymentException \ - com.sun.star.uno.RuntimeException \ - com.sun.star.uno.XAggregation \ - com.sun.star.uno.XComponentContext \ - com.sun.star.uno.XCurrentContext \ - com.sun.star.uno.XUnloadingPreference \ - com.sun.star.uno.XWeak \ - com.sun.star.util.XMacroExpander - -.IF "$(debug)" != "" -# msvc++: no inlining for debugging -.IF "$(COM)" == "MSC" -CFLAGS += -Ob0 -.ENDIF -.ENDIF - -SLOFILES= \ - $(SLO)$/typeprovider.obj \ - $(SLO)$/exc_thrower.obj \ - $(SLO)$/servicefactory.obj \ - $(SLO)$/bootstrap.obj \ - $(SLO)$/implbase.obj \ - $(SLO)$/implbase_ex.obj \ - $(SLO)$/propshlp.obj \ - $(SLO)$/weak.obj \ - $(SLO)$/interfacecontainer.obj \ - $(SLO)$/stdidlclass.obj \ - $(SLO)$/factory.obj \ - $(SLO)$/component_context.obj \ - $(SLO)$/component.obj \ - $(SLO)$/shlib.obj \ - $(SLO)$/tdmgr.obj \ - $(SLO)$/implementationentry.obj \ - $(SLO)$/access_control.obj \ - $(SLO)$/macro_expander.obj \ - $(SLO)$/unourl.obj \ - $(SLO)$/propertysetmixin.obj \ - $(SLO)$/findsofficepath.obj - -OBJFILES = $(OBJ)$/findsofficepath.obj - -.IF "$(GUI)" == "WNT" -SHL1TARGET=$(TARGET)$(UDK_MAJOR)$(COMID) -.ELSE -SHL1TARGET=uno_$(TARGET)$(COMID) -.ENDIF - -SHL1STDLIBS= \ - $(SALLIB) \ - $(SALHELPERLIB) \ - $(CPPULIB) -.IF "$(OS)" == "WNT" -SHL1STDLIBS += $(ADVAPI32LIB) -.ENDIF - -SHL1DEPN= -.IF "$(COM)" == "MSC" -SHL1IMPLIB=i$(TARGET) -.ELSE -SHL1IMPLIB=uno_$(TARGET)$(COMID) -.ENDIF -SHL1OBJS = $(SLOFILES) -SHL1RPATH=URELIB - -SHL1DEF=$(MISC)$/$(SHL1TARGET).def - -DEF1NAME=$(SHL1TARGET) - -.IF "$(COMNAME)"=="msci" -SHL1VERSIONMAP=msvc_win32_intel.map -.ELIF "$(COMNAME)"=="mscx" -SHL1VERSIONMAP=msvc_win32_x86_64.map -.ELIF "$(COMNAME)"=="sunpro5" -SHL1VERSIONMAP=cc5_solaris_sparc.map -.ELIF "$(COMNAME)"=="gcc3" -SHL1VERSIONMAP=gcc3.map -.ENDIF - -# --- Targets ------------------------------------------------------ - -.IF "$(diag)"!="" -CFLAGS += -DDIAG=$(diag) -.ENDIF - -.INCLUDE : target.mk diff --git a/cppuhelper/source/msvc_win32_intel.map b/cppuhelper/source/msvc_win32_intel.map deleted file mode 100644 index fef204f36..000000000 --- a/cppuhelper/source/msvc_win32_intel.map +++ /dev/null @@ -1,287 +0,0 @@ -UDK_3_0_0 { - global: -GetVersionInfo; -??0OComponentHelper@cppu@@QAE@AAVMutex@osl@@@Z; -??1OComponentHelper@cppu@@UAE@XZ; -??BOWeakObject@cppu@@QAA?AV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@XZ; -??BWeakReferenceHelper@uno@star@sun@com@@QBA?AV?$Reference@VXInterface@uno@star@sun@com@@@1234@XZ; -??_7OComponentHelper@cppu@@6BOWeakObject@1@@; -??_7OComponentHelper@cppu@@6BXAggregation@uno@star@sun@com@@@; -??_7OComponentHelper@cppu@@6BXComponent@lang@star@sun@com@@@; -??_7OComponentHelper@cppu@@6BXTypeProvider@lang@star@sun@com@@@; -??_7OWeakAggObject@cppu@@6BOWeakObject@1@@; -??_7OWeakAggObject@cppu@@6BXAggregation@uno@star@sun@com@@@; -??_7OWeakObject@cppu@@6B@; -??_GOComponentHelper@cppu@@UAEPAXI@Z; -??_GOWeakAggObject@cppu@@MAEPAXI@Z; -??_GOWeakObject@cppu@@MAEPAXI@Z; -?addEventListener@OComponentHelper@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -?dispose@OComponentHelper@cppu@@UAAXXZ; -?disposing@OComponentHelper@cppu@@MAAXXZ; -?release@OComponentHelper@cppu@@UAAXXZ; -?removeEventListener@OComponentHelper@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -??1OTypeCollection@cppu@@QAE@XZ; -?createFactoryProxy@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABV23456@@Z; -?createOneInstanceRegistryFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABVOUString@rtl@@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@@Z; -?createSingleRegistryFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABVOUString@rtl@@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@@Z; -?getTypes@OTypeCollection@cppu@@QAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?createStandardClassWithSequence@cppu@@YAPAVXIdlClass@reflection@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@456@ABVOUString@rtl@@ABV?$Reference@VXIdlClass@reflection@star@sun@com@@@8456@ABV?$Sequence@VOUString@rtl@@@8456@@Z; -??0OInterfaceContainerHelper@cppu@@QAE@AAVMutex@osl@@@Z; -??0OInterfaceIteratorHelper@cppu@@QAE@AAVOInterfaceContainerHelper@1@@Z; -??1OInterfaceContainerHelper@cppu@@QAE@XZ; -??1OInterfaceIteratorHelper@cppu@@QAE@XZ; -?addInterface@OInterfaceContainerHelper@cppu@@QAAJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -?clear@OInterfaceContainerHelper@cppu@@QAAXXZ; -?copyAndResetInUse@OInterfaceContainerHelper@cppu@@AAEXXZ; -?disposeAndClear@OInterfaceContainerHelper@cppu@@QAAXABUEventObject@lang@star@sun@com@@@Z; -?getElements@OInterfaceContainerHelper@cppu@@QBA?AV?$Sequence@V?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?getLength@OInterfaceContainerHelper@cppu@@QBAJXZ; -?next@OInterfaceIteratorHelper@cppu@@QAAPAVXInterface@uno@star@sun@com@@XZ; -?removeInterface@OInterfaceContainerHelper@cppu@@QAAJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -??0WeakReferenceHelper@uno@star@sun@com@@QAE@ABV01234@@Z; -??0WeakReferenceHelper@uno@star@sun@com@@QAE@ABV?$Reference@VXInterface@uno@star@sun@com@@@1234@@Z; -??1OWeakAggObject@cppu@@MAE@XZ; -??1OWeakObject@cppu@@MAE@XZ; -??1WeakReferenceHelper@uno@star@sun@com@@QAE@XZ; -??4WeakReferenceHelper@uno@star@sun@com@@QAAAAV01234@ABV01234@@Z; -??4WeakReferenceHelper@uno@star@sun@com@@QAAAAV01234@ABV?$Reference@VXInterface@uno@star@sun@com@@@1234@@Z; -?acquire@OWeakAggObject@cppu@@UAAXXZ; -?acquire@OWeakObject@cppu@@UAAXXZ; -?get@WeakReferenceHelper@uno@star@sun@com@@QBA?AV?$Reference@VXInterface@uno@star@sun@com@@@2345@XZ; -?queryAdapter@OWeakObject@cppu@@UAA?AV?$Reference@VXAdapter@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?queryAggregation@OWeakAggObject@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?queryInterface@OWeakAggObject@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?queryInterface@OWeakObject@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?release@OWeakAggObject@cppu@@UAAXXZ; -?release@OWeakObject@cppu@@UAAXXZ; -?setDelegator@OWeakAggObject@cppu@@UAAXABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -??0OPropertyArrayHelper@cppu@@QAE@ABV?$Sequence@UProperty@beans@star@sun@com@@@uno@star@sun@com@@E@Z; -??0OPropertyArrayHelper@cppu@@QAE@PAUProperty@beans@star@sun@com@@JE@Z; -??1IPropertyArrayHelper@cppu@@UAE@XZ; -??1OPropertyArrayHelper@cppu@@UAE@XZ; -??1OPropertySetHelper@cppu@@QAE@XZ; -??_7IPropertyArrayHelper@cppu@@6B@; -??_7OPropertyArrayHelper@cppu@@6B@; -??_7OPropertySetHelper@cppu@@6BXFastPropertySet@beans@star@sun@com@@@; -??_7OPropertySetHelper@cppu@@6BXMultiPropertySet@beans@star@sun@com@@@; -??_7OPropertySetHelper@cppu@@6BXPropertySet@beans@star@sun@com@@@; -??_GIPropertyArrayHelper@cppu@@UAEPAXI@Z; -??_GOPropertyArrayHelper@cppu@@UAEPAXI@Z; -?addPropertiesChangeListener@OPropertySetHelper@cppu@@UAAXABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@ABV?$Reference@VXPropertiesChangeListener@beans@star@sun@com@@@4567@@Z; -?addPropertyChangeListener@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?addVetoableChangeListener@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?createPropertySetInfo@OPropertySetHelper@cppu@@SA?AV?$Reference@VXPropertySetInfo@beans@star@sun@com@@@uno@star@sun@com@@AAVIPropertyArrayHelper@2@@Z; -?disposing@OPropertySetHelper@cppu@@QAAXXZ; -?fillHandles@OPropertyArrayHelper@cppu@@UAAJPAJABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@@Z; -?fillPropertyMembersByHandle@OPropertyArrayHelper@cppu@@UAAEPAVOUString@rtl@@PAFJ@Z; -?fire@OPropertySetHelper@cppu@@IAAXPAJPBVAny@uno@star@sun@com@@1JE@Z; -?firePropertiesChangeEvent@OPropertySetHelper@cppu@@UAAXABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@ABV?$Reference@VXPropertiesChangeListener@beans@star@sun@com@@@4567@@Z; -?getCount@OPropertyArrayHelper@cppu@@QBAJXZ; -?getFastPropertyValue@OPropertySetHelper@cppu@@UAA?AVAny@uno@star@sun@com@@J@Z; -?getHandleByName@OPropertyArrayHelper@cppu@@UAAJABVOUString@rtl@@@Z; -?getProperties@OPropertyArrayHelper@cppu@@UAA?AV?$Sequence@UProperty@beans@star@sun@com@@@uno@star@sun@com@@XZ; -?getPropertyByName@OPropertyArrayHelper@cppu@@UAA?AUProperty@beans@star@sun@com@@ABVOUString@rtl@@@Z; -?getPropertyValue@OPropertySetHelper@cppu@@UAA?AVAny@uno@star@sun@com@@ABVOUString@rtl@@@Z; -?getPropertyValues@OPropertySetHelper@cppu@@UAA?AV?$Sequence@VAny@uno@star@sun@com@@@uno@star@sun@com@@ABV?$Sequence@VOUString@rtl@@@4567@@Z; -?hasPropertyByName@OPropertyArrayHelper@cppu@@UAAEABVOUString@rtl@@@Z; -?init@OPropertyArrayHelper@cppu@@AAEXE@Z; -?queryInterface@OPropertySetHelper@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?queryInterface@OPropertySetHelper@cppu@@W3AA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?queryInterface@OPropertySetHelper@cppu@@W7AA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?removePropertiesChangeListener@OPropertySetHelper@cppu@@UAAXABV?$Reference@VXPropertiesChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?removePropertyChangeListener@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?removeVetoableChangeListener@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?setFastPropertyValue@OPropertySetHelper@cppu@@UAAXJABVAny@uno@star@sun@com@@@Z; -?setFastPropertyValues@OPropertySetHelper@cppu@@IAAXJPAJPBVAny@uno@star@sun@com@@J@Z; -?setPropertyValue@OPropertySetHelper@cppu@@UAAXABVOUString@rtl@@ABVAny@uno@star@sun@com@@@Z; -?setPropertyValues@OPropertySetHelper@cppu@@UAAXABV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@ABV?$Sequence@VAny@uno@star@sun@com@@@4567@@Z; -??0ClassDataBase@cppu@@QAE@J@Z; -??0ClassDataBase@cppu@@QAE@XZ; -??1ClassDataBase@cppu@@QAE@XZ; -?getImplHelperInitMutex@cppu@@YAAAVMutex@osl@@XZ; -?getImplementationId@ClassData@cppu@@QAA?AV?$Sequence@C@uno@star@sun@com@@XZ; -?getTypes@ClassData@cppu@@QAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?initTypeProvider@ClassData@cppu@@QAAXXZ; -?query@ClassData@cppu@@QAA?AVAny@uno@star@sun@com@@ABVType@4567@PAVXTypeProvider@lang@567@@Z; -?writeTypeOffset@ClassData@cppu@@QAAXABVType@uno@star@sun@com@@J@Z; -?createRegistryServiceFactory@cppu@@YA?AV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@0E0@Z; -?throwException@cppu@@YAXABVAny@uno@star@sun@com@@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@00000000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@0000000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@000000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@00000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@0000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@000000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@00000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@0000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@000ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@00ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@0ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QAE@ABVType@uno@star@sun@com@@ABV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??1OImplementationId@cppu@@QAE@XZ; -?getImplementationId@OImplementationId@cppu@@QBA?AV?$Sequence@C@uno@star@sun@com@@XZ; -?writeSharedLibComponentInfo@cppu@@YAXABVOUString@rtl@@0ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@5678@@Z; -?remove@OInterfaceIteratorHelper@cppu@@QAAXXZ; -??0OWeakObject@cppu@@QAE@XZ; -?installTypeDescriptionManager@cppu@@YAEABV?$Reference@VXHierarchicalNameAccess@container@star@sun@com@@@uno@star@sun@com@@@Z; -?loadSharedLibComponentFactory@cppu@@YA?AV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@00ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@@Z; -?loadSharedLibComponentFactory@cppu@@YA?AV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@00ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@0@Z; -?createComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@PBUContextEntry_Init@1@JABV23456@@Z; -?bootstrap_InitialComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXSimpleRegistry@registry@star@sun@com@@@3456@ABVOUString@rtl@@@Z; -?createNestedRegistry@cppu@@YA?AV?$Reference@VXSimpleRegistry@registry@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@@Z; -?createSimpleRegistry@cppu@@YA?AV?$Reference@VXSimpleRegistry@registry@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@@Z; -??0WeakAggComponentImplHelperBase@cppu@@IAE@AAVMutex@osl@@@Z; -??0WeakComponentImplHelperBase@cppu@@IAE@AAVMutex@osl@@@Z; -?acquire@WeakAggComponentImplHelperBase@cppu@@UAAXXZ; -?acquire@WeakComponentImplHelperBase@cppu@@UAAXXZ; -?addEventListener@WeakAggComponentImplHelperBase@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -?addEventListener@WeakComponentImplHelperBase@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -?dispose@WeakAggComponentImplHelperBase@cppu@@UAAXXZ; -?dispose@WeakComponentImplHelperBase@cppu@@UAAXXZ; -?queryAggregation@WeakAggComponentImplHelperBase@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?queryInterface@WeakAggComponentImplHelperBase@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?queryInterface@WeakComponentImplHelperBase@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?release@WeakAggComponentImplHelperBase@cppu@@UAAXXZ; -?release@WeakComponentImplHelperBase@cppu@@UAAXXZ; -?removeEventListener@WeakAggComponentImplHelperBase@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -?removeEventListener@WeakComponentImplHelperBase@cppu@@UAAXABV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -??1WeakAggComponentImplHelperBase@cppu@@UAE@XZ; -??1WeakComponentImplHelperBase@cppu@@UAE@XZ; -?disposing@WeakAggComponentImplHelperBase@cppu@@MAAXXZ; -?disposing@WeakComponentImplHelperBase@cppu@@MAAXXZ; -?createOneInstanceFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABVOUString@rtl@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@0@ZABV?$Sequence@VOUString@rtl@@@3456@PAU_rtl_ModuleCount@@@Z; -?createSingleComponentFactory@cppu@@YA?AV?$Reference@VXSingleComponentFactory@lang@star@sun@com@@@uno@star@sun@com@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@ABV?$Reference@VXComponentContext@uno@star@sun@com@@@3456@@ZABVOUString@rtl@@ABV?$Sequence@VOUString@rtl@@@3456@PAU_rtl_ModuleCount@@@Z; -?createSingleFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@ABV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@ABVOUString@rtl@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@0@ZABV?$Sequence@VOUString@rtl@@@3456@PAU_rtl_ModuleCount@@@Z; -?defaultBootstrap_InitialComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?acquire@OComponentHelper@cppu@@UAAXXZ; -?getTypes@OComponentHelper@cppu@@UAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?queryAggregation@OComponentHelper@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?queryInterface@OComponentHelper@cppu@@UAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; -?removeListener@?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@cppu@@QAEXABVType@uno@star@sun@com@@ABV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z; -??0OMultiTypeInterfaceContainerHelper@cppu@@QAE@AAVMutex@osl@@@Z; -??0OMultiTypeInterfaceContainerHelperInt32@cppu@@QAE@AAVMutex@osl@@@Z; -??1OMultiTypeInterfaceContainerHelper@cppu@@QAE@XZ; -??1OMultiTypeInterfaceContainerHelperInt32@cppu@@QAE@XZ; -?addInterface@OMultiTypeInterfaceContainerHelper@cppu@@QAAJABVType@uno@star@sun@com@@ABV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z; -?addInterface@OMultiTypeInterfaceContainerHelperInt32@cppu@@QAAJABJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -?clear@OMultiTypeInterfaceContainerHelper@cppu@@QAAXXZ; -?clear@OMultiTypeInterfaceContainerHelperInt32@cppu@@QAAXXZ; -?disposeAndClear@OMultiTypeInterfaceContainerHelper@cppu@@QAAXABUEventObject@lang@star@sun@com@@@Z; -?disposeAndClear@OMultiTypeInterfaceContainerHelperInt32@cppu@@QAAXABUEventObject@lang@star@sun@com@@@Z; -?getContainedTypes@OMultiTypeInterfaceContainerHelper@cppu@@QBA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?getContainedTypes@OMultiTypeInterfaceContainerHelperInt32@cppu@@QBA?AV?$Sequence@J@uno@star@sun@com@@XZ; -?getContainer@OMultiTypeInterfaceContainerHelper@cppu@@QBAPAVOInterfaceContainerHelper@2@ABVType@uno@star@sun@com@@@Z; -?getContainer@OMultiTypeInterfaceContainerHelperInt32@cppu@@QBAPAVOInterfaceContainerHelper@2@ABJ@Z; -?removeInterface@OMultiTypeInterfaceContainerHelper@cppu@@QAAJABVType@uno@star@sun@com@@ABV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z; -?removeInterface@OMultiTypeInterfaceContainerHelperInt32@cppu@@QAAJABJABV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -??0OPropertySetHelper@cppu@@QAE@AAU?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@1@@Z; -?addListener@?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@cppu@@QAEXABVType@uno@star@sun@com@@ABV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z; -?component_writeInfoHelper@cppu@@YAEPAX0QBUImplementationEntry@1@@Z; -?component_getFactoryHelper@cppu@@YAPAXPBDPAX1QBUImplementationEntry@1@@Z; -?ImplHelper_query@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAX@Z; -?ImplHelper_queryNoXInterface@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAX@Z; -?ImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z; -?ImplInhHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@ABV23456@@Z; -?ImplHelper_getImplementationId@cppu@@YA?AV?$Sequence@C@uno@star@sun@com@@PAUclass_data@1@@Z; -?WeakImplHelper_query@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAXPAVOWeakObject@1@@Z; -?WeakImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z; -?WeakAggImplHelper_queryAgg@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAXPAVOWeakAggObject@1@@Z; -?WeakAggComponentImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z; -?WeakComponentImplHelper_query@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAXPAVWeakComponentImplHelperBase@1@@Z; -?WeakAggImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z; -?WeakAggComponentImplHelper_queryAgg@cppu@@YA?AVAny@uno@star@sun@com@@ABVType@3456@PAUclass_data@1@PAXPAVWeakAggComponentImplHelperBase@1@@Z; -?WeakComponentImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PAUclass_data@1@@Z; -?defaultBootstrap_InitialComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@ABVOUString@rtl@@@Z; - -??0AccessControl@cppu@@QAE@ABV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@@Z; -??0AccessControl@cppu@@QAE@ABV?$Reference@VXAccessController@security@star@sun@com@@@uno@star@sun@com@@@Z; -??0AccessControl@cppu@@QAE@ABV01@@Z; -?checkRuntimePermission@AccessControl@cppu@@QAAXABVOUString@rtl@@@Z; -?checkFilePermission@AccessControl@cppu@@QAAXABVOUString@rtl@@0@Z; -?checkSocketPermission@AccessControl@cppu@@QAAXABVOUString@rtl@@0@Z; - -??0UnoUrl@cppu@@QAE@ABV01@@Z; -??0UnoUrl@cppu@@QAE@ABVOUString@rtl@@@Z; -??0UnoUrlDescriptor@cppu@@QAE@ABV01@@Z; -??0UnoUrlDescriptor@cppu@@QAE@ABVOUString@rtl@@@Z; -??1UnoUrl@cppu@@QAE@XZ; -??1UnoUrlDescriptor@cppu@@QAE@XZ; -??4UnoUrl@cppu@@QAEAAV01@ABV01@@Z; -??4UnoUrlDescriptor@cppu@@QAEAAV01@ABV01@@Z; -?getConnection@UnoUrl@cppu@@QBEABVUnoUrlDescriptor@2@XZ; -?getDescriptor@UnoUrlDescriptor@cppu@@QBEABVOUString@rtl@@XZ; -?getName@UnoUrlDescriptor@cppu@@QBEABVOUString@rtl@@XZ; -?getObjectName@UnoUrl@cppu@@QBEABVOUString@rtl@@XZ; -?getParameter@UnoUrlDescriptor@cppu@@QBE?AVOUString@rtl@@ABV34@@Z; -?getProtocol@UnoUrl@cppu@@QBEABVUnoUrlDescriptor@2@XZ; -?hasParameter@UnoUrlDescriptor@cppu@@QBE_NABVOUString@rtl@@@Z; - - local: - *; -}; - -UDK_3.1 { - global: - ?getCaughtException@cppu@@YA?AVAny@uno@star@sun@com@@XZ; - - ??0OPropertySetHelper@cppu@@QAE@AAU?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@1@_N@Z; - - ?bootstrap@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@XZ; - ??0BootstrapException@cppu@@QAE@XZ; - ??0BootstrapException@cppu@@QAE@ABVOUString@rtl@@@Z; - ??0BootstrapException@cppu@@QAE@ABV01@@Z; - ??1BootstrapException@cppu@@UAE@XZ; - ??4BootstrapException@cppu@@QAEAAV01@ABV01@@Z; - ?getMessage@BootstrapException@cppu@@QBEABVOUString@rtl@@XZ; -} UDK_3_0_0; - -UDK_3.2 { - global: - ??1PropertySetMixinImpl@cppu@@AAE@XZ; - ?queryInterface@PropertySetMixinImpl@cppu@@MAA?AVAny@uno@star@sun@com@@ABVType@4567@@Z; - ?getPropertySetInfo@PropertySetMixinImpl@cppu@@MAA?AV?$Reference@VXPropertySetInfo@beans@star@sun@com@@@uno@star@sun@com@@XZ; - ?notify@BoundListeners@PropertySetMixinImpl@cppu@@QBEXXZ; - ?setPropertyValue@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABVAny@uno@star@sun@com@@@Z; - ?getPropertyValue@PropertySetMixinImpl@cppu@@MAA?AVAny@uno@star@sun@com@@ABVOUString@rtl@@@Z; - ?removePropertyChangeListener@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; - ?removeVetoableChangeListener@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; - ?setFastPropertyValue@PropertySetMixinImpl@cppu@@MAAXJABVAny@uno@star@sun@com@@@Z; - ?getFastPropertyValue@PropertySetMixinImpl@cppu@@MAA?AVAny@uno@star@sun@com@@J@Z; - ?getPropertyValues@PropertySetMixinImpl@cppu@@MAA?AV?$Sequence@UPropertyValue@beans@star@sun@com@@@uno@star@sun@com@@XZ; - ?setPropertyValues@PropertySetMixinImpl@cppu@@MAAXABV?$Sequence@UPropertyValue@beans@star@sun@com@@@uno@star@sun@com@@@Z; - ?prepareSet@PropertySetMixinImpl@cppu@@IAEXABVOUString@rtl@@ABVAny@uno@star@sun@com@@1PAVBoundListeners@12@@Z; - ??0BoundListeners@PropertySetMixinImpl@cppu@@QAE@XZ; - ??1BoundListeners@PropertySetMixinImpl@cppu@@QAE@XZ; - ??0PropertySetMixinImpl@cppu@@AAE@ABV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@W4Implements@01@ABV?$Sequence@VOUString@rtl@@@3456@ABVType@3456@@Z; - ?dispose@PropertySetMixinImpl@cppu@@IAEXXZ; - ?addPropertyChangeListener@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; - ?addVetoableChangeListener@PropertySetMixinImpl@cppu@@MAAXABVOUString@rtl@@ABV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -} UDK_3.1; - -UDK_3.3 { - global: - ?getTypes@OPropertySetHelper@cppu@@QAE?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -} UDK_3.2; - -UDK_3.4 { # OOo 2.4 - global: - ?bootstrap_expandUri@cppu@@YA?AVOUString@rtl@@ABV23@@Z; # rtl::OUString cppu::bootstrap_expandUri(rtl::OUString const &) -} UDK_3.3; - -UDK_3.5 { # OOo 3.0 - global: - ??0OPropertySetHelper@cppu@@QAE@AAU?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@1@PAVIEventNotificationHook@1@_N@Z; -} UDK_3.4; - -UDK_3.6 { # OOo 3.3 - global: - ?disposeWeakConnectionPoint@OWeakObject@cppu@@IAEXXZ; - ?clear@WeakReferenceHelper@uno@star@sun@com@@QAAXXZ; - ?createOneInstanceComponentFactory@cppu@@YA?AV?$Reference@VXSingleComponentFactory@lang@star@sun@com@@@uno@star@sun@com@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@ABV?$Reference@VXComponentContext@uno@star@sun@com@@@3456@@ZABVOUString@rtl@@ABV?$Sequence@VOUString@rtl@@@3456@PAU_rtl_ModuleCount@@@Z; -} UDK_3.5; - -UDK_3.7 { # OOo 3.4 - global: - ?setDependentFastPropertyValue@OPropertySetHelper@cppu@@IAEXJABVAny@uno@star@sun@com@@@Z; -} UDK_3.6; - diff --git a/cppuhelper/source/msvc_win32_x86_64.map b/cppuhelper/source/msvc_win32_x86_64.map deleted file mode 100644 index 40a6c0d31..000000000 --- a/cppuhelper/source/msvc_win32_x86_64.map +++ /dev/null @@ -1,280 +0,0 @@ -UDK_3_0_0 { - global: -GetVersionInfo; -??0OComponentHelper@cppu@@QEAA@AEAVMutex@osl@@@Z; -??1OComponentHelper@cppu@@UEAA@XZ; -??BOWeakObject@cppu@@QEAA?AV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@XZ; -??BWeakReferenceHelper@uno@star@sun@com@@QEBA?AV?$Reference@VXInterface@uno@star@sun@com@@@1234@XZ; -??_7OComponentHelper@cppu@@6BOWeakObject@1@@; -??_7OComponentHelper@cppu@@6BXAggregation@uno@star@sun@com@@@; -??_7OComponentHelper@cppu@@6BXComponent@lang@star@sun@com@@@; -??_7OComponentHelper@cppu@@6BXTypeProvider@lang@star@sun@com@@@; -??_7OWeakAggObject@cppu@@6BOWeakObject@1@@; -??_7OWeakAggObject@cppu@@6BXAggregation@uno@star@sun@com@@@; -??_7OWeakObject@cppu@@6B@; -??_GOComponentHelper@cppu@@UEAAPEAXI@Z; -??_GOWeakAggObject@cppu@@MEAAPEAXI@Z; -??_GOWeakObject@cppu@@MEAAPEAXI@Z; -?addEventListener@OComponentHelper@cppu@@UEAAXAEBV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -?dispose@OComponentHelper@cppu@@UEAAXXZ; -?disposing@OComponentHelper@cppu@@MEAAXXZ; -?release@OComponentHelper@cppu@@UEAAXXZ; -?removeEventListener@OComponentHelper@cppu@@UEAAXAEBV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -??1OTypeCollection@cppu@@QEAA@XZ; -?createFactoryProxy@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@AEBV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@AEBV23456@@Z; -?createOneInstanceRegistryFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@AEBV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@AEBVOUString@rtl@@AEBV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@@Z; -?createSingleRegistryFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@AEBV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@AEBVOUString@rtl@@AEBV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@@Z; -?getTypes@OTypeCollection@cppu@@QEAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?createStandardClassWithSequence@cppu@@YAPEAVXIdlClass@reflection@star@sun@com@@AEBV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@456@AEBVOUString@rtl@@AEBV?$Reference@VXIdlClass@reflection@star@sun@com@@@8456@AEBV?$Sequence@VOUString@rtl@@@8456@@Z; -??0OInterfaceContainerHelper@cppu@@QEAA@AEAVMutex@osl@@@Z; -??0OInterfaceIteratorHelper@cppu@@QEAA@AEAVOInterfaceContainerHelper@1@@Z; -??1OInterfaceContainerHelper@cppu@@QEAA@XZ; -??1OInterfaceIteratorHelper@cppu@@QEAA@XZ; -?addInterface@OInterfaceContainerHelper@cppu@@QEAAJAEBV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -?clear@OInterfaceContainerHelper@cppu@@QEAAXXZ; -?copyAndResetInUse@OInterfaceContainerHelper@cppu@@AEAAXXZ; -?disposeAndClear@OInterfaceContainerHelper@cppu@@QEAAXAEBUEventObject@lang@star@sun@com@@@Z; -?getElements@OInterfaceContainerHelper@cppu@@QEBA?AV?$Sequence@V?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?getLength@OInterfaceContainerHelper@cppu@@QEBAJXZ; -?next@OInterfaceIteratorHelper@cppu@@QEAAPEAVXInterface@uno@star@sun@com@@XZ; -?removeInterface@OInterfaceContainerHelper@cppu@@QEAAJAEBV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -??0WeakReferenceHelper@uno@star@sun@com@@QEAA@AEBV01234@@Z; -??0WeakReferenceHelper@uno@star@sun@com@@QEAA@AEBV?$Reference@VXInterface@uno@star@sun@com@@@1234@@Z; -??1OWeakAggObject@cppu@@MEAA@XZ; -??1OWeakObject@cppu@@MEAA@XZ; -??1WeakReferenceHelper@uno@star@sun@com@@QEAA@XZ; -??4WeakReferenceHelper@uno@star@sun@com@@QEAAAEAV01234@AEBV01234@@Z; -??4WeakReferenceHelper@uno@star@sun@com@@QEAAAEAV01234@AEBV?$Reference@VXInterface@uno@star@sun@com@@@1234@@Z; -?acquire@OWeakAggObject@cppu@@UEAAXXZ; -?acquire@OWeakObject@cppu@@UEAAXXZ; -?get@WeakReferenceHelper@uno@star@sun@com@@QEBA?AV?$Reference@VXInterface@uno@star@sun@com@@@2345@XZ; -?queryAdapter@OWeakObject@cppu@@UEAA?AV?$Reference@VXAdapter@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?queryAggregation@OWeakAggObject@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?queryInterface@OWeakAggObject@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?queryInterface@OWeakObject@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?release@OWeakAggObject@cppu@@UEAAXXZ; -?release@OWeakObject@cppu@@UEAAXXZ; -?setDelegator@OWeakAggObject@cppu@@UEAAXAEBV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -??0OPropertyArrayHelper@cppu@@QEAA@AEBV?$Sequence@UProperty@beans@star@sun@com@@@uno@star@sun@com@@E@Z; -??0OPropertyArrayHelper@cppu@@QEAA@PEAUProperty@beans@star@sun@com@@JE@Z; -??1IPropertyArrayHelper@cppu@@UEAA@XZ; -??1OPropertyArrayHelper@cppu@@UEAA@XZ; -??1OPropertySetHelper@cppu@@QEAA@XZ; -??_7IPropertyArrayHelper@cppu@@6B@; -??_7OPropertyArrayHelper@cppu@@6B@; -??_7OPropertySetHelper@cppu@@6BXFastPropertySet@beans@star@sun@com@@@; -??_7OPropertySetHelper@cppu@@6BXMultiPropertySet@beans@star@sun@com@@@; -??_7OPropertySetHelper@cppu@@6BXPropertySet@beans@star@sun@com@@@; -??_GIPropertyArrayHelper@cppu@@UEAAPEAXI@Z; -??_GOPropertyArrayHelper@cppu@@UEAAPEAXI@Z; -?addPropertiesChangeListener@OPropertySetHelper@cppu@@UEAAXAEBV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@AEBV?$Reference@VXPropertiesChangeListener@beans@star@sun@com@@@4567@@Z; -?addPropertyChangeListener@OPropertySetHelper@cppu@@UEAAXAEBVOUString@rtl@@AEBV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?addVetoableChangeListener@OPropertySetHelper@cppu@@UEAAXAEBVOUString@rtl@@AEBV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?createPropertySetInfo@OPropertySetHelper@cppu@@SA?AV?$Reference@VXPropertySetInfo@beans@star@sun@com@@@uno@star@sun@com@@AEAVIPropertyArrayHelper@2@@Z; -?disposing@OPropertySetHelper@cppu@@QEAAXXZ; -?fillHandles@OPropertyArrayHelper@cppu@@UEAAJPEAJAEBV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@@Z; -?fillPropertyMembersByHandle@OPropertyArrayHelper@cppu@@UEAAEPEAVOUString@rtl@@PEAFJ@Z; -?fire@OPropertySetHelper@cppu@@IEAAXPEAJPEBVAny@uno@star@sun@com@@1JE@Z; -?firePropertiesChangeEvent@OPropertySetHelper@cppu@@UEAAXAEBV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@AEBV?$Reference@VXPropertiesChangeListener@beans@star@sun@com@@@4567@@Z; -?getCount@OPropertyArrayHelper@cppu@@QEBAJXZ; -?getFastPropertyValue@OPropertySetHelper@cppu@@UEAA?AVAny@uno@star@sun@com@@J@Z; -?getHandleByName@OPropertyArrayHelper@cppu@@UEAAJAEBVOUString@rtl@@@Z; -?getProperties@OPropertyArrayHelper@cppu@@UEAA?AV?$Sequence@UProperty@beans@star@sun@com@@@uno@star@sun@com@@XZ; -?getPropertyByName@OPropertyArrayHelper@cppu@@UEAA?AUProperty@beans@star@sun@com@@AEBVOUString@rtl@@@Z; -?getPropertyValue@OPropertySetHelper@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVOUString@rtl@@@Z; -?getPropertyValues@OPropertySetHelper@cppu@@UEAA?AV?$Sequence@VAny@uno@star@sun@com@@@uno@star@sun@com@@AEBV?$Sequence@VOUString@rtl@@@4567@@Z; -?hasPropertyByName@OPropertyArrayHelper@cppu@@UEAAEAEBVOUString@rtl@@@Z; -?init@OPropertyArrayHelper@cppu@@AEAAXE@Z; -?queryInterface@OPropertySetHelper@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?queryInterface@OPropertySetHelper@cppu@@W7EAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?queryInterface@OPropertySetHelper@cppu@@WBA@EAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?removePropertiesChangeListener@OPropertySetHelper@cppu@@UEAAXAEBV?$Reference@VXPropertiesChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?removePropertyChangeListener@OPropertySetHelper@cppu@@UEAAXAEBVOUString@rtl@@AEBV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?removeVetoableChangeListener@OPropertySetHelper@cppu@@UEAAXAEBVOUString@rtl@@AEBV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -?setFastPropertyValue@OPropertySetHelper@cppu@@UEAAXJAEBVAny@uno@star@sun@com@@@Z; -?setFastPropertyValues@OPropertySetHelper@cppu@@IEAAXJPEAJPEBVAny@uno@star@sun@com@@J@Z; -?setPropertyValue@OPropertySetHelper@cppu@@UEAAXAEBVOUString@rtl@@AEBVAny@uno@star@sun@com@@@Z; -?setPropertyValues@OPropertySetHelper@cppu@@UEAAXAEBV?$Sequence@VOUString@rtl@@@uno@star@sun@com@@AEBV?$Sequence@VAny@uno@star@sun@com@@@4567@@Z; -??0ClassDataBase@cppu@@QEAA@J@Z; -??0ClassDataBase@cppu@@QEAA@XZ; -??1ClassDataBase@cppu@@QEAA@XZ; -?getImplHelperInitMutex@cppu@@YAAEAVMutex@osl@@XZ; -?getImplementationId@ClassData@cppu@@QEAA?AV?$Sequence@C@uno@star@sun@com@@XZ; -?getTypes@ClassData@cppu@@QEAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?initTypeProvider@ClassData@cppu@@QEAAXXZ; -?query@ClassData@cppu@@QEAA?AVAny@uno@star@sun@com@@AEBVType@4567@PEAVXTypeProvider@lang@567@@Z; -?writeTypeOffset@ClassData@cppu@@QEAAXAEBVType@uno@star@sun@com@@J@Z; -?createRegistryServiceFactory@cppu@@YA?AV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@AEBVOUString@rtl@@0E0@Z; -?throwException@cppu@@YAXAEBVAny@uno@star@sun@com@@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@00000000000AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@0000000000AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@000000000AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@00000000AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@0000000AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@000000AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@00000AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@0000AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@000AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@00AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@0AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??0OTypeCollection@cppu@@QEAA@AEBVType@uno@star@sun@com@@AEBV?$Sequence@VType@uno@star@sun@com@@@3456@@Z; -??1OImplementationId@cppu@@QEAA@XZ; -?getImplementationId@OImplementationId@cppu@@QEBA?AV?$Sequence@C@uno@star@sun@com@@XZ; -?writeSharedLibComponentInfo@cppu@@YAXAEBVOUString@rtl@@0AEBV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@AEBV?$Reference@VXRegistryKey@registry@star@sun@com@@@5678@@Z; -?remove@OInterfaceIteratorHelper@cppu@@QEAAXXZ; -??0OWeakObject@cppu@@QEAA@XZ; -?installTypeDescriptionManager@cppu@@YAEAEBV?$Reference@VXHierarchicalNameAccess@container@star@sun@com@@@uno@star@sun@com@@@Z; -?loadSharedLibComponentFactory@cppu@@YA?AV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@AEBVOUString@rtl@@00AEBV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@AEBV?$Reference@VXRegistryKey@registry@star@sun@com@@@3456@@Z; -?createComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@PEBUContextEntry_Init@1@JAEBV23456@@Z; -?bootstrap_InitialComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@AEBV?$Reference@VXSimpleRegistry@registry@star@sun@com@@@3456@AEBVOUString@rtl@@@Z; -?createNestedRegistry@cppu@@YA?AV?$Reference@VXSimpleRegistry@registry@star@sun@com@@@uno@star@sun@com@@AEBVOUString@rtl@@@Z; -?createSimpleRegistry@cppu@@YA?AV?$Reference@VXSimpleRegistry@registry@star@sun@com@@@uno@star@sun@com@@AEBVOUString@rtl@@@Z; -??0WeakAggComponentImplHelperBase@cppu@@IEAA@AEAVMutex@osl@@@Z; -??0WeakComponentImplHelperBase@cppu@@IEAA@AEAVMutex@osl@@@Z; -?acquire@WeakAggComponentImplHelperBase@cppu@@UEAAXXZ; -?acquire@WeakComponentImplHelperBase@cppu@@UEAAXXZ; -?addEventListener@WeakAggComponentImplHelperBase@cppu@@UEAAXAEBV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -?addEventListener@WeakComponentImplHelperBase@cppu@@UEAAXAEBV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -?dispose@WeakAggComponentImplHelperBase@cppu@@UEAAXXZ; -?dispose@WeakComponentImplHelperBase@cppu@@UEAAXXZ; -?queryAggregation@WeakAggComponentImplHelperBase@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?queryInterface@WeakAggComponentImplHelperBase@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?queryInterface@WeakComponentImplHelperBase@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?release@WeakAggComponentImplHelperBase@cppu@@UEAAXXZ; -?release@WeakComponentImplHelperBase@cppu@@UEAAXXZ; -?removeEventListener@WeakAggComponentImplHelperBase@cppu@@UEAAXAEBV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -?removeEventListener@WeakComponentImplHelperBase@cppu@@UEAAXAEBV?$Reference@VXEventListener@lang@star@sun@com@@@uno@star@sun@com@@@Z; -??1WeakAggComponentImplHelperBase@cppu@@UEAA@XZ; -??1WeakComponentImplHelperBase@cppu@@UEAA@XZ; -?disposing@WeakAggComponentImplHelperBase@cppu@@MEAAXXZ; -?disposing@WeakComponentImplHelperBase@cppu@@MEAAXXZ; -?createOneInstanceFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@AEBV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@AEBVOUString@rtl@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@0@ZAEBV?$Sequence@VOUString@rtl@@@3456@PEAU_rtl_ModuleCount@@@Z; -?createSingleComponentFactory@cppu@@YA?AV?$Reference@VXSingleComponentFactory@lang@star@sun@com@@@uno@star@sun@com@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@AEBV?$Reference@VXComponentContext@uno@star@sun@com@@@3456@@ZAEBVOUString@rtl@@AEBV?$Sequence@VOUString@rtl@@@3456@PEAU_rtl_ModuleCount@@@Z; -?createSingleFactory@cppu@@YA?AV?$Reference@VXSingleServiceFactory@lang@star@sun@com@@@uno@star@sun@com@@AEBV?$Reference@VXMultiServiceFactory@lang@star@sun@com@@@3456@AEBVOUString@rtl@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@0@ZAEBV?$Sequence@VOUString@rtl@@@3456@PEAU_rtl_ModuleCount@@@Z; -?defaultBootstrap_InitialComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?acquire@OComponentHelper@cppu@@UEAAXXZ; -?getTypes@OComponentHelper@cppu@@UEAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?queryAggregation@OComponentHelper@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?queryInterface@OComponentHelper@cppu@@UEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; -?removeListener@?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@cppu@@QEAAXAEBVType@uno@star@sun@com@@AEBV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z; -??0OMultiTypeInterfaceContainerHelper@cppu@@QEAA@AEAVMutex@osl@@@Z; -??0OMultiTypeInterfaceContainerHelperInt32@cppu@@QEAA@AEAVMutex@osl@@@Z; -??1OMultiTypeInterfaceContainerHelper@cppu@@QEAA@XZ; -??1OMultiTypeInterfaceContainerHelperInt32@cppu@@QEAA@XZ; -?addInterface@OMultiTypeInterfaceContainerHelper@cppu@@QEAAJAEBVType@uno@star@sun@com@@AEBV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z; -?addInterface@OMultiTypeInterfaceContainerHelperInt32@cppu@@QEAAJAEBJAEBV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -?clear@OMultiTypeInterfaceContainerHelper@cppu@@QEAAXXZ; -?clear@OMultiTypeInterfaceContainerHelperInt32@cppu@@QEAAXXZ; -?disposeAndClear@OMultiTypeInterfaceContainerHelper@cppu@@QEAAXAEBUEventObject@lang@star@sun@com@@@Z; -?disposeAndClear@OMultiTypeInterfaceContainerHelperInt32@cppu@@QEAAXAEBUEventObject@lang@star@sun@com@@@Z; -?getContainedTypes@OMultiTypeInterfaceContainerHelper@cppu@@QEBA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -?getContainedTypes@OMultiTypeInterfaceContainerHelperInt32@cppu@@QEBA?AV?$Sequence@J@uno@star@sun@com@@XZ; -?getContainer@OMultiTypeInterfaceContainerHelper@cppu@@QEBAPEAVOInterfaceContainerHelper@2@AEBVType@uno@star@sun@com@@@Z; -?getContainer@OMultiTypeInterfaceContainerHelperInt32@cppu@@QEBAPEAVOInterfaceContainerHelper@2@AEBJ@Z; -?removeInterface@OMultiTypeInterfaceContainerHelper@cppu@@QEAAJAEBVType@uno@star@sun@com@@AEBV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z; -?removeInterface@OMultiTypeInterfaceContainerHelperInt32@cppu@@QEAAJAEBJAEBV?$Reference@VXInterface@uno@star@sun@com@@@uno@star@sun@com@@@Z; -??0OPropertySetHelper@cppu@@QEAA@AEAU?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@1@@Z; -?addListener@?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@cppu@@QEAAXAEBVType@uno@star@sun@com@@AEBV?$Reference@VXInterface@uno@star@sun@com@@@4567@@Z; -?component_writeInfoHelper@cppu@@YAEPEAX0QEBUImplementationEntry@1@@Z; -?component_getFactoryHelper@cppu@@YAPEAXPEBDPEAX1QEBUImplementationEntry@1@@Z; -?ImplHelper_query@cppu@@YA?AVAny@uno@star@sun@com@@AEBVType@3456@PEAUclass_data@1@PEAX@Z; -?ImplHelper_queryNoXInterface@cppu@@YA?AVAny@uno@star@sun@com@@AEBVType@3456@PEAUclass_data@1@PEAX@Z; -?ImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PEAUclass_data@1@@Z; -?ImplInhHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PEAUclass_data@1@AEBV23456@@Z; -?ImplHelper_getImplementationId@cppu@@YA?AV?$Sequence@C@uno@star@sun@com@@PEAUclass_data@1@@Z; -?WeakImplHelper_query@cppu@@YA?AVAny@uno@star@sun@com@@AEBVType@3456@PEAUclass_data@1@PEAXPEAVOWeakObject@1@@Z; -?WeakImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PEAUclass_data@1@@Z; -?WeakAggImplHelper_queryAgg@cppu@@YA?AVAny@uno@star@sun@com@@AEBVType@3456@PEAUclass_data@1@PEAXPEAVOWeakAggObject@1@@Z; -?WeakAggComponentImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PEAUclass_data@1@@Z; -?WeakComponentImplHelper_query@cppu@@YA?AVAny@uno@star@sun@com@@AEBVType@3456@PEAUclass_data@1@PEAXPEAVWeakComponentImplHelperBase@1@@Z; -?WeakAggImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PEAUclass_data@1@@Z; -?WeakAggComponentImplHelper_queryAgg@cppu@@YA?AVAny@uno@star@sun@com@@AEBVType@3456@PEAUclass_data@1@PEAXPEAVWeakAggComponentImplHelperBase@1@@Z; -?WeakComponentImplHelper_getTypes@cppu@@YA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@PEAUclass_data@1@@Z; -?defaultBootstrap_InitialComponentContext@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@AEBVOUString@rtl@@@Z; - -??0AccessControl@cppu@@QEAA@AEBV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@@Z; -??0AccessControl@cppu@@QEAA@AEBV?$Reference@VXAccessController@security@star@sun@com@@@uno@star@sun@com@@@Z; -??0AccessControl@cppu@@QEAA@AEBV01@@Z; -?checkRuntimePermission@AccessControl@cppu@@QEAAXAEBVOUString@rtl@@@Z; -?checkFilePermission@AccessControl@cppu@@QEAAXAEBVOUString@rtl@@0@Z; -?checkSocketPermission@AccessControl@cppu@@QEAAXAEBVOUString@rtl@@0@Z; - -??0UnoUrl@cppu@@QEAA@AEBV01@@Z; -??0UnoUrl@cppu@@QEAA@AEBVOUString@rtl@@@Z; -??0UnoUrlDescriptor@cppu@@QEAA@AEBV01@@Z; -??0UnoUrlDescriptor@cppu@@QEAA@AEBVOUString@rtl@@@Z; -??1UnoUrl@cppu@@QEAA@XZ; -??1UnoUrlDescriptor@cppu@@QEAA@XZ; -??4UnoUrl@cppu@@QEAAAEAV01@AEBV01@@Z; -??4UnoUrlDescriptor@cppu@@QEAAAEAV01@AEBV01@@Z; -?getConnection@UnoUrl@cppu@@QEBAAEBVUnoUrlDescriptor@2@XZ; -?getDescriptor@UnoUrlDescriptor@cppu@@QEBAAEBVOUString@rtl@@XZ; -?getName@UnoUrlDescriptor@cppu@@QEBAAEBVOUString@rtl@@XZ; -?getObjectName@UnoUrl@cppu@@QEBAAEBVOUString@rtl@@XZ; -?getParameter@UnoUrlDescriptor@cppu@@QEBA?AVOUString@rtl@@AEBV34@@Z; -?getProtocol@UnoUrl@cppu@@QEBAAEBVUnoUrlDescriptor@2@XZ; -?hasParameter@UnoUrlDescriptor@cppu@@QEBA_NAEBVOUString@rtl@@@Z; - - local: - *; -}; - -UDK_3.1 { - global: - ?getCaughtException@cppu@@YA?AVAny@uno@star@sun@com@@XZ; - - ??0OPropertySetHelper@cppu@@QEAA@AEAU?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@1@_N@Z; - - ?bootstrap@cppu@@YA?AV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@XZ; - ??0BootstrapException@cppu@@QEAA@XZ; - ??0BootstrapException@cppu@@QEAA@AEBVOUString@rtl@@@Z; - ??0BootstrapException@cppu@@QEAA@AEBV01@@Z; - ??1BootstrapException@cppu@@UEAA@XZ; - ??4BootstrapException@cppu@@QEAAAEAV01@AEBV01@@Z; - ?getMessage@BootstrapException@cppu@@QEBAAEBVOUString@rtl@@XZ; -} UDK_3_0_0; - -UDK_3.2 { - global: - ??1PropertySetMixinImpl@cppu@@AEAA@XZ; - ?queryInterface@PropertySetMixinImpl@cppu@@MEAA?AVAny@uno@star@sun@com@@AEBVType@4567@@Z; - ?getPropertySetInfo@PropertySetMixinImpl@cppu@@MEAA?AV?$Reference@VXPropertySetInfo@beans@star@sun@com@@@uno@star@sun@com@@XZ; - ?notify@BoundListeners@PropertySetMixinImpl@cppu@@QEBAXXZ; - ?setPropertyValue@PropertySetMixinImpl@cppu@@MEAAXAEBVOUString@rtl@@AEBVAny@uno@star@sun@com@@@Z; - ?getPropertyValue@PropertySetMixinImpl@cppu@@MEAA?AVAny@uno@star@sun@com@@AEBVOUString@rtl@@@Z; - ?removePropertyChangeListener@PropertySetMixinImpl@cppu@@MEAAXAEBVOUString@rtl@@AEBV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; - ?removeVetoableChangeListener@PropertySetMixinImpl@cppu@@MEAAXAEBVOUString@rtl@@AEBV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; - ?setFastPropertyValue@PropertySetMixinImpl@cppu@@MEAAXJAEBVAny@uno@star@sun@com@@@Z; - ?getFastPropertyValue@PropertySetMixinImpl@cppu@@MEAA?AVAny@uno@star@sun@com@@J@Z; - ?getPropertyValues@PropertySetMixinImpl@cppu@@MEAA?AV?$Sequence@UPropertyValue@beans@star@sun@com@@@uno@star@sun@com@@XZ; - ?setPropertyValues@PropertySetMixinImpl@cppu@@MEAAXAEBV?$Sequence@UPropertyValue@beans@star@sun@com@@@uno@star@sun@com@@@Z; - ?prepareSet@PropertySetMixinImpl@cppu@@IEAAXAEBVOUString@rtl@@AEBVAny@uno@star@sun@com@@1PEAVBoundListeners@12@@Z; - ??0BoundListeners@PropertySetMixinImpl@cppu@@QEAA@XZ; - ??1BoundListeners@PropertySetMixinImpl@cppu@@QEAA@XZ; - ??0PropertySetMixinImpl@cppu@@AEAA@AEBV?$Reference@VXComponentContext@uno@star@sun@com@@@uno@star@sun@com@@W4Implements@01@AEBV?$Sequence@VOUString@rtl@@@3456@AEBVType@3456@@Z; - ?dispose@PropertySetMixinImpl@cppu@@IEAAXXZ; - ?addPropertyChangeListener@PropertySetMixinImpl@cppu@@MEAAXAEBVOUString@rtl@@AEBV?$Reference@VXPropertyChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; - ?addVetoableChangeListener@PropertySetMixinImpl@cppu@@MEAAXAEBVOUString@rtl@@AEBV?$Reference@VXVetoableChangeListener@beans@star@sun@com@@@uno@star@sun@com@@@Z; -} UDK_3.1; - -UDK_3.3 { - global: - ?getTypes@OPropertySetHelper@cppu@@QEAA?AV?$Sequence@VType@uno@star@sun@com@@@uno@star@sun@com@@XZ; -} UDK_3.2; - -UDK_3.4 { # OOo 2.4 - global: - ?bootstrap_expandUri@cppu@@YA?AVOUString@rtl@@AEBV23@@Z; # rtl::OUString cppu::bootstrap_expandUri(rtl::OUString const &) -} UDK_3.3; - -UDK_3.5 { # OOo 3.0 - global: - ??0OPropertySetHelper@cppu@@QEAA@AEAU?$OBroadcastHelperVar@VOMultiTypeInterfaceContainerHelper@cppu@@VType@uno@star@sun@com@@@1@PEAVIEventNotificationHook@1@_N@Z; -} UDK_3.4; - -UDK_3.6 { # OOo 3.3 - global: - ?disposeWeakConnectionPoint@OWeakObject@cppu@@IEAAXXZ; - ?clear@WeakReferenceHelper@uno@star@sun@com@@QEAAXXZ; - ?createOneInstanceComponentFactory@cppu@@YA?AV?$Reference@VXSingleComponentFactory@lang@star@sun@com@@@uno@star@sun@com@@P6A?AV?$Reference@VXInterface@uno@star@sun@com@@@3456@AEBV?$Reference@VXComponentContext@uno@star@sun@com@@@3456@@ZAEBVOUString@rtl@@AEBV?$Sequence@VOUString@rtl@@@3456@PEAU_rtl_ModuleCount@@@Z; -} UDK_3.5; diff --git a/cppuhelper/source/propertysetmixin.cxx b/cppuhelper/source/propertysetmixin.cxx deleted file mode 100644 index bee27129e..000000000 --- a/cppuhelper/source/propertysetmixin.cxx +++ /dev/null @@ -1,1431 +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_cppuhelper.hxx" - -#include "sal/config.h" - -#include "cppuhelper/propertysetmixin.hxx" - -#include "com/sun/star/beans/Property.hpp" -#include "com/sun/star/beans/PropertyChangeEvent.hpp" -#include "com/sun/star/beans/PropertyAttribute.hpp" -#include "com/sun/star/beans/PropertyValue.hpp" -#include "com/sun/star/beans/PropertyVetoException.hpp" -#include "com/sun/star/beans/UnknownPropertyException.hpp" -#include "com/sun/star/beans/XFastPropertySet.hpp" -#include "com/sun/star/beans/XPropertyAccess.hpp" -#include "com/sun/star/beans/XPropertyChangeListener.hpp" -#include "com/sun/star/beans/XPropertySet.hpp" -#include "com/sun/star/beans/XPropertySetInfo.hpp" -#include "com/sun/star/beans/XVetoableChangeListener.hpp" -#include "com/sun/star/container/NoSuchElementException.hpp" -#include "com/sun/star/container/XHierarchicalNameAccess.hpp" -#include "com/sun/star/lang/DisposedException.hpp" -#include "com/sun/star/lang/EventObject.hpp" -#include "com/sun/star/lang/IllegalAccessException.hpp" -#include "com/sun/star/lang/IllegalArgumentException.hpp" -#include "com/sun/star/lang/WrappedTargetException.hpp" -#include "com/sun/star/lang/WrappedTargetRuntimeException.hpp" -#include "com/sun/star/lang/XComponent.hpp" -#include "com/sun/star/lang/XMultiComponentFactory.hpp" -#include "com/sun/star/reflection/XCompoundTypeDescription.hpp" -#include "com/sun/star/reflection/XIdlClass.hpp" -#include "com/sun/star/reflection/XIdlField2.hpp" -#include "com/sun/star/reflection/XIdlReflection.hpp" -#include "com/sun/star/reflection/XIndirectTypeDescription.hpp" -#include "com/sun/star/reflection/XInterfaceAttributeTypeDescription2.hpp" -#include "com/sun/star/reflection/XInterfaceMemberTypeDescription.hpp" -#include "com/sun/star/reflection/XInterfaceTypeDescription2.hpp" -#include "com/sun/star/reflection/XStructTypeDescription.hpp" -#include "com/sun/star/reflection/XTypeDescription.hpp" -#include "com/sun/star/uno/Any.hxx" -#include "com/sun/star/uno/DeploymentException.hpp" -#include "com/sun/star/uno/Exception.hpp" -#include "com/sun/star/uno/Reference.hxx" -#include "com/sun/star/uno/RuntimeException.hpp" -#include "com/sun/star/uno/Sequence.hxx" -#include "com/sun/star/uno/Type.hxx" -#include "com/sun/star/uno/TypeClass.hpp" -#include "com/sun/star/uno/XComponentContext.hpp" -#include "com/sun/star/uno/XInterface.hpp" -#include "cppuhelper/implbase1.hxx" -#include "cppuhelper/weak.hxx" -#include "osl/diagnose.h" -#include "osl/mutex.hxx" -#include "rtl/ref.hxx" -#include "rtl/string.h" -#include "rtl/ustring.h" -#include "rtl/ustring.hxx" -#include "sal/types.h" -#include "salhelper/simplereferenceobject.hxx" - -#include <algorithm> -#include <map> -#include <new> -#include <set> -#include <vector> - -using cppu::PropertySetMixinImpl; - -namespace css = com::sun::star; - -namespace { - -template< typename T > struct AutoDispose { - AutoDispose() {} - - ~AutoDispose() { - try { - dispose(); - } catch (...) {} - } - - void dispose() { - css::uno::Reference< css::lang::XComponent > comp( - ifc, css::uno::UNO_QUERY); - if (comp.is()) { - comp->dispose(); - } - ifc.clear(); - } - - css::uno::Reference< T > ifc; - -private: - AutoDispose(AutoDispose &); // not defined - void operator =(AutoDispose); // not defined -}; - -struct PropertyData { - explicit PropertyData( - css::beans::Property const & theProperty, bool thePresent): - property(theProperty), present(thePresent) {} - - css::beans::Property property; - bool present; -}; - -struct Data: public salhelper::SimpleReferenceObject { - typedef std::map< rtl::OUString, PropertyData > PropertyMap; - - PropertyMap properties; - - PropertyMap::const_iterator get( - css::uno::Reference< css::uno::XInterface > const & object, - rtl::OUString const & name) const; - -protected: - void initProperties( - css::uno::Reference< css::reflection::XTypeDescription > const & type, - css::uno::Sequence< rtl::OUString > const & absentOptional, - std::vector< rtl::OUString > * handleNames) - { - TypeSet seen; - initProperties(type, absentOptional, handleNames, &seen); - } - -private: - typedef std::set< rtl::OUString > TypeSet; - - void initProperties( - css::uno::Reference< css::reflection::XTypeDescription > const & type, - css::uno::Sequence< rtl::OUString > const & absentOptional, - std::vector< rtl::OUString > * handleNames, TypeSet * seen); - - static css::uno::Reference< css::reflection::XTypeDescription > - resolveTypedefs( - css::uno::Reference< css::reflection::XTypeDescription > const & type); -}; - -Data::PropertyMap::const_iterator Data::get( - css::uno::Reference< css::uno::XInterface > const & object, - rtl::OUString const & name) const -{ - PropertyMap::const_iterator i(properties.find(name)); - if (i == properties.end() || !i->second.present) { - throw css::beans::UnknownPropertyException(name, object); - } - return i; -} - -void Data::initProperties( - css::uno::Reference< css::reflection::XTypeDescription > const & type, - css::uno::Sequence< rtl::OUString > const & absentOptional, - std::vector< rtl::OUString > * handleNames, TypeSet * seen) -{ - css::uno::Reference< css::reflection::XInterfaceTypeDescription2 > ifc( - resolveTypedefs(type), css::uno::UNO_QUERY_THROW); - if (seen->insert(ifc->getName()).second) { - css::uno::Sequence< - css::uno::Reference< css::reflection::XTypeDescription > > bases( - ifc->getBaseTypes()); - for (sal_Int32 i = 0; i < bases.getLength(); ++i) { - initProperties(bases[i], absentOptional, handleNames, seen); - } - css::uno::Sequence< - css::uno::Reference< - css::reflection::XInterfaceMemberTypeDescription > > members( - ifc->getMembers()); - rtl::OUString const * absentBegin = absentOptional.getConstArray(); - rtl::OUString const * absentEnd = - absentBegin + absentOptional.getLength(); - for (sal_Int32 i = 0; i < members.getLength(); ++i) { - if (members[i]->getTypeClass() - == css::uno::TypeClass_INTERFACE_ATTRIBUTE) - { - css::uno::Reference< - css::reflection::XInterfaceAttributeTypeDescription2 > attr( - members[i], css::uno::UNO_QUERY_THROW); - sal_Int16 attrAttribs = 0; - if (attr->isBound()) { - attrAttribs |= css::beans::PropertyAttribute::BOUND; - } - bool setUnknown = false; - if (attr->isReadOnly()) { - attrAttribs |= css::beans::PropertyAttribute::READONLY; - setUnknown = true; - } - css::uno::Sequence< - css::uno::Reference< - css::reflection::XCompoundTypeDescription > > excs( - attr->getGetExceptions()); - bool getUnknown = false; - //XXX Special interpretation of getter/setter exceptions only - // works if the specified exceptions are of the exact type, not - // of a supertype: - for (sal_Int32 j = 0; j < excs.getLength(); ++j) { - if (excs[j]->getName().equalsAsciiL( - RTL_CONSTASCII_STRINGPARAM( - "com.sun.star.beans.UnknownPropertyException"))) - { - getUnknown = true; - break; - } - } - excs = attr->getSetExceptions(); - for (sal_Int32 j = 0; j < excs.getLength(); ++j) { - if (excs[j]->getName().equalsAsciiL( - RTL_CONSTASCII_STRINGPARAM( - "com.sun.star.beans.UnknownPropertyException"))) - { - setUnknown = true; - } else if (excs[j]->getName().equalsAsciiL( - RTL_CONSTASCII_STRINGPARAM( - "com.sun.star.beans." - "PropertyVetoException"))) - { - attrAttribs - |= css::beans::PropertyAttribute::CONSTRAINED; - } - } - if (getUnknown && setUnknown) { - attrAttribs |= css::beans::PropertyAttribute::OPTIONAL; - } - css::uno::Reference< css::reflection::XTypeDescription > t( - attr->getType()); - for (;;) - { - t = resolveTypedefs(t); - sal_Int16 n; - if (t->getName().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM( - "com.sun.star.beans.Ambiguous<"))) - { - n = css::beans::PropertyAttribute::MAYBEAMBIGUOUS; - } else if (t->getName().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM( - "com.sun.star.beans.Defaulted<"))) - { - n = css::beans::PropertyAttribute::MAYBEDEFAULT; - } else if (t->getName().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM( - "com.sun.star.beans.Optional<"))) - { - n = css::beans::PropertyAttribute::MAYBEVOID; - } else { - break; - } - if ((attrAttribs & n) != 0) { - break; - } - attrAttribs |= n; - css::uno::Sequence< - css::uno::Reference< css::reflection::XTypeDescription > > - args( - css::uno::Reference< - css::reflection::XStructTypeDescription >( - t, - css::uno::UNO_QUERY_THROW)->getTypeArguments()); - if (args.getLength() != 1) { - throw css::uno::RuntimeException( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "inconsistent UNO type registry")), - css::uno::Reference< css::uno::XInterface >()); - } - t = args[0]; - } - std::vector< rtl::OUString >::size_type handles - = handleNames->size(); - if (handles > SAL_MAX_INT32) { - throw css::uno::RuntimeException( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "interface type has too many attributes")), - css::uno::Reference< css::uno::XInterface >()); - } - rtl::OUString name(members[i]->getMemberName()); - if (!properties.insert( - PropertyMap::value_type( - name, - PropertyData( - css::beans::Property( - name, static_cast< sal_Int32 >(handles), - css::uno::Type( - t->getTypeClass(), t->getName()), - attrAttribs), - (std::find(absentBegin, absentEnd, name) - == absentEnd)))). - second) - { - throw css::uno::RuntimeException( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "inconsistent UNO type registry")), - css::uno::Reference< css::uno::XInterface >()); - } - handleNames->push_back(name); - } - } - } -} - -css::uno::Reference< css::reflection::XTypeDescription > Data::resolveTypedefs( - css::uno::Reference< css::reflection::XTypeDescription > const & type) -{ - css::uno::Reference< css::reflection::XTypeDescription > t(type); - while (t->getTypeClass() == css::uno::TypeClass_TYPEDEF) { - t = css::uno::Reference< css::reflection::XIndirectTypeDescription >( - t, css::uno::UNO_QUERY_THROW)->getReferencedType(); - } - return t; -} - -class Info: public cppu::WeakImplHelper1< css::beans::XPropertySetInfo > { -public: - explicit Info(Data * data): m_data(data) {} - - virtual css::uno::Sequence< css::beans::Property > SAL_CALL getProperties() - throw (css::uno::RuntimeException); - - virtual css::beans::Property SAL_CALL getPropertyByName( - rtl::OUString const & name) - throw ( - css::beans::UnknownPropertyException, css::uno::RuntimeException); - - virtual sal_Bool SAL_CALL hasPropertyByName(rtl::OUString const & name) - throw (css::uno::RuntimeException); - -private: - rtl::Reference< Data > m_data; -}; - -css::uno::Sequence< css::beans::Property > Info::getProperties() - throw (css::uno::RuntimeException) -{ - try { - OSL_ASSERT(m_data->properties.size() <= SAL_MAX_INT32); - css::uno::Sequence< css::beans::Property > s( - static_cast< sal_Int32 >(m_data->properties.size())); - sal_Int32 n = 0; - for (Data::PropertyMap::iterator i(m_data->properties.begin()); - i != m_data->properties.end(); ++i) - { - if (i->second.present) { - s[n++] = i->second.property; - } - } - s.realloc(n); - return s; - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< cppu::OWeakObject * >(this)); - } -} - -css::beans::Property Info::getPropertyByName(rtl::OUString const & name) - throw (css::beans::UnknownPropertyException, css::uno::RuntimeException) -{ - return m_data->get(static_cast< cppu::OWeakObject * >(this), name)-> - second.property; -} - -sal_Bool Info::hasPropertyByName(rtl::OUString const & name) - throw (css::uno::RuntimeException) -{ - Data::PropertyMap::iterator i(m_data->properties.find(name)); - return i != m_data->properties.end() && i->second.present; -} - -typedef -std::multiset< css::uno::Reference< css::beans::XPropertyChangeListener > > -BoundListenerBag; - -} - -class PropertySetMixinImpl::BoundListeners::Impl { -public: - BoundListenerBag specificListeners; - BoundListenerBag unspecificListeners; - css::beans::PropertyChangeEvent event; -}; - -PropertySetMixinImpl::BoundListeners::BoundListeners(): m_impl(new Impl) {} - -PropertySetMixinImpl::BoundListeners::~BoundListeners() { - delete m_impl; -} - -void PropertySetMixinImpl::BoundListeners::notify() const { - for (BoundListenerBag::const_iterator i(m_impl->specificListeners.begin()); - i != m_impl->specificListeners.end(); ++i) - { - try { - (*i)->propertyChange(m_impl->event); - } catch (css::lang::DisposedException &) {} - } - for (BoundListenerBag::const_iterator i( - m_impl->unspecificListeners.begin()); - i != m_impl->unspecificListeners.end(); ++i) - { - try { - (*i)->propertyChange(m_impl->event); - } catch (css::lang::DisposedException &) {} - } -} - -class PropertySetMixinImpl::Impl: public Data { -public: - Impl( - css::uno::Reference< css::uno::XComponentContext > const & context, - Implements theImplements, - css::uno::Sequence< rtl::OUString > const & absentOptional, - css::uno::Type const & type); - - rtl::OUString translateHandle( - css::uno::Reference< css::uno::XInterface > const & object, - sal_Int32 handle) const; - - void setProperty( - css::uno::Reference< css::uno::XInterface > const & object, - rtl::OUString const & name, css::uno::Any const & value, - bool isAmbiguous, bool isDefaulted, sal_Int16 illegalArgumentPosition) - const; - - css::uno::Any getProperty( - css::uno::Reference< css::uno::XInterface > const & object, - rtl::OUString const & name, css::beans::PropertyState * state) const; - - PropertySetMixinImpl::Implements implements; - css::uno::Sequence< rtl::OUString > handleMap; - - typedef std::map< rtl::OUString, BoundListenerBag > BoundListenerMap; - - typedef - std::multiset< css::uno::Reference< css::beans::XVetoableChangeListener > > - VetoListenerBag; - - typedef std::map< rtl::OUString, VetoListenerBag > VetoListenerMap; - - mutable osl::Mutex mutex; - BoundListenerMap boundListeners; - VetoListenerMap vetoListeners; - bool disposed; - -private: - css::uno::Reference< css::reflection::XIdlClass > getReflection( - rtl::OUString const & typeName) const; - - static css::uno::Any wrapValue( - css::uno::Reference< css::uno::XInterface > const & object, - css::uno::Any const & value, - css::uno::Reference< css::reflection::XIdlClass > const & type, - bool wrapAmbiguous, bool isAmbiguous, bool wrapDefaulted, - bool isDefaulted, bool wrapOptional); - - css::uno::Reference< css::uno::XComponentContext > const & m_context; - css::uno::Sequence< rtl::OUString > m_absentOptional; - css::uno::Type m_type; - css::uno::Reference< css::reflection::XIdlClass > m_idlClass; -}; - -PropertySetMixinImpl::Impl::Impl( - css::uno::Reference< css::uno::XComponentContext > const & context, - Implements theImplements, - css::uno::Sequence< rtl::OUString > const & absentOptional, - css::uno::Type const & type): - implements(theImplements), disposed(false), m_context(context), - m_absentOptional(absentOptional), m_type(type) -{ - OSL_ASSERT( - context.is() - && ((implements - & ~(IMPLEMENTS_PROPERTY_SET | IMPLEMENTS_FAST_PROPERTY_SET - | IMPLEMENTS_PROPERTY_ACCESS)) - == 0)); - m_idlClass = getReflection(m_type.getTypeName()); - css::uno::Reference< css::reflection::XTypeDescription > ifc; - try { - ifc = css::uno::Reference< css::reflection::XTypeDescription >( - css::uno::Reference< css::container::XHierarchicalNameAccess >( - m_context->getValueByName( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "/singletons/com.sun.star.reflection." - "theTypeDescriptionManager"))), - css::uno::UNO_QUERY_THROW)->getByHierarchicalName( - m_type.getTypeName()), - css::uno::UNO_QUERY_THROW); - } catch (css::container::NoSuchElementException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected" - " com.sun.star.container.NoSuchElementException: ")) - + e.Message), - css::uno::Reference< css::uno::XInterface >()); - } - std::vector< rtl::OUString > handleNames; - initProperties(ifc, m_absentOptional, &handleNames); - std::vector< rtl::OUString >::size_type size = handleNames.size(); - OSL_ASSERT(size <= SAL_MAX_INT32); - handleMap.realloc(static_cast< sal_Int32 >(size)); - std::copy(handleNames.begin(), handleNames.end(), handleMap.getArray()); -} - -rtl::OUString PropertySetMixinImpl::Impl::translateHandle( - css::uno::Reference< css::uno::XInterface > const & object, - sal_Int32 handle) const -{ - if (handle < 0 || handle >= handleMap.getLength()) { - throw css::beans::UnknownPropertyException( - (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("bad handle ")) - + rtl::OUString::valueOf(handle)), - object); - } - return handleMap[handle]; -} - -void PropertySetMixinImpl::Impl::setProperty( - css::uno::Reference< css::uno::XInterface > const & object, - rtl::OUString const & name, css::uno::Any const & value, bool isAmbiguous, - bool isDefaulted, sal_Int16 illegalArgumentPosition) const -{ - PropertyMap::const_iterator i(properties.find(name)); - if (i == properties.end()) { - throw css::beans::UnknownPropertyException(name, object); - } - if ((isAmbiguous - && ((i->second.property.Attributes - & css::beans::PropertyAttribute::MAYBEAMBIGUOUS) - == 0)) - || (isDefaulted - && ((i->second.property.Attributes - & css::beans::PropertyAttribute::MAYBEDEFAULT) - == 0))) - { - throw css::lang::IllegalArgumentException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "flagging as ambiguous/defaulted non-ambiguous/defaulted" - " property ")) - + name), - object, illegalArgumentPosition); - } - css::uno::Reference< css::reflection::XIdlField2 > f( - m_idlClass->getField(name), css::uno::UNO_QUERY_THROW); - css::uno::Any o(object->queryInterface(m_type)); - css::uno::Any v( - wrapValue( - object, value, - (css::uno::Reference< css::reflection::XIdlField2 >( - m_idlClass->getField(name), css::uno::UNO_QUERY_THROW)-> - getType()), - ((i->second.property.Attributes - & css::beans::PropertyAttribute::MAYBEAMBIGUOUS) - != 0), - isAmbiguous, - ((i->second.property.Attributes - & css::beans::PropertyAttribute::MAYBEDEFAULT) - != 0), - isDefaulted, - ((i->second.property.Attributes - & css::beans::PropertyAttribute::MAYBEVOID) - != 0))); - try { - f->set(o, v); - } catch (css::lang::IllegalArgumentException & e) { - if (e.ArgumentPosition == 1) { - throw css::lang::IllegalArgumentException( - e.Message, object, illegalArgumentPosition); - } else { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected" - " com.sun.star.lang.IllegalArgumentException: ")) - + e.Message), - object); - } - } catch (css::lang::IllegalAccessException &) { - //TODO Clarify whether PropertyVetoException is the correct exception - // to throw when trying to set a read-only property: - throw css::beans::PropertyVetoException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("cannot set read-only property ")) - + name), - object); - } catch (css::lang::WrappedTargetRuntimeException & e) { - //FIXME A WrappedTargetRuntimeException from XIdlField2.get is not - // guaranteed to originate directly within XIdlField2.get (and thus have - // the expected semantics); it might also be passed through from lower - // layers. - if (e.TargetException.isExtractableTo( - getCppuType( - static_cast< css::beans::UnknownPropertyException * >(0))) - && ((i->second.property.Attributes - & css::beans::PropertyAttribute::OPTIONAL) - != 0)) - { - throw css::beans::UnknownPropertyException(name, object); - } else if (e.TargetException.isExtractableTo( - getCppuType( - static_cast< css::beans::PropertyVetoException * >( - 0))) - && ((i->second.property.Attributes - & css::beans::PropertyAttribute::CONSTRAINED) - != 0)) - { - throw css::beans::PropertyVetoException(name, object); - } else { - throw css::lang::WrappedTargetException( - e.Message, object, e.TargetException); - } - } -} - -css::uno::Any PropertySetMixinImpl::Impl::getProperty( - css::uno::Reference< css::uno::XInterface > const & object, - rtl::OUString const & name, css::beans::PropertyState * state) const -{ - PropertyMap::const_iterator i(properties.find(name)); - if (i == properties.end()) { - throw css::beans::UnknownPropertyException(name, object); - } - css::uno::Reference< css::reflection::XIdlField2 > field( - m_idlClass->getField(name), css::uno::UNO_QUERY_THROW); - css::uno::Any value; - try { - value = field->get(object->queryInterface(m_type)); - } catch (css::lang::IllegalArgumentException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected com.sun.star.lang.IllegalArgumentException: ")) - + e.Message), - object); - } catch (css::lang::WrappedTargetRuntimeException & e) { - //FIXME A WrappedTargetRuntimeException from XIdlField2.get is not - // guaranteed to originate directly within XIdlField2.get (and thus have - // the expected semantics); it might also be passed through from lower - // layers. - if (e.TargetException.isExtractableTo( - getCppuType( - static_cast< css::beans::UnknownPropertyException * >(0))) - && ((i->second.property.Attributes - & css::beans::PropertyAttribute::OPTIONAL) - != 0)) - { - throw css::beans::UnknownPropertyException(name, object); - } else { - throw css::lang::WrappedTargetException( - e.Message, object, e.TargetException); - } - } - bool undoAmbiguous - = ((i->second.property.Attributes - & css::beans::PropertyAttribute::MAYBEAMBIGUOUS) - != 0); - bool undoDefaulted - = ((i->second.property.Attributes - & css::beans::PropertyAttribute::MAYBEDEFAULT) - != 0); - bool undoOptional - = ((i->second.property.Attributes - & css::beans::PropertyAttribute::MAYBEVOID) - != 0); - bool isAmbiguous = false; - bool isDefaulted = false; - while (undoAmbiguous || undoDefaulted || undoOptional) { - if (undoAmbiguous - && value.getValueTypeName().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM("com.sun.star.beans.Ambiguous<"))) - { - css::uno::Reference< css::reflection::XIdlClass > ambiguous( - getReflection(value.getValueTypeName())); - try { - if (!(css::uno::Reference< css::reflection::XIdlField2 >( - ambiguous->getField( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("IsAmbiguous"))), - css::uno::UNO_QUERY_THROW)->get(value) - >>= isAmbiguous)) - { - throw css::uno::RuntimeException( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected type of" - " com.sun.star.beans.Ambiguous IsAmbiguous" - " member")), - object); - } - value = css::uno::Reference< css::reflection::XIdlField2 >( - ambiguous->getField( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Value"))), - css::uno::UNO_QUERY_THROW)->get(value); - } catch (css::lang::IllegalArgumentException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected com.sun.star.lang." - "IllegalArgumentException: ")) - + e.Message), - object); - } - undoAmbiguous = false; - } else if (undoDefaulted - && value.getValueTypeName().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM( - "com.sun.star.beans.Defaulted<"))) - { - css::uno::Reference< css::reflection::XIdlClass > defaulted( - getReflection(value.getValueTypeName())); - try { - - if (!(css::uno::Reference< css::reflection::XIdlField2 >( - defaulted->getField( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("IsDefaulted"))), - css::uno::UNO_QUERY_THROW)->get(value) - >>= isDefaulted)) - { - throw css::uno::RuntimeException( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected type of" - " com.sun.star.beans.Defaulted IsDefaulted" - " member")), - object); - } - value = css::uno::Reference< css::reflection::XIdlField2 >( - defaulted->getField( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Value"))), - css::uno::UNO_QUERY_THROW)->get(value); - } catch (css::lang::IllegalArgumentException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected com.sun.star.lang." - "IllegalArgumentException: ")) - + e.Message), - object); - } - undoDefaulted = false; - } else if (undoOptional - && value.getValueTypeName().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM( - "com.sun.star.beans.Optional<"))) - { - css::uno::Reference< css::reflection::XIdlClass > optional( - getReflection(value.getValueTypeName())); - try { - bool present = false; - if (!(css::uno::Reference< css::reflection::XIdlField2 >( - optional->getField( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("IsPresent"))), - css::uno::UNO_QUERY_THROW)->get(value) - >>= present)) - { - throw css::uno::RuntimeException( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected type of com.sun.star.beans.Optional" - " IsPresent member")), - object); - } - if (!present) { - value.clear(); - break; - } - value = css::uno::Reference< css::reflection::XIdlField2 >( - optional->getField( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Value"))), - css::uno::UNO_QUERY_THROW)->get(value); - } catch (css::lang::IllegalArgumentException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected com.sun.star.lang." - "IllegalArgumentException: ")) - + e.Message), - object); - } - undoOptional = false; - } else { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected type of attribute ")) - + name), - object); - } - } - if (state != 0) { - //XXX If isAmbiguous && isDefaulted, arbitrarily choose AMBIGUOUS_VALUE - // over DEFAULT_VALUE: - *state = isAmbiguous - ? css::beans::PropertyState_AMBIGUOUS_VALUE - : isDefaulted - ? css::beans::PropertyState_DEFAULT_VALUE - : css::beans::PropertyState_DIRECT_VALUE; - } - return value; -} - -css::uno::Reference< css::reflection::XIdlClass > -PropertySetMixinImpl::Impl::getReflection(rtl::OUString const & typeName) const -{ - css::uno::Reference< css::lang::XMultiComponentFactory > factory( - m_context->getServiceManager(), css::uno::UNO_QUERY_THROW); - AutoDispose< css::reflection::XIdlReflection > refl; - try { - refl.ifc = css::uno::Reference< css::reflection::XIdlReflection >( - factory->createInstanceWithContext( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "com.sun.star.reflection.CoreReflection")), - m_context), - css::uno::UNO_QUERY_THROW); - } catch (css::uno::RuntimeException &) { - throw; - } catch (css::uno::Exception & e) { - throw css::uno::DeploymentException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "component context fails to supply service" - " com.sun.star.reflection.CoreReflection: ")) - + e.Message), - m_context); - } - css::uno::Reference< css::reflection::XIdlClass > idlClass( - refl.ifc->forName(typeName), css::uno::UNO_QUERY_THROW); - refl.dispose(); - return idlClass; -} - -css::uno::Any PropertySetMixinImpl::Impl::wrapValue( - css::uno::Reference< css::uno::XInterface > const & object, - css::uno::Any const & value, - css::uno::Reference< css::reflection::XIdlClass > const & type, - bool wrapAmbiguous, bool isAmbiguous, bool wrapDefaulted, bool isDefaulted, - bool wrapOptional) -{ - OSL_ASSERT( - (wrapAmbiguous || !isAmbiguous) && (wrapDefaulted || !isDefaulted)); - if (wrapAmbiguous - && type->getName().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM("com.sun.star.beans.Ambiguous<"))) - { - css::uno::Any strct; - type->createObject(strct); - try { - css::uno::Reference< css::reflection::XIdlField2 > field( - type->getField( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("Value"))), - css::uno::UNO_QUERY_THROW); - field->set( - strct, - wrapValue( - object, value, field->getType(), false, false, - wrapDefaulted, isDefaulted, wrapOptional)); - css::uno::Reference< css::reflection::XIdlField2 >( - type->getField( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("IsAmbiguous"))), - css::uno::UNO_QUERY_THROW)->set( - strct, css::uno::makeAny(isAmbiguous)); - } catch (css::lang::IllegalArgumentException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected" - " com.sun.star.lang.IllegalArgumentException: ")) - + e.Message), - object); - } catch (css::lang::IllegalAccessException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected" - " com.sun.star.lang.IllegalAccessException: ")) - + e.Message), - object); - } - return strct; - } else if (wrapDefaulted - && type->getName().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM("com.sun.star.beans.Defaulted<"))) - { - css::uno::Any strct; - type->createObject(strct); - try { - css::uno::Reference< css::reflection::XIdlField2 > field( - type->getField( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("Value"))), - css::uno::UNO_QUERY_THROW); - field->set( - strct, - wrapValue( - object, value, field->getType(), wrapAmbiguous, isAmbiguous, - false, false, wrapOptional)); - css::uno::Reference< css::reflection::XIdlField2 >( - type->getField( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("IsDefaulted"))), - css::uno::UNO_QUERY_THROW)->set( - strct, css::uno::makeAny(isDefaulted)); - } catch (css::lang::IllegalArgumentException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected" - " com.sun.star.lang.IllegalArgumentException: ")) - + e.Message), - object); - } catch (css::lang::IllegalAccessException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected" - " com.sun.star.lang.IllegalAccessException: ")) - + e.Message), - object); - } - return strct; - } else if (wrapOptional - && type->getName().matchAsciiL( - RTL_CONSTASCII_STRINGPARAM("com.sun.star.beans.Optional<"))) - { - css::uno::Any strct; - type->createObject(strct); - bool present = value.hasValue(); - try { - css::uno::Reference< css::reflection::XIdlField2 >( - type->getField( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("IsPresent"))), - css::uno::UNO_QUERY_THROW)->set( - strct, css::uno::makeAny(present)); - if (present) { - css::uno::Reference< css::reflection::XIdlField2 > field( - type->getField( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("Value"))), - css::uno::UNO_QUERY_THROW); - field->set( - strct, - wrapValue( - object, value, field->getType(), wrapAmbiguous, - isAmbiguous, wrapDefaulted, isDefaulted, false)); - } - } catch (css::lang::IllegalArgumentException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected" - " com.sun.star.lang.IllegalArgumentException: ")) - + e.Message), - object); - } catch (css::lang::IllegalAccessException & e) { - throw css::uno::RuntimeException( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected" - " com.sun.star.lang.IllegalAccessException: ")) - + e.Message), - object); - } - return strct; - } else { - if (wrapAmbiguous || wrapDefaulted || wrapOptional) { - throw css::uno::RuntimeException( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "unexpected type of attribute")), - object); - } - return value; - } -} - -PropertySetMixinImpl::PropertySetMixinImpl( - css::uno::Reference< css::uno::XComponentContext > const & context, - Implements implements, - css::uno::Sequence< rtl::OUString > const & absentOptional, - css::uno::Type const & type) -{ - m_impl = new Impl(context, implements, absentOptional, type); - m_impl->acquire(); -} - -PropertySetMixinImpl::~PropertySetMixinImpl() { - m_impl->release(); -} - -void PropertySetMixinImpl::checkUnknown(rtl::OUString const & propertyName) { - if (propertyName.getLength() != 0) { - m_impl->get( - static_cast< css::beans::XPropertySet * >(this), propertyName); - } -} - -void PropertySetMixinImpl::prepareSet( - rtl::OUString const & propertyName, css::uno::Any const & oldValue, - css::uno::Any const & newValue, BoundListeners * boundListeners) -{ - Impl::PropertyMap::const_iterator it(m_impl->properties.find(propertyName)); - OSL_ASSERT(it != m_impl->properties.end()); - Impl::VetoListenerBag specificVeto; - Impl::VetoListenerBag unspecificVeto; - { - osl::MutexGuard g(m_impl->mutex); - if (m_impl->disposed) { - throw css::lang::DisposedException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("disposed")), - static_cast< css::beans::XPropertySet * >(this)); - } - if ((it->second.property.Attributes - & css::beans::PropertyAttribute::CONSTRAINED) - != 0) - { - Impl::VetoListenerMap::const_iterator i( - m_impl->vetoListeners.find(propertyName)); - if (i != m_impl->vetoListeners.end()) { - specificVeto = i->second; - } - i = m_impl->vetoListeners.find(rtl::OUString()); - if (i != m_impl->vetoListeners.end()) { - unspecificVeto = i->second; - } - } - if ((it->second.property.Attributes - & css::beans::PropertyAttribute::BOUND) - != 0) - { - OSL_ASSERT(boundListeners != 0); - Impl::BoundListenerMap::const_iterator i( - m_impl->boundListeners.find(propertyName)); - if (i != m_impl->boundListeners.end()) { - boundListeners->m_impl->specificListeners = i->second; - } - i = m_impl->boundListeners.find(rtl::OUString()); - if (i != m_impl->boundListeners.end()) { - boundListeners->m_impl->unspecificListeners = i->second; - } - } - } - if ((it->second.property.Attributes - & css::beans::PropertyAttribute::CONSTRAINED) - != 0) - { - css::beans::PropertyChangeEvent event( - static_cast< css::beans::XPropertySet * >(this), propertyName, - false, it->second.property.Handle, oldValue, newValue); - for (Impl::VetoListenerBag::iterator i(specificVeto.begin()); - i != specificVeto.end(); ++i) - { - try { - (*i)->vetoableChange(event); - } catch (css::lang::DisposedException &) {} - } - for (Impl::VetoListenerBag::iterator i(unspecificVeto.begin()); - i != unspecificVeto.end(); ++i) - { - try { - (*i)->vetoableChange(event); - } catch (css::lang::DisposedException &) {} - } - } - if ((it->second.property.Attributes & css::beans::PropertyAttribute::BOUND) - != 0) - { - OSL_ASSERT(boundListeners != 0); - boundListeners->m_impl->event = css::beans::PropertyChangeEvent( - static_cast< css::beans::XPropertySet * >(this), propertyName, - false, it->second.property.Handle, oldValue, newValue); - } -} - -void PropertySetMixinImpl::dispose() { - Impl::BoundListenerMap boundListeners; - Impl::VetoListenerMap vetoListeners; - { - osl::MutexGuard g(m_impl->mutex); - boundListeners.swap(m_impl->boundListeners); - vetoListeners.swap(m_impl->vetoListeners); - m_impl->disposed = true; - } - css::lang::EventObject event( - static_cast< css::beans::XPropertySet * >(this)); - for (Impl::BoundListenerMap::iterator i(boundListeners.begin()); - i != boundListeners.end(); ++i) - { - for (BoundListenerBag::iterator j(i->second.begin()); - j != i->second.end(); ++j) - { - (*j)->disposing(event); - } - } - for (Impl::VetoListenerMap::iterator i(vetoListeners.begin()); - i != vetoListeners.end(); ++i) - { - for (Impl::VetoListenerBag::iterator j(i->second.begin()); - j != i->second.end(); ++j) - { - (*j)->disposing(event); - } - } -} - -css::uno::Any PropertySetMixinImpl::queryInterface(css::uno::Type const & type) - throw (css::uno::RuntimeException) -{ - if (((m_impl->implements & IMPLEMENTS_PROPERTY_SET) != 0 - && type == css::beans::XPropertySet::static_type())) - { - css::uno::Reference< css::uno::XInterface > ifc( - static_cast< css::beans::XPropertySet * >(this)); - return css::uno::Any(&ifc, type); - } else if ((m_impl->implements & IMPLEMENTS_FAST_PROPERTY_SET) != 0 - && type == css::beans::XFastPropertySet::static_type()) - { - css::uno::Reference< css::uno::XInterface > ifc( - static_cast< css::beans::XFastPropertySet * >(this)); - return css::uno::Any(&ifc, type); - } else if ((m_impl->implements & IMPLEMENTS_PROPERTY_ACCESS) != 0 - && type == css::beans::XPropertyAccess::static_type()) - { - css::uno::Reference< css::uno::XInterface > ifc( - static_cast< css::beans::XPropertyAccess * >(this)); - return css::uno::Any(&ifc, type); - } else { - return css::uno::Any(); - } -} - -css::uno::Reference< css::beans::XPropertySetInfo > -PropertySetMixinImpl::getPropertySetInfo() throw (css::uno::RuntimeException) { - try { - return new Info(m_impl); - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -void PropertySetMixinImpl::setPropertyValue( - rtl::OUString const & propertyName, css::uno::Any const & value) - throw ( - css::beans::UnknownPropertyException, css::beans::PropertyVetoException, - css::lang::IllegalArgumentException, css::lang::WrappedTargetException, - css::uno::RuntimeException) -{ - try { - m_impl->setProperty( - static_cast< css::beans::XPropertySet * >(this), propertyName, - value, false, false, 1); - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -css::uno::Any PropertySetMixinImpl::getPropertyValue( - rtl::OUString const & propertyName) - throw ( - css::beans::UnknownPropertyException, css::lang::WrappedTargetException, - css::uno::RuntimeException) -{ - try { - return m_impl->getProperty( - static_cast< css::beans::XPropertySet * >(this), propertyName, 0); - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -void PropertySetMixinImpl::addPropertyChangeListener( - rtl::OUString const & propertyName, - css::uno::Reference< css::beans::XPropertyChangeListener > const & listener) - throw ( - css::beans::UnknownPropertyException, css::lang::WrappedTargetException, - css::uno::RuntimeException) -{ - css::uno::Reference< css::beans::XPropertyChangeListener >( - listener, css::uno::UNO_QUERY_THROW); // reject NULL listener - checkUnknown(propertyName); - try { - bool disposed; - { - osl::MutexGuard g(m_impl->mutex); - disposed = m_impl->disposed; - if (!disposed) { - m_impl->boundListeners[propertyName].insert(listener); - } - } - if (disposed) { - listener->disposing( - css::lang::EventObject( - static_cast< css::beans::XPropertySet * >(this))); - } - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -void PropertySetMixinImpl::removePropertyChangeListener( - rtl::OUString const & propertyName, - css::uno::Reference< css::beans::XPropertyChangeListener > const & listener) - throw ( - css::beans::UnknownPropertyException, css::lang::WrappedTargetException, - css::uno::RuntimeException) -{ - OSL_ASSERT(listener.is()); - checkUnknown(propertyName); - try { - osl::MutexGuard g(m_impl->mutex); - Impl::BoundListenerMap::iterator i( - m_impl->boundListeners.find(propertyName)); - if (i != m_impl->boundListeners.end()) { - BoundListenerBag::iterator j(i->second.find(listener)); - if (j != i->second.end()) { - i->second.erase(j); - } - } - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -void PropertySetMixinImpl::addVetoableChangeListener( - rtl::OUString const & propertyName, - css::uno::Reference< css::beans::XVetoableChangeListener > const & listener) - throw ( - css::beans::UnknownPropertyException, css::lang::WrappedTargetException, - css::uno::RuntimeException) -{ - css::uno::Reference< css::beans::XVetoableChangeListener >( - listener, css::uno::UNO_QUERY_THROW); // reject NULL listener - checkUnknown(propertyName); - try { - bool disposed; - { - osl::MutexGuard g(m_impl->mutex); - disposed = m_impl->disposed; - if (!disposed) { - m_impl->vetoListeners[propertyName].insert(listener); - } - } - if (disposed) { - listener->disposing( - css::lang::EventObject( - static_cast< css::beans::XPropertySet * >(this))); - } - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -void PropertySetMixinImpl::removeVetoableChangeListener( - rtl::OUString const & propertyName, - css::uno::Reference< css::beans::XVetoableChangeListener > const & listener) - throw ( - css::beans::UnknownPropertyException, css::lang::WrappedTargetException, - css::uno::RuntimeException) -{ - OSL_ASSERT(listener.is()); - checkUnknown(propertyName); - try { - osl::MutexGuard g(m_impl->mutex); - Impl::VetoListenerMap::iterator i( - m_impl->vetoListeners.find(propertyName)); - if (i != m_impl->vetoListeners.end()) { - Impl::VetoListenerBag::iterator j(i->second.find(listener)); - if (j != i->second.end()) { - i->second.erase(j); - } - } - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -void PropertySetMixinImpl::setFastPropertyValue( - sal_Int32 handle, css::uno::Any const & value) - throw ( - css::beans::UnknownPropertyException, css::beans::PropertyVetoException, - css::lang::IllegalArgumentException, css::lang::WrappedTargetException, - css::uno::RuntimeException) -{ - try { - m_impl->setProperty( - static_cast< css::beans::XPropertySet * >(this), - m_impl->translateHandle( - static_cast< css::beans::XPropertySet * >(this), handle), - value, false, false, 1); - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -css::uno::Any PropertySetMixinImpl::getFastPropertyValue(sal_Int32 handle) - throw ( - css::beans::UnknownPropertyException, css::lang::WrappedTargetException, - css::uno::RuntimeException) -{ - try { - return m_impl->getProperty( - static_cast< css::beans::XPropertySet * >(this), - m_impl->translateHandle( - static_cast< css::beans::XPropertySet * >(this), handle), - 0); - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -css::uno::Sequence< css::beans::PropertyValue > -PropertySetMixinImpl::getPropertyValues() throw (css::uno::RuntimeException) { - try { - css::uno::Sequence< css::beans::PropertyValue > s( - m_impl->handleMap.getLength()); - sal_Int32 n = 0; - for (sal_Int32 i = 0; i < m_impl->handleMap.getLength(); ++i) { - try { - s[n].Value = m_impl->getProperty( - static_cast< css::beans::XPropertySet * >(this), - m_impl->handleMap[i], &s[n].State); - } catch (css::beans::UnknownPropertyException &) { - continue; - } catch (css::lang::WrappedTargetException & e) { - throw css::lang::WrappedTargetRuntimeException( - e.Message, static_cast< css::beans::XPropertySet * >(this), - e.TargetException); - } - s[n].Name = m_impl->handleMap[i]; - s[n].Handle = i; - ++n; - } - s.realloc(n); - return s; - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -void PropertySetMixinImpl::setPropertyValues( - css::uno::Sequence< css::beans::PropertyValue > const & props) - throw ( - css::beans::UnknownPropertyException, css::beans::PropertyVetoException, - css::lang::IllegalArgumentException, css::lang::WrappedTargetException, - css::uno::RuntimeException) -{ - try { - for (sal_Int32 i = 0; i < props.getLength(); ++i) { - if (props[i].Handle != -1 - && (props[i].Name - != m_impl->translateHandle( - static_cast< css::beans::XPropertySet * >(this), - props[i].Handle))) - { - throw css::beans::UnknownPropertyException( - (rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("name ")) - + props[i].Name - + rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM(" does not match handle ")) - + rtl::OUString::valueOf(props[i].Handle)), - static_cast< css::beans::XPropertySet * >(this)); - } - m_impl->setProperty( - static_cast< css::beans::XPropertySet * >(this), props[i].Name, - props[i].Value, - props[i].State == css::beans::PropertyState_AMBIGUOUS_VALUE, - props[i].State == css::beans::PropertyState_DEFAULT_VALUE, 0); - } - } catch (std::bad_alloc &) { - //TODO OutOfMemoryException: - throw css::uno::RuntimeException( - rtl::OUString(), static_cast< css::beans::XPropertySet * >(this)); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/propshlp.cxx b/cppuhelper/source/propshlp.cxx deleted file mode 100644 index 0e703e17e..000000000 --- a/cppuhelper/source/propshlp.cxx +++ /dev/null @@ -1,1335 +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_cppuhelper.hxx" - -#include "osl/diagnose.h" -#include "cppuhelper/implbase1.hxx" -#include "cppuhelper/weak.hxx" -#include "cppuhelper/propshlp.hxx" -#include "cppuhelper/exc_hlp.hxx" -#include "com/sun/star/beans/PropertyAttribute.hpp" -#include "com/sun/star/lang/DisposedException.hpp" - - -using namespace osl; -using namespace com::sun::star::uno; -using namespace com::sun::star::beans; -using namespace com::sun::star::lang; -using namespace cppu; - -using ::rtl::OUString; -using ::rtl::OUStringToOString; - -namespace cppu { - -IPropertyArrayHelper::~IPropertyArrayHelper() -{ -} - -inline const ::com::sun::star::uno::Type & getPropertyTypeIdentifier( ) SAL_THROW( () ) -{ - return ::getCppuType( (Reference< XPropertyChangeListener > *)0 ); -} -inline const ::com::sun::star::uno::Type & getPropertiesTypeIdentifier() SAL_THROW( () ) -{ - return ::getCppuType( (Reference< XPropertiesChangeListener > *)0 ); -} -inline const ::com::sun::star::uno::Type & getVetoableTypeIdentifier() SAL_THROW( () ) -{ - return ::getCppuType( (Reference< XVetoableChangeListener > *)0 ); -} - -extern "C" { - -static int compare_OUString_Property_Impl( const void *arg1, const void *arg2 ) - SAL_THROW_EXTERN_C() -{ - return ((OUString *)arg1)->compareTo( ((Property *)arg2)->Name ); -} - -} - -/** - * The class which implements the PropertySetInfo interface. - */ - -class OPropertySetHelperInfo_Impl - : public WeakImplHelper1< ::com::sun::star::beans::XPropertySetInfo > -{ - Sequence < Property > aInfos; - -public: - OPropertySetHelperInfo_Impl( IPropertyArrayHelper & rHelper_ ) SAL_THROW( () ); - - // XPropertySetInfo-Methoden - virtual Sequence< Property > SAL_CALL getProperties(void) throw(::com::sun::star::uno::RuntimeException); - virtual Property SAL_CALL getPropertyByName(const OUString& PropertyName) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException); - virtual sal_Bool SAL_CALL hasPropertyByName(const OUString& PropertyName) throw(::com::sun::star::uno::RuntimeException); -}; - - -/** - * Create an object that implements XPropertySetInfo IPropertyArrayHelper. - */ -OPropertySetHelperInfo_Impl::OPropertySetHelperInfo_Impl( - IPropertyArrayHelper & rHelper_ ) - SAL_THROW( () ) - :aInfos( rHelper_.getProperties() ) -{ -} - -/** - * Return the sequence of properties, which are provided throug the constructor. - */ -Sequence< Property > OPropertySetHelperInfo_Impl::getProperties(void) throw(::com::sun::star::uno::RuntimeException) - -{ - return aInfos; -} - -/** - * Return the sequence of properties, which are provided throug the constructor. - */ -Property OPropertySetHelperInfo_Impl::getPropertyByName( const OUString & PropertyName ) throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::uno::RuntimeException) -{ - Property * pR; - pR = (Property *)bsearch( &PropertyName, aInfos.getConstArray(), aInfos.getLength(), - sizeof( Property ), - compare_OUString_Property_Impl ); - if( !pR ) { - throw UnknownPropertyException(); - } - - return *pR; -} - -/** - * Return the sequence of properties, which are provided throug the constructor. - */ -sal_Bool OPropertySetHelperInfo_Impl::hasPropertyByName( const OUString & PropertyName ) throw(::com::sun::star::uno::RuntimeException) -{ - Property * pR; - pR = (Property *)bsearch( &PropertyName, aInfos.getConstArray(), aInfos.getLength(), - sizeof( Property ), - compare_OUString_Property_Impl ); - return pR != NULL; -} - -// ---------------------------------------------------- -// class PropertySetHelper_Impl -// ---------------------------------------------------- -class OPropertySetHelper::Impl { - -public: - Impl( bool i_bIgnoreRuntimeExceptionsWhileFiring, - IEventNotificationHook *i_pFireEvents - ) - :m_bIgnoreRuntimeExceptionsWhileFiring( i_bIgnoreRuntimeExceptionsWhileFiring ) - ,m_pFireEvents( i_pFireEvents ) - { - } - - bool m_bIgnoreRuntimeExceptionsWhileFiring; - class IEventNotificationHook * const m_pFireEvents; - - ::std::vector< sal_Int32 > m_handles; - ::std::vector< Any > m_newValues; - ::std::vector< Any > m_oldValues; -}; - - -// ---------------------------------------------------- -// class PropertySetHelper -// ---------------------------------------------------- -OPropertySetHelper::OPropertySetHelper( - OBroadcastHelper & rBHelper_ ) SAL_THROW( () ) - : rBHelper( rBHelper_ ), - aBoundLC( rBHelper_.rMutex ), - aVetoableLC( rBHelper_.rMutex ), - m_pReserved( new Impl(false, 0) ) -{ -} - -OPropertySetHelper::OPropertySetHelper( - OBroadcastHelper & rBHelper_, bool bIgnoreRuntimeExceptionsWhileFiring ) - : rBHelper( rBHelper_ ), - aBoundLC( rBHelper_.rMutex ), - aVetoableLC( rBHelper_.rMutex ), - m_pReserved( new Impl( bIgnoreRuntimeExceptionsWhileFiring, 0 ) ) -{ -} - -OPropertySetHelper::OPropertySetHelper( - OBroadcastHelper & rBHelper_, IEventNotificationHook * i_pFireEvents, - bool bIgnoreRuntimeExceptionsWhileFiring) - : rBHelper( rBHelper_ ), - aBoundLC( rBHelper_.rMutex ), - aVetoableLC( rBHelper_.rMutex ), - m_pReserved( - new Impl( bIgnoreRuntimeExceptionsWhileFiring, i_pFireEvents) ) -{ -} - -/** - * You must call disposing before. - */ -OPropertySetHelper::~OPropertySetHelper() SAL_THROW( () ) -{ -} - -/** - * These method is called from queryInterface, if no delegator is set. - * Otherwise this method is called from the delegator. - */ -// XAggregation -Any OPropertySetHelper::queryInterface( const ::com::sun::star::uno::Type & rType ) - throw (RuntimeException) -{ - return ::cppu::queryInterface( - rType, - static_cast< XPropertySet * >( this ), - static_cast< XMultiPropertySet * >( this ), - static_cast< XFastPropertySet * >( this ) ); -} - -/** - * called from the derivee's XTypeProvider::getTypes implementation - */ -::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > OPropertySetHelper::getTypes() - throw (RuntimeException) -{ - Sequence< ::com::sun::star::uno::Type > aTypes( 3 ); - aTypes[ 0 ] = XPropertySet::static_type(); - aTypes[ 1 ] = XMultiPropertySet::static_type(); - aTypes[ 2 ] = XFastPropertySet::static_type(); - return aTypes; -} - -// ComponentHelper -void OPropertySetHelper::disposing() SAL_THROW( () ) -{ - // Create an event with this as sender - Reference < XPropertySet > rSource( SAL_STATIC_CAST( XPropertySet * , this ) , UNO_QUERY ); - EventObject aEvt; - aEvt.Source = rSource; - - // inform all listeners to release this object - // The listener containers are automatically cleared - aBoundLC.disposeAndClear( aEvt ); - aVetoableLC.disposeAndClear( aEvt ); -} - -Reference < XPropertySetInfo > OPropertySetHelper::createPropertySetInfo( - IPropertyArrayHelper & rProperties ) SAL_THROW( () ) -{ - return static_cast< XPropertySetInfo * >( new OPropertySetHelperInfo_Impl( rProperties ) ); -} - -// XPropertySet -void OPropertySetHelper::setPropertyValue( - const OUString& rPropertyName, const Any& rValue ) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException) -{ - // get the map table - IPropertyArrayHelper & rPH = getInfoHelper(); - // map the name to the handle - sal_Int32 nHandle = rPH.getHandleByName( rPropertyName ); - // call the method of the XFastPropertySet interface - setFastPropertyValue( nHandle, rValue ); -} - -// XPropertySet -Any OPropertySetHelper::getPropertyValue( - const OUString& rPropertyName ) - throw(::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException) -{ - // get the map table - IPropertyArrayHelper & rPH = getInfoHelper(); - // map the name to the handle - sal_Int32 nHandle = rPH.getHandleByName( rPropertyName ); - // call the method of the XFastPropertySet interface - return getFastPropertyValue( nHandle ); -} - -// XPropertySet -void OPropertySetHelper::addPropertyChangeListener( - const OUString& rPropertyName, - const Reference < XPropertyChangeListener > & rxListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException) -{ - MutexGuard aGuard( rBHelper.rMutex ); - OSL_ENSURE( !rBHelper.bInDispose, "do not addPropertyChangeListener in the dispose call" ); - OSL_ENSURE( !rBHelper.bDisposed, "object is disposed" ); - if( !rBHelper.bInDispose && !rBHelper.bDisposed ) - { - // only add listeners if you are not disposed - // a listener with no name means all properties - if( rPropertyName.getLength() ) - { - // get the map table - IPropertyArrayHelper & rPH = getInfoHelper(); - // map the name to the handle - sal_Int32 nHandle = rPH.getHandleByName( rPropertyName ); - if( nHandle == -1 ) { - // property not known throw exception - throw UnknownPropertyException() ; - } - - sal_Int16 nAttributes; - rPH.fillPropertyMembersByHandle( NULL, &nAttributes, nHandle ); - if( !(nAttributes & ::com::sun::star::beans::PropertyAttribute::BOUND) ) - { - OSL_FAIL( "add listener to an unbound property" ); - // silent ignore this - return; - } - // add the change listener to the helper container - - aBoundLC.addInterface( (sal_Int32)nHandle, rxListener ); - } - else - // add the change listener to the helper container - rBHelper.aLC.addInterface( - getPropertyTypeIdentifier( ), - rxListener - ); - } -} - - -// XPropertySet -void OPropertySetHelper::removePropertyChangeListener( - const OUString& rPropertyName, - const Reference < XPropertyChangeListener >& rxListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException) -{ - MutexGuard aGuard( rBHelper.rMutex ); - OSL_ENSURE( !rBHelper.bDisposed, "object is disposed" ); - // all listeners are automaticly released in a dispose call - if( !rBHelper.bInDispose && !rBHelper.bDisposed ) - { - if( rPropertyName.getLength() ) - { - // get the map table - IPropertyArrayHelper & rPH = getInfoHelper(); - // map the name to the handle - sal_Int32 nHandle = rPH.getHandleByName( rPropertyName ); - if( nHandle == -1 ) - // property not known throw exception - throw UnknownPropertyException(); - aBoundLC.removeInterface( (sal_Int32)nHandle, rxListener ); - } - else { - // remove the change listener to the helper container - rBHelper.aLC.removeInterface( - getPropertyTypeIdentifier( ), - rxListener - ); - } - } -} - -// XPropertySet -void OPropertySetHelper::addVetoableChangeListener( - const OUString& rPropertyName, - const Reference< XVetoableChangeListener > & rxListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException) -{ - MutexGuard aGuard( rBHelper.rMutex ); - OSL_ENSURE( !rBHelper.bInDispose, "do not addVetoableChangeListener in the dispose call" ); - OSL_ENSURE( !rBHelper.bDisposed, "object is disposed" ); - if( !rBHelper.bInDispose && !rBHelper.bDisposed ) - { - // only add listeners if you are not disposed - // a listener with no name means all properties - if( rPropertyName.getLength() ) - { - // get the map table - IPropertyArrayHelper & rPH = getInfoHelper(); - // map the name to the handle - sal_Int32 nHandle = rPH.getHandleByName( rPropertyName ); - if( nHandle == -1 ) { - // property not known throw exception - throw UnknownPropertyException(); - } - - sal_Int16 nAttributes; - rPH.fillPropertyMembersByHandle( NULL, &nAttributes, nHandle ); - if( !(nAttributes & PropertyAttribute::CONSTRAINED) ) - { - OSL_FAIL( "addVetoableChangeListener, and property is not constrained" ); - // silent ignore this - return; - } - // add the vetoable listener to the helper container - aVetoableLC.addInterface( (sal_Int32)nHandle, rxListener ); - } - else - // add the vetoable listener to the helper container - rBHelper.aLC.addInterface( - getVetoableTypeIdentifier( ), - rxListener - ); - } -} - -// XPropertySet -void OPropertySetHelper::removeVetoableChangeListener( - const OUString& rPropertyName, - const Reference < XVetoableChangeListener > & rxListener ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException) -{ - MutexGuard aGuard( rBHelper.rMutex ); - OSL_ENSURE( !rBHelper.bDisposed, "object is disposed" ); - // all listeners are automaticly released in a dispose call - if( !rBHelper.bInDispose && !rBHelper.bDisposed ) - { - if( rPropertyName.getLength() ) - { - // get the map table - IPropertyArrayHelper & rPH = getInfoHelper(); - // map the name to the handle - sal_Int32 nHandle = rPH.getHandleByName( rPropertyName ); - if( nHandle == -1 ) { - // property not known throw exception - throw UnknownPropertyException(); - } - // remove the vetoable listener to the helper container - aVetoableLC.removeInterface( (sal_Int32)nHandle, rxListener ); - } - else - // add the vetoable listener to the helper container - rBHelper.aLC.removeInterface( - getVetoableTypeIdentifier( ), - rxListener - ); - } -} - -void OPropertySetHelper::setDependentFastPropertyValue( sal_Int32 i_handle, const ::com::sun::star::uno::Any& i_value ) -{ - //OSL_PRECOND( rBHelper.rMutex.isAcquired(), "OPropertySetHelper::setDependentFastPropertyValue: to be called with a locked mutex only!" ); - // there is no such thing as Mutex.isAcquired, sadly ... - - sal_Int16 nAttributes(0); - IPropertyArrayHelper& rInfo = getInfoHelper(); - if ( !rInfo.fillPropertyMembersByHandle( NULL, &nAttributes, i_handle ) ) - // unknown property - throw UnknownPropertyException(); - - // no need to check for READONLY-ness of the property. The method is intended to be called internally, which - // implies it might be invoked for properties which are read-only to the instance's clients, but well allowed - // to change their value. - - Any aConverted, aOld; - sal_Bool bChanged = convertFastPropertyValue( aConverted, aOld, i_handle, i_value ); - if ( !bChanged ) - return; - - // don't fire vetoable events. This method is called with our mutex locked, so calling into listeners would not be - // a good idea. The caler is responsible for not invoking this for constrained properties. - OSL_ENSURE( ( nAttributes & PropertyAttribute::CONSTRAINED ) == 0, - "OPropertySetHelper::setDependentFastPropertyValue: not to be used for constrained properties!" ); - (void)nAttributes; - - // actually set the new value - try - { - setFastPropertyValue_NoBroadcast( i_handle, aConverted ); - } - catch (const UnknownPropertyException& ) { throw; /* allowed to leave */ } - catch (const PropertyVetoException& ) { throw; /* allowed to leave */ } - catch (const IllegalArgumentException& ) { throw; /* allowed to leave */ } - catch (const WrappedTargetException& ) { throw; /* allowed to leave */ } - catch (const RuntimeException& ) { throw; /* allowed to leave */ } - catch (const Exception& ) - { - // not allowed to leave this meathod - WrappedTargetException aWrapped; - aWrapped.TargetException <<= ::cppu::getCaughtException(); - aWrapped.Context = static_cast< XPropertySet* >( this ); - throw aWrapped; - } - - // remember the handle/values, for the events to be fired later - m_pReserved->m_handles.push_back( i_handle ); - m_pReserved->m_newValues.push_back( aConverted ); // TODO: setFastPropertyValue notifies the unconverted value here ...? - m_pReserved->m_oldValues.push_back( aOld ); -} - -// XFastPropertySet -void OPropertySetHelper::setFastPropertyValue( sal_Int32 nHandle, const Any& rValue ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::beans::PropertyVetoException, - ::com::sun::star::lang::IllegalArgumentException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException) -{ - OSL_ENSURE( !rBHelper.bInDispose, "do not setFastPropertyValue in the dispose call" ); - OSL_ENSURE( !rBHelper.bDisposed, "object is disposed" ); - - IPropertyArrayHelper & rInfo = getInfoHelper(); - sal_Int16 nAttributes; - if( !rInfo.fillPropertyMembersByHandle( NULL, &nAttributes, nHandle ) ) { - // unknown property - throw UnknownPropertyException(); - } - if( nAttributes & PropertyAttribute::READONLY ) - throw PropertyVetoException(); - - Any aConvertedVal; - Any aOldVal; - - // Will the property change? - sal_Bool bChanged; - { - MutexGuard aGuard( rBHelper.rMutex ); - bChanged = convertFastPropertyValue( aConvertedVal, aOldVal, nHandle, rValue ); - // release guard to fire events - } - if( bChanged ) - { - // Is it a constrained property? - if( nAttributes & PropertyAttribute::CONSTRAINED ) - { - // In aValue is the converted rValue - // fire a constarined event - // second parameter NULL means constrained - fire( &nHandle, &rValue, &aOldVal, 1, sal_True ); - } - - { - MutexGuard aGuard( rBHelper.rMutex ); - try - { - // set the property to the new value - setFastPropertyValue_NoBroadcast( nHandle, aConvertedVal ); - } - catch (const ::com::sun::star::beans::UnknownPropertyException& ) { throw; /* allowed to leave */ } - catch (const ::com::sun::star::beans::PropertyVetoException& ) { throw; /* allowed to leave */ } - catch (const ::com::sun::star::lang::IllegalArgumentException& ) { throw; /* allowed to leave */ } - catch (const ::com::sun::star::lang::WrappedTargetException& ) { throw; /* allowed to leave */ } - catch (const ::com::sun::star::uno::RuntimeException& ) { throw; /* allowed to leave */ } - catch (const ::com::sun::star::uno::Exception& e ) - { - // not allowed to leave this meathod - ::com::sun::star::lang::WrappedTargetException aWrap; - aWrap.Context = static_cast< ::com::sun::star::beans::XPropertySet* >( this ); - aWrap.TargetException <<= e; - - throw ::com::sun::star::lang::WrappedTargetException( aWrap ); - } - - // release guard to fire events - } - // file a change event, if the value changed - impl_fireAll( &nHandle, &rValue, &aOldVal, 1 ); - } -} - -// XFastPropertySet -Any OPropertySetHelper::getFastPropertyValue( sal_Int32 nHandle ) - throw(::com::sun::star::beans::UnknownPropertyException, - ::com::sun::star::lang::WrappedTargetException, - ::com::sun::star::uno::RuntimeException) - -{ - IPropertyArrayHelper & rInfo = getInfoHelper(); - if( !rInfo.fillPropertyMembersByHandle( NULL, NULL, nHandle ) ) - // unknown property - throw UnknownPropertyException(); - - Any aRet; - MutexGuard aGuard( rBHelper.rMutex ); - getFastPropertyValue( aRet, nHandle ); - return aRet; -} - -//-------------------------------------------------------------------------- -void OPropertySetHelper::impl_fireAll( sal_Int32* i_handles, const Any* i_newValues, const Any* i_oldValues, sal_Int32 i_count ) -{ - ClearableMutexGuard aGuard( rBHelper.rMutex ); - if ( m_pReserved->m_handles.empty() ) - { - aGuard.clear(); - fire( i_handles, i_newValues, i_oldValues, i_count, sal_False ); - return; - } - - const size_t additionalEvents = m_pReserved->m_handles.size(); - OSL_ENSURE( additionalEvents == m_pReserved->m_newValues.size() - && additionalEvents == m_pReserved->m_oldValues.size(), - "OPropertySetHelper::impl_fireAll: inconsistency!" ); - - ::std::vector< sal_Int32 > allHandles( additionalEvents + i_count ); - ::std::copy( m_pReserved->m_handles.begin(), m_pReserved->m_handles.end(), allHandles.begin() ); - ::std::copy( i_handles, i_handles + i_count, allHandles.begin() + additionalEvents ); - - ::std::vector< Any > allNewValues( additionalEvents + i_count ); - ::std::copy( m_pReserved->m_newValues.begin(), m_pReserved->m_newValues.end(), allNewValues.begin() ); - ::std::copy( i_newValues, i_newValues + i_count, allNewValues.begin() + additionalEvents ); - - ::std::vector< Any > allOldValues( additionalEvents + i_count ); - ::std::copy( m_pReserved->m_oldValues.begin(), m_pReserved->m_oldValues.end(), allOldValues.begin() ); - ::std::copy( i_oldValues, i_oldValues + i_count, allOldValues.begin() + additionalEvents ); - - m_pReserved->m_handles.clear(); - m_pReserved->m_newValues.clear(); - m_pReserved->m_oldValues.clear(); - - aGuard.clear(); - fire( &allHandles[0], &allNewValues[0], &allOldValues[0], additionalEvents + i_count, sal_False ); -} - -//-------------------------------------------------------------------------- -void OPropertySetHelper::fire -( - sal_Int32 * pnHandles, - const Any * pNewValues, - const Any * pOldValues, - sal_Int32 nHandles, // These is the Count of the array - sal_Bool bVetoable -) -{ - OSL_ENSURE( m_pReserved.get(), "No OPropertySetHelper::Impl" ); - if (m_pReserved->m_pFireEvents) { - m_pReserved->m_pFireEvents->fireEvents( - pnHandles, nHandles, bVetoable, - m_pReserved->m_bIgnoreRuntimeExceptionsWhileFiring); - } - - // Only fire, if one or more properties changed - if( nHandles ) - { - // create the event sequence of all changed properties - Sequence< PropertyChangeEvent > aEvts( nHandles ); - PropertyChangeEvent * pEvts = aEvts.getArray(); - Reference < XInterface > xSource( (XPropertySet *)this, UNO_QUERY ); - sal_Int32 i; - sal_Int32 nChangesLen = 0; - // Loop over all changed properties to fill the event struct - for( i = 0; i < nHandles; i++ ) - { - // Vetoable fire and constrained attribute set or - // Change fire and Changed and bound attribute set - IPropertyArrayHelper & rInfo = getInfoHelper(); - sal_Int16 nAttributes; - OUString aPropName; - rInfo.fillPropertyMembersByHandle( &aPropName, &nAttributes, pnHandles[i] ); - - if( - (bVetoable && (nAttributes & PropertyAttribute::CONSTRAINED)) || - (!bVetoable && (nAttributes & PropertyAttribute::BOUND)) - ) - { - pEvts[nChangesLen].Source = xSource; - pEvts[nChangesLen].PropertyName = aPropName; - pEvts[nChangesLen].PropertyHandle = pnHandles[i]; - pEvts[nChangesLen].OldValue = pOldValues[i]; - pEvts[nChangesLen].NewValue = pNewValues[i]; - nChangesLen++; - } - } - - bool bIgnoreRuntimeExceptionsWhileFiring = - m_pReserved->m_bIgnoreRuntimeExceptionsWhileFiring; - - // fire the events for all changed properties - for( i = 0; i < nChangesLen; i++ ) - { - // get the listener container for the property name - OInterfaceContainerHelper * pLC; - if( bVetoable ) // fire change Events? - pLC = aVetoableLC.getContainer( pEvts[i].PropertyHandle ); - else - pLC = aBoundLC.getContainer( pEvts[i].PropertyHandle ); - if( pLC ) - { - // Ueber alle Listener iterieren und Events senden - OInterfaceIteratorHelper aIt( *pLC); - while( aIt.hasMoreElements() ) - { - XInterface * pL = aIt.next(); - try - { - try - { - if( bVetoable ) // fire change Events? - { - ((XVetoableChangeListener *)pL)->vetoableChange( - pEvts[i] ); - } - else - { - ((XPropertyChangeListener *)pL)->propertyChange( - pEvts[i] ); - } - } - catch (DisposedException & exc) - { - OSL_ENSURE( exc.Context.is(), - "DisposedException without Context!" ); - if (exc.Context == pL) - aIt.remove(); - else - throw; - } - } - catch (RuntimeException & exc) - { - OSL_TRACE( - OUStringToOString( - OUString( RTL_CONSTASCII_USTRINGPARAM( - "caught RuntimeException while " - "firing listeners: ") ) + - exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); - if (! bIgnoreRuntimeExceptionsWhileFiring) - throw; - } - } - } - // broadcast to all listeners with "" property name - if( bVetoable ){ - // fire change Events? - pLC = rBHelper.aLC.getContainer( - getVetoableTypeIdentifier() - ); - } - else { - pLC = rBHelper.aLC.getContainer( - getPropertyTypeIdentifier( ) - ); - } - if( pLC ) - { - // Ueber alle Listener iterieren und Events senden - OInterfaceIteratorHelper aIt( *pLC); - while( aIt.hasMoreElements() ) - { - XInterface * pL = aIt.next(); - try - { - try - { - if( bVetoable ) // fire change Events? - { - ((XVetoableChangeListener *)pL)->vetoableChange( - pEvts[i] ); - } - else - { - ((XPropertyChangeListener *)pL)->propertyChange( - pEvts[i] ); - } - } - catch (DisposedException & exc) - { - OSL_ENSURE( exc.Context.is(), - "DisposedException without Context!" ); - if (exc.Context == pL) - aIt.remove(); - else - throw; - } - } - catch (RuntimeException & exc) - { - OSL_TRACE( - OUStringToOString( - OUString( RTL_CONSTASCII_USTRINGPARAM( - "caught RuntimeException while " - "firing listeners: ") ) + - exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); - if (! bIgnoreRuntimeExceptionsWhileFiring) - throw; - } - } - } - } - - // reduce array to changed properties - aEvts.realloc( nChangesLen ); - - if( !bVetoable ) - { - OInterfaceContainerHelper * pCont = 0; - pCont = rBHelper.aLC.getContainer( - getPropertiesTypeIdentifier( ) - ); - if( pCont ) - { - // Here is a Bug, unbound properties are also fired - OInterfaceIteratorHelper aIt( *pCont ); - while( aIt.hasMoreElements() ) - { - XPropertiesChangeListener * pL = - (XPropertiesChangeListener *)aIt.next(); - try - { - try - { - // fire the hole event sequence to the - // XPropertiesChangeListener's - pL->propertiesChange( aEvts ); - } - catch (DisposedException & exc) - { - OSL_ENSURE( exc.Context.is(), - "DisposedException without Context!" ); - if (exc.Context == pL) - aIt.remove(); - else - throw; - } - } - catch (RuntimeException & exc) - { - OSL_TRACE( - OUStringToOString( - OUString( RTL_CONSTASCII_USTRINGPARAM( - "caught RuntimeException while " - "firing listeners: ") ) + - exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); - if (! bIgnoreRuntimeExceptionsWhileFiring) - throw; - } - } - } - } - } -} - -// OPropertySetHelper -void OPropertySetHelper::setFastPropertyValues( - sal_Int32 nSeqLen, - sal_Int32 * pHandles, - const Any * pValues, - sal_Int32 nHitCount ) - SAL_THROW( (::com::sun::star::uno::Exception) ) -{ - OSL_ENSURE( !rBHelper.bInDispose, "do not getFastPropertyValue in the dispose call" ); - OSL_ENSURE( !rBHelper.bDisposed, "object is disposed" ); - - Any * pConvertedValues = NULL; - Any * pOldValues = NULL; - - try - { - // get the map table - IPropertyArrayHelper & rPH = getInfoHelper(); - - pConvertedValues = new Any[ nHitCount ]; - pOldValues = new Any[ nHitCount ]; - sal_Int32 n = 0; - sal_Int32 i; - - { - // must lock the mutex outside the loop. So all values are consistent. - MutexGuard aGuard( rBHelper.rMutex ); - for( i = 0; i < nSeqLen; i++ ) - { - if( pHandles[i] != -1 ) - { - sal_Int16 nAttributes; - rPH.fillPropertyMembersByHandle( NULL, &nAttributes, pHandles[i] ); - if( nAttributes & PropertyAttribute::READONLY ) { - throw PropertyVetoException(); - } - // Will the property change? - if( convertFastPropertyValue( pConvertedValues[ n ], pOldValues[n], - pHandles[i], pValues[i] ) ) - { - // only increment if the property really change - pHandles[n] = pHandles[i]; - n++; - } - } - } - // release guard to fire events - } - - // fire vetoable events - fire( pHandles, pConvertedValues, pOldValues, n, sal_True ); - - { - // must lock the mutex outside the loop. - MutexGuard aGuard( rBHelper.rMutex ); - // Loop over all changed properties - for( i = 0; i < n; i++ ) - { - // Will the property change? - setFastPropertyValue_NoBroadcast( pHandles[i], pConvertedValues[i] ); - } - // release guard to fire events - } - - // fire change events - impl_fireAll( pHandles, pConvertedValues, pOldValues, n ); - } - catch( ... ) - { - delete [] pOldValues; - delete [] pConvertedValues; - throw; - } - delete [] pOldValues; - delete [] pConvertedValues; -} - -// XMultiPropertySet -/** - * The sequence may be conatain not known properties. The implementation - * must ignore these properties. - */ -void OPropertySetHelper::setPropertyValues( - const Sequence<OUString>& rPropertyNames, - const Sequence<Any>& rValues ) - throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException) -{ - sal_Int32 * pHandles = NULL; - try - { - sal_Int32 nSeqLen = rPropertyNames.getLength(); - pHandles = new sal_Int32[ nSeqLen ]; - // get the map table - IPropertyArrayHelper & rPH = getInfoHelper(); - // fill the handle array - sal_Int32 nHitCount = rPH.fillHandles( pHandles, rPropertyNames ); - if( nHitCount != 0 ) - setFastPropertyValues( nSeqLen, pHandles, rValues.getConstArray(), nHitCount ); - } - catch( ... ) - { - delete [] pHandles; - throw; - } - delete [] pHandles; -} - -// XMultiPropertySet -Sequence<Any> OPropertySetHelper::getPropertyValues( const Sequence<OUString>& rPropertyNames ) - throw(::com::sun::star::uno::RuntimeException) -{ - sal_Int32 nSeqLen = rPropertyNames.getLength(); - sal_Int32 * pHandles = new sal_Int32[ nSeqLen ]; - Sequence< Any > aValues( nSeqLen ); - - // get the map table - IPropertyArrayHelper & rPH = getInfoHelper(); - // fill the handle array - rPH.fillHandles( pHandles, rPropertyNames ); - - Any * pValues = aValues.getArray(); - - MutexGuard aGuard( rBHelper.rMutex ); - // fill the sequence with the values - for( sal_Int32 i = 0; i < nSeqLen; i++ ) - getFastPropertyValue( pValues[i], pHandles[i] ); - - delete [] pHandles; - return aValues; -} - -// XMultiPropertySet -void OPropertySetHelper::addPropertiesChangeListener( - const Sequence<OUString> & , - const Reference < XPropertiesChangeListener > & rListener ) - throw(::com::sun::star::uno::RuntimeException) -{ - rBHelper.addListener( getCppuType(&rListener) , rListener ); -} - -// XMultiPropertySet -void OPropertySetHelper::removePropertiesChangeListener( - const Reference < XPropertiesChangeListener > & rListener ) - throw(::com::sun::star::uno::RuntimeException) -{ - rBHelper.removeListener( getCppuType(&rListener) , rListener ); -} - -// XMultiPropertySet -void OPropertySetHelper::firePropertiesChangeEvent( - const Sequence<OUString>& rPropertyNames, - const Reference < XPropertiesChangeListener >& rListener ) - throw(::com::sun::star::uno::RuntimeException) -{ - sal_Int32 nLen = rPropertyNames.getLength(); - sal_Int32 * pHandles = new sal_Int32[nLen]; - IPropertyArrayHelper & rPH = getInfoHelper(); - rPH.fillHandles( pHandles, rPropertyNames ); - const OUString* pNames = rPropertyNames.getConstArray(); - - // get the count of matching properties - sal_Int32 nFireLen = 0; - sal_Int32 i; - for( i = 0; i < nLen; i++ ) - if( pHandles[i] != -1 ) - nFireLen++; - - Sequence<PropertyChangeEvent> aChanges( nFireLen ); - PropertyChangeEvent* pChanges = aChanges.getArray(); - - { - // must lock the mutex outside the loop. So all values are consistent. - MutexGuard aGuard( rBHelper.rMutex ); - Reference < XInterface > xSource( (XPropertySet *)this, UNO_QUERY ); - sal_Int32 nFirePos = 0; - for( i = 0; i < nLen; i++ ) - { - if( pHandles[i] != -1 ) - { - pChanges[nFirePos].Source = xSource; - pChanges[nFirePos].PropertyName = pNames[i]; - pChanges[nFirePos].PropertyHandle = pHandles[i]; - getFastPropertyValue( pChanges[nFirePos].OldValue, pHandles[i] ); - pChanges[nFirePos].NewValue = pChanges[nFirePos].OldValue; - nFirePos++; - } - } - // release guard to fire events - } - if( nFireLen ) - rListener->propertiesChange( aChanges ); - - delete [] pHandles; -} - -#ifdef xdvnsdfln -// XPropertyState -PropertyState OPropertySetHelper::getPropertyState( const OUString& PropertyName ) -{ - PropertyState aState; - return aState; -} - -// XPropertyState -Sequence< PropertyState > OPropertySetHelper::getPropertyStates( const Sequence< OUString >& PropertyNames ) -{ - ULONG nNames = PropertyNames.getLength(); - - Sequence< PropertyState > aStates( nNames ); - return aStates; - -} - -void OPropertySetHelper::setPropertyToDefault( const OUString& aPropertyName ) -{ - setPropertyValue( aPropertyName, Any() ); -} - -Any OPropertySetHelper::getPropertyDefault( const OUString& aPropertyName ) const -{ - return Any(); -} - -void OPropertySetHelper::addPropertyStateChangeListener( const OUString& aPropertyName, const XPropertyStateChangeListenerRef& Listener ) -{ -} - -void OPropertySetHelper::removePropertyStateChangeListener( const OUString& aPropertyName, const XPropertyStateChangeListenerRef& Listener ) -{ -} -#endif - -//======================================================================== -//== OPropertyArrayHelper ================================================ -//======================================================================== - -//======================================================================== - -// static OUString makeOUString( sal_Char *p ) -// { -// sal_Int32 nLen = strlen(p); -// sal_Unicode *pw = new sal_Unicode[nLen]; - -// for( int i = 0 ; i < nLen ; i ++ ) { - -// // Only ascii strings allowed with this helper ! -// OSL_ASSERT( p[i] < 127 ); -// pw[i] = p[i]; -// } -// OUString ow( pw , nLen ); -// delete pw; -// return ow; -// } - -extern "C" { - -static int compare_Property_Impl( const void *arg1, const void *arg2 ) - SAL_THROW_EXTERN_C() -{ - return ((Property *)arg1)->Name.compareTo( ((Property *)arg2)->Name ); -} - -} - -void OPropertyArrayHelper::init( sal_Bool bSorted ) SAL_THROW( () ) -{ - sal_Int32 i, nElements = aInfos.getLength(); - const Property* pProperties = aInfos.getConstArray(); - - for( i = 1; i < nElements; i++ ) - { - if( pProperties[i-1].Name >= pProperties[i].Name ) - { - if (bSorted) { - OSL_FAIL( "Property array is not sorted" ); - } - // not sorted - qsort( aInfos.getArray(), nElements, sizeof( Property ), - compare_Property_Impl ); - break; - } - } - // may be that the array is resorted - pProperties = aInfos.getConstArray(); - for( i = 0; i < nElements; i++ ) - if( pProperties[i].Handle != i ) - return; - // The handle is the index - bRightOrdered = sal_True; -} - -OPropertyArrayHelper::OPropertyArrayHelper( - Property * pProps, - sal_Int32 nEle, - sal_Bool bSorted ) - SAL_THROW( () ) - : aInfos(pProps, nEle) - , bRightOrdered( sal_False ) -{ - init( bSorted ); -} - -OPropertyArrayHelper::OPropertyArrayHelper( - const Sequence< Property > & aProps, - sal_Bool bSorted ) - SAL_THROW( () ) - : aInfos(aProps) - , bRightOrdered( sal_False ) -{ - init( bSorted ); -} - -//======================================================================== -sal_Int32 OPropertyArrayHelper::getCount() const -{ - return aInfos.getLength(); -} - -//======================================================================== -sal_Bool OPropertyArrayHelper::fillPropertyMembersByHandle -( - OUString * pPropName, - sal_Int16 * pAttributes, - sal_Int32 nHandle -) -{ - const Property* pProperties = aInfos.getConstArray(); - sal_Int32 nElements = aInfos.getLength(); - - if( bRightOrdered ) - { - if( nHandle < 0 || nHandle >= nElements ) - return sal_False; - if( pPropName ) - *pPropName = pProperties[ nHandle ].Name; - if( pAttributes ) - *pAttributes = pProperties[ nHandle ].Attributes; - return sal_True; - } - else - { - // normally the array is sorted - for( sal_Int32 i = 0; i < nElements; i++ ) - { - if( pProperties[i].Handle == nHandle ) - { - if( pPropName ) - *pPropName = pProperties[ i ].Name; - if( pAttributes ) - *pAttributes = pProperties[ i ].Attributes; - return sal_True; - } - } - } - return sal_False; -} - -//======================================================================== -Sequence< Property > OPropertyArrayHelper::getProperties(void) -{ - /*if( aInfos.getLength() != nElements ) - { - ((OPropertyArrayHelper *)this)->aInfos.realloc( nElements ); - Property * pProps = ((OPropertyArrayHelper *)this)->aInfos.getArray(); - for( sal_Int32 i = 0; i < nElements; i++ ) - { - pProps[i].Name = pProperties[i].Name; - pProps[i].Handle = pProperties[i].Handle; - pProps[i].Type = pProperties[i].Type; - pProps[i].Attributes = pProperties[i].Attributes; - } - }*/ - return aInfos; -} - -//======================================================================== -Property OPropertyArrayHelper::getPropertyByName(const OUString& aPropertyName) - throw (UnknownPropertyException) -{ - Property * pR; - pR = (Property *)bsearch( &aPropertyName, aInfos.getConstArray(), aInfos.getLength(), - sizeof( Property ), - compare_OUString_Property_Impl ); - if( !pR ) { - throw UnknownPropertyException(); - } - - /*Property aProp; - aProp.Name = pR->Name; - aProp.Handle = pR->Handle; - aProp.Type = pR->Type; - aProp.Attributes = pR->Attributes; - return aProp;*/ - return *pR; -} - -//======================================================================== -sal_Bool OPropertyArrayHelper::hasPropertyByName(const OUString& aPropertyName) -{ - Property * pR; - pR = (Property *)bsearch( &aPropertyName, aInfos.getConstArray(), aInfos.getLength(), - sizeof( Property ), - compare_OUString_Property_Impl ); - return pR != NULL; -} - -//======================================================================== -sal_Int32 OPropertyArrayHelper::getHandleByName( const OUString & rPropName ) -{ - Property * pR; - pR = (Property *)bsearch( &rPropName, aInfos.getConstArray(), aInfos.getLength(), - sizeof( Property ), - compare_OUString_Property_Impl ); - return pR ? pR->Handle : -1; -} - -//======================================================================== -sal_Int32 OPropertyArrayHelper::fillHandles( sal_Int32 * pHandles, const Sequence< OUString > & rPropNames ) -{ - sal_Int32 nHitCount = 0; - const OUString * pReqProps = rPropNames.getConstArray(); - sal_Int32 nReqLen = rPropNames.getLength(); - const Property * pCur = aInfos.getConstArray(); - const Property * pEnd = pCur + aInfos.getLength(); - - for( sal_Int32 i = 0; i < nReqLen; i++ ) - { - // Calculate logarithm - sal_Int32 n = (sal_Int32)(pEnd - pCur); - sal_Int32 nLog = 0; - while( n ) - { - nLog += 1; - n = n >> 1; - } - - // Number of properties to search for * Log2 of the number of remaining - // properties to search in. - if( (nReqLen - i) * nLog >= pEnd - pCur ) - { - // linear search is better - while( pCur < pEnd && pReqProps[i] > pCur->Name ) - { - pCur++; - } - if( pCur < pEnd && pReqProps[i] == pCur->Name ) - { - pHandles[i] = pCur->Handle; - nHitCount++; - } - else - pHandles[i] = -1; - } - else - { - // binary search is better - sal_Int32 nCompVal = 1; - const Property * pOldEnd = pEnd--; - const Property * pMid = pCur; - - while( nCompVal != 0 && pCur <= pEnd ) - { - pMid = (pEnd - pCur) / 2 + pCur; - - nCompVal = pReqProps[i].compareTo( pMid->Name ); - - if( nCompVal > 0 ) - pCur = pMid + 1; - else - pEnd = pMid - 1; - } - - if( nCompVal == 0 ) - { - pHandles[i] = pMid->Handle; - nHitCount++; - pCur = pMid +1; - } - else if( nCompVal > 0 ) - { - pHandles[i] = -1; - pCur = pMid +1; - } - else - { - pHandles[i] = -1; - pCur = pMid; - } - pEnd = pOldEnd; - } - } - return nHitCount; -} - -} // end namespace cppu - - - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/servicefactory.cxx b/cppuhelper/source/servicefactory.cxx deleted file mode 100644 index 584e9b5aa..000000000 --- a/cppuhelper/source/servicefactory.cxx +++ /dev/null @@ -1,664 +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_cppuhelper.hxx" - -#include <vector> - -#include "rtl/string.hxx" -#include "rtl/bootstrap.hxx" -#include "osl/diagnose.h" -#include "osl/file.h" -#include "osl/module.h" -#include "osl/process.h" -#include "cppuhelper/shlib.hxx" -#include "cppuhelper/factory.hxx" -#include "cppuhelper/component_context.hxx" -#include "cppuhelper/servicefactory.hxx" -#include "cppuhelper/bootstrap.hxx" - -#include "com/sun/star/uno/DeploymentException.hpp" -#include "com/sun/star/uno/XComponentContext.hpp" -#include "com/sun/star/lang/XInitialization.hpp" -#include "com/sun/star/lang/XSingleServiceFactory.hpp" -#include "com/sun/star/lang/XSingleComponentFactory.hpp" -#include "com/sun/star/beans/XPropertySet.hpp" -#include "com/sun/star/container/XSet.hpp" -#include "com/sun/star/container/XHierarchicalNameAccess.hpp" -#include "com/sun/star/registry/XSimpleRegistry.hpp" -#include "com/sun/star/registry/XImplementationRegistration.hpp" -#include "com/sun/star/security/XAccessController.hpp" - -#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) - - -using namespace ::rtl; -using namespace ::osl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; -namespace css = com::sun::star; - -namespace cppu -{ - -// private forward decl -void addFactories( - char const * const * ppNames /* lib, implname, ..., 0 */, - OUString const & bootstrapPath, - Reference< lang::XMultiComponentFactory > const & xMgr, - Reference< registry::XRegistryKey > const & xKey ) - SAL_THROW( (Exception) ); - -Reference< security::XAccessController > -createDefaultAccessController() SAL_THROW( () ); - -Reference< lang::XSingleComponentFactory > -create_boostrap_macro_expander_factory() SAL_THROW( () ); - -OUString const & get_this_libpath(); - - -static Reference< XInterface > SAL_CALL createInstance( - Reference< XInterface > const & xFactory, - Reference< XComponentContext > const & xContext = - Reference< XComponentContext >() ) -{ - Reference< lang::XSingleComponentFactory > xFac( xFactory, UNO_QUERY ); - if (xFac.is()) - { - return xFac->createInstanceWithContext( xContext ); - } - else - { - Reference< lang::XSingleServiceFactory > xFac2( xFactory, UNO_QUERY ); - if (xFac2.is()) - { - OSL_ENSURE( !xContext.is(), "### ignoring context!" ); - return xFac2->createInstance(); - } - } - throw RuntimeException( - OUSTR("no factory object given!"), - Reference< XInterface >() ); -} - -Reference< registry::XSimpleRegistry > SAL_CALL createSimpleRegistry( - OUString const & rBootstrapPath ) - SAL_THROW( () ) -{ - try - { - return Reference< registry::XSimpleRegistry >( - createInstance( - loadSharedLibComponentFactory( - OUSTR("bootstrap.uno" SAL_DLLEXTENSION), - 0 == rBootstrapPath.getLength() - ? get_this_libpath() : rBootstrapPath, - OUSTR("com.sun.star.comp.stoc.SimpleRegistry"), - Reference< lang::XMultiServiceFactory >(), - Reference< registry::XRegistryKey >() ) ), - UNO_QUERY ); - } - catch (Exception & exc) - { -#if OSL_DEBUG_LEVEL > 0 - OString cstr_msg( - OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( !"### exception occurred:", cstr_msg.getStr() ); -#else - (void) exc; // avoid warning about unused variable -#endif - } - - return Reference< registry::XSimpleRegistry >(); -} - -Reference< registry::XSimpleRegistry > SAL_CALL createNestedRegistry( - OUString const & rBootstrapPath ) - SAL_THROW( () ) -{ - try - { - return Reference< registry::XSimpleRegistry >( - createInstance( - loadSharedLibComponentFactory( - OUSTR("bootstrap.uno" SAL_DLLEXTENSION), - 0 == rBootstrapPath.getLength() - ? get_this_libpath() : rBootstrapPath, - OUSTR("com.sun.star.comp.stoc.NestedRegistry"), - Reference< lang::XMultiServiceFactory >(), - Reference< registry::XRegistryKey >() ) ), - UNO_QUERY ); - } - catch (Exception & exc) - { -#if OSL_DEBUG_LEVEL > 0 - OString cstr_msg( - OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( !"### exception occurred:", cstr_msg.getStr() ); -#else - (void) exc; // avoid warning about unused variable -#endif - } - - return Reference< registry::XSimpleRegistry >(); -} - - -/** bootstrap variables: - - UNO_AC=<mode> [mandatory] - -- mode := { on, off, dynamic-only, single-user, single-default-user } - UNO_AC_SERVICE=<service_name> [optional] - -- override ac singleton service name - UNO_AC_SINGLEUSER=<user-id|nothing> [optional] - -- run with this user id or with default user policy (<nothing>) - set UNO_AC=single-[default-]user - UNO_AC_USERCACHE_SIZE=<cache_size> - -- number of user permission sets to be cached - - UNO_AC_POLICYSERVICE=<service_name> [optional] - -- override policy singleton service name - UNO_AC_POLICYFILE=<file_url> [optional] - -- read policy out of simple text file -*/ -static void add_access_control_entries( - ::std::vector< ContextEntry_Init > * values, - Bootstrap const & bootstrap ) - SAL_THROW( (Exception) ) -{ - ContextEntry_Init entry; - ::std::vector< ContextEntry_Init > & context_values = *values; - - OUString ac_policy; - if (bootstrap.getFrom( OUSTR("UNO_AC_POLICYSERVICE"), ac_policy )) - { - // overridden service name - // - policy singleton - entry.bLateInitService = true; - entry.name = OUSTR("/singletons/com.sun.star.security.thePolicy"); - entry.value <<= ac_policy; - context_values.push_back( entry ); - } - else if (bootstrap.getFrom( OUSTR("UNO_AC_POLICYFILE"), ac_policy )) - { - // check for file policy - // - file policy prop: file-name - if (0 != ac_policy.compareToAscii( - RTL_CONSTASCII_STRINGPARAM("file:///") )) - { - // no file url - OUString baseDir; - if ( ::osl_getProcessWorkingDir( &baseDir.pData ) - != osl_Process_E_None ) - { - OSL_ASSERT( false ); - } - OUString fileURL; - if ( ::osl_getAbsoluteFileURL( - baseDir.pData, ac_policy.pData, &fileURL.pData ) - != osl_File_E_None ) - { - OSL_ASSERT( false ); - } - ac_policy = fileURL; - } - - entry.bLateInitService = false; - entry.name = - OUSTR("/implementations/com.sun.star.security.comp.stoc.FilePolicy/" - "file-name"); - entry.value <<= ac_policy; - context_values.push_back( entry ); - // - policy singleton - entry.bLateInitService = true; - entry.name = OUSTR("/singletons/com.sun.star.security.thePolicy"); - entry.value <<= OUSTR("com.sun.star.security.comp.stoc.FilePolicy"); - context_values.push_back( entry ); - } // else policy singleton comes from storage - - OUString ac_mode; - if (! bootstrap.getFrom( OUSTR("UNO_AC"), ac_mode )) - { - ac_mode = OUSTR("off"); // default - } - OUString ac_user; - if (bootstrap.getFrom( OUSTR("UNO_AC_SINGLEUSER"), ac_user )) - { - // ac in single-user mode - if (ac_user.getLength()) - { - // - ac prop: single-user-id - entry.bLateInitService = false; - entry.name = - OUSTR("/services/com.sun.star.security.AccessController/" - "single-user-id"); - entry.value <<= ac_user; - context_values.push_back( entry ); - if (! ac_mode.equalsAsciiL( - RTL_CONSTASCII_STRINGPARAM("single-user") )) - { - throw SecurityException( - OUSTR("set UNO_AC=single-user " - "if you set UNO_AC_SINGLEUSER=<user-id>!"), - Reference< XInterface >() ); - } - } - else - { - if (! ac_mode.equalsAsciiL( - RTL_CONSTASCII_STRINGPARAM("single-default-user") )) - { - throw SecurityException( - OUSTR("set UNO_AC=single-default-user " - "if you set UNO_AC_SINGLEUSER=<nothing>!"), - Reference< XInterface >() ); - } - } - } - - OUString ac_service; - if (! bootstrap.getFrom( OUSTR("UNO_AC_SERVICE"), ac_service )) - { - // override service name - ac_service = OUSTR("com.sun.star.security.AccessController"); // default -// ac = OUSTR("com.sun.star.security.comp.stoc.AccessController"); - } - - // - ac prop: user-cache-size - OUString ac_cache; - if (bootstrap.getFrom( OUSTR("UNO_AC_USERCACHE_SIZE"), ac_cache )) - { - // ac cache size - sal_Int32 n = ac_cache.toInt32(); - if (0 < n) - { - entry.bLateInitService = false; - entry.name = - OUSTR("/services/com.sun.star.security.AccessController/" - "user-cache-size"); - entry.value <<= n; - context_values.push_back( entry ); - } - } - - // - ac prop: mode - // { "off", "on", "dynamic-only", "single-user", "single-default-user" } - entry.bLateInitService = false; - entry.name = OUSTR("/services/com.sun.star.security.AccessController/mode"); - entry.value <<= ac_mode; - context_values.push_back( entry ); - // - ac singleton - entry.bLateInitService = true; - entry.name = OUSTR("/singletons/com.sun.star.security.theAccessController"); - entry.value <<= ac_service; - context_values.push_back( entry ); -} - -Reference< lang::XMultiComponentFactory > bootstrapInitialSF( - OUString const & rBootstrapPath ) - SAL_THROW( (Exception) ) -{ - OUString const & bootstrap_path = - 0 == rBootstrapPath.getLength() ? get_this_libpath() : rBootstrapPath; - - Reference< lang::XMultiComponentFactory > xMgr( - createInstance( - loadSharedLibComponentFactory( - OUSTR("bootstrap.uno" SAL_DLLEXTENSION), bootstrap_path, - OUSTR("com.sun.star.comp.stoc.ORegistryServiceManager"), - Reference< lang::XMultiServiceFactory >(), - Reference< registry::XRegistryKey >() ) ), - UNO_QUERY ); - - // add initial bootstrap services - static char const * ar[] = { - "bootstrap.uno" SAL_DLLEXTENSION, - "com.sun.star.comp.stoc.OServiceManagerWrapper", - "bootstrap.uno" SAL_DLLEXTENSION, - "com.sun.star.comp.stoc.DLLComponentLoader", - "bootstrap.uno" SAL_DLLEXTENSION, - "com.sun.star.comp.stoc.SimpleRegistry", - "bootstrap.uno" SAL_DLLEXTENSION, - "com.sun.star.comp.stoc.NestedRegistry", - "bootstrap.uno" SAL_DLLEXTENSION, - "com.sun.star.comp.stoc.TypeDescriptionManager", - "bootstrap.uno" SAL_DLLEXTENSION, - "com.sun.star.comp.stoc.ImplementationRegistration", - "bootstrap.uno" SAL_DLLEXTENSION, - "com.sun.star.security.comp.stoc.AccessController", - "bootstrap.uno" SAL_DLLEXTENSION, - "com.sun.star.security.comp.stoc.FilePolicy", - 0 - }; - addFactories( - ar, bootstrap_path, - xMgr, Reference< registry::XRegistryKey >() ); - - return xMgr; -} - -// returns context with UNinitialized smgr -Reference< XComponentContext > bootstrapInitialContext( - Reference< lang::XMultiComponentFactory > const & xSF, - Reference< registry::XSimpleRegistry > const & types_xRegistry, - Reference< registry::XSimpleRegistry > const & services_xRegistry, - OUString const & rBootstrapPath, Bootstrap const & bootstrap ) - SAL_THROW( (Exception) ) -{ - Reference< lang::XInitialization > xSFInit( xSF, UNO_QUERY ); - if (! xSFInit.is()) - { - throw RuntimeException( - OUSTR("servicemanager does not support XInitialization!"), - Reference< XInterface >() ); - } - - // basic context values - ContextEntry_Init entry; - ::std::vector< ContextEntry_Init > context_values; - context_values.reserve( 14 ); - - // macro expander singleton for loader - entry.bLateInitService = true; - entry.name = OUSTR("/singletons/com.sun.star.util.theMacroExpander"); - entry.value <<= create_boostrap_macro_expander_factory(); - context_values.push_back( entry ); - - // tdmgr singleton - entry.bLateInitService = true; - entry.name = - OUSTR("/singletons/com.sun.star.reflection.theTypeDescriptionManager"); - entry.value <<= OUSTR("com.sun.star.comp.stoc.TypeDescriptionManager"); - context_values.push_back( entry ); - - // read out singleton infos from registry - if (services_xRegistry.is()) - { - Reference< registry::XRegistryKey > xKey( - services_xRegistry->getRootKey() ); - if (xKey.is()) - { - xKey = xKey->openKey( OUSTR("/SINGLETONS") ); - if (xKey.is()) - { - entry.bLateInitService = true; - - Sequence< Reference< registry::XRegistryKey > > keys( - xKey->openKeys() ); - Reference< registry::XRegistryKey > const * pKeys = - keys.getConstArray(); - for ( sal_Int32 nPos = keys.getLength(); nPos--; ) - { - css::uno::Sequence< rtl::OUString > impls( - css::uno::Reference< css::registry::XRegistryKey >( - pKeys[nPos]->openKey( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "REGISTERED_BY"))), - css::uno::UNO_SET_THROW)->getAsciiListValue()); - switch (impls.getLength()) { - case 0: - throw css::uno::DeploymentException( - (pKeys[nPos]->getKeyName() + - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "/REGISTERED_BY is empty"))), - css::uno::Reference< css::uno::XInterface >()); - case 1: - break; - default: - OSL_TRACE( - ("arbitrarily chosing \"%s\" among multiple" - " implementations for \"%s\""), - rtl::OUStringToOString( - impls[0], RTL_TEXTENCODING_UTF8).getStr(), - rtl::OUStringToOString( - pKeys[nPos]->getKeyName(), - RTL_TEXTENCODING_UTF8).getStr()); - break; - } - context_values.push_back( - ContextEntry_Init( - (rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM("/singletons/")) + - pKeys[nPos]->getKeyName().copy( - RTL_CONSTASCII_LENGTH("/SINGLETONS/"))), - css::uno::makeAny(impls[0]), - true)); - } - } - } - } - - // ac, policy: - add_access_control_entries( &context_values, bootstrap ); - - // smgr singleton - entry.bLateInitService = false; - entry.name = OUSTR("/singletons/com.sun.star.lang.theServiceManager"); - entry.value <<= xSF; - context_values.push_back( entry ); - - Reference< XComponentContext > xContext( - createComponentContext( - &context_values[ 0 ], context_values.size(), - Reference< XComponentContext >() ) ); - // set default context - Reference< beans::XPropertySet > xProps( xSF, UNO_QUERY ); - OSL_ASSERT( xProps.is() ); - if (xProps.is()) - { - xProps->setPropertyValue( - OUSTR("DefaultContext"), makeAny( xContext ) ); - } - - Reference< container::XHierarchicalNameAccess > xTDMgr; - - // get tdmgr singleton - if (xContext->getValueByName( - OUSTR("/singletons/" - "com.sun.star.reflection.theTypeDescriptionManager") ) - >>= xTDMgr) - { - if (types_xRegistry.is()) // insert rdb provider? - { - // add registry td provider factory to smgr and instance to tdmgr - Reference< lang::XSingleComponentFactory > xFac( - loadSharedLibComponentFactory( - OUSTR("bootstrap.uno" SAL_DLLEXTENSION), - 0 == rBootstrapPath.getLength() - ? get_this_libpath() : rBootstrapPath, - OUSTR("com.sun.star.comp.stoc.RegistryTypeDescriptionProvider"), - Reference< lang::XMultiServiceFactory >( xSF, UNO_QUERY ), - Reference< registry::XRegistryKey >() ), UNO_QUERY ); - OSL_ASSERT( xFac.is() ); - - // smgr - Reference< container::XSet > xSet( xSF, UNO_QUERY ); - xSet->insert( makeAny( xFac ) ); - OSL_ENSURE( - xSet->has( makeAny( xFac ) ), - "### failed registering registry td provider at smgr!" ); - // tdmgr - xSet.set( xTDMgr, UNO_QUERY ); - OSL_ASSERT( xSet.is() ); - Any types_RDB( makeAny( types_xRegistry ) ); - Any rdbtdp( makeAny( xFac->createInstanceWithArgumentsAndContext( - Sequence< Any >( &types_RDB, 1 ), xContext ) ) ); - xSet->insert( rdbtdp ); - OSL_ENSURE( - xSet->has( rdbtdp ), - "### failed inserting registry td provider to tdmgr!" ); - } - // install callback - installTypeDescriptionManager( xTDMgr ); - } - - return xContext; -} - -static Reference< lang::XMultiComponentFactory > createImplServiceFactory( - const OUString & rWriteRegistry, - const OUString & rReadRegistry, - sal_Bool bReadOnly, - const OUString & rBootstrapPath ) - SAL_THROW( (Exception) ) -{ - Reference< lang::XMultiComponentFactory > xSF( - bootstrapInitialSF( rBootstrapPath ) ); - - Reference< registry::XSimpleRegistry > xRegistry; - - // open a registry - sal_Bool bRegistryShouldBeValid = sal_False; - if (rWriteRegistry.getLength() && !rReadRegistry.getLength()) - { - bRegistryShouldBeValid = sal_True; - xRegistry.set( createSimpleRegistry( rBootstrapPath ) ); - if (xRegistry.is()) - { - if (bReadOnly) - { - xRegistry->open( rWriteRegistry, sal_True, sal_False ); - } - else - { - xRegistry->open( rWriteRegistry, sal_False, sal_True ); - } - } - } - else if (rWriteRegistry.getLength() && rReadRegistry.getLength()) - { - // default registry - bRegistryShouldBeValid = sal_True; - xRegistry.set( createNestedRegistry( rBootstrapPath ) ); - - Reference< registry::XSimpleRegistry > xWriteReg( - createSimpleRegistry( rBootstrapPath ) ); - if (xWriteReg.is()) - { - if (bReadOnly) - { - try - { - xWriteReg->open( rWriteRegistry, sal_True, sal_False ); - } - catch (registry::InvalidRegistryException &) - { - } - - if (! xWriteReg->isValid()) - { - throw RuntimeException( - OUSTR("specified first registry " - "could not be open readonly!"), - Reference< XInterface >() ); - } - } - else - { - xWriteReg->open( rWriteRegistry, sal_False, sal_True ); - } - } - - Reference< registry::XSimpleRegistry > xReadReg( - createSimpleRegistry( rBootstrapPath ) ); - if (xReadReg.is()) - { - xReadReg->open( rReadRegistry, sal_True, sal_False ); - } - - Reference< lang::XInitialization > xInit( xRegistry, UNO_QUERY ); - Sequence< Any > aInitSeq( 2 ); - aInitSeq[ 0 ] <<= xWriteReg; - aInitSeq[ 1 ] <<= xReadReg; - xInit->initialize( aInitSeq ); - } - - if (bRegistryShouldBeValid && (!xRegistry.is() || !xRegistry->isValid())) - { - throw RuntimeException( - OUSTR("specified registry could not be initialized"), - Reference< XInterface >() ); - } - - Bootstrap bootstrap; - Reference< XComponentContext > xContext( - bootstrapInitialContext( - xSF, xRegistry, xRegistry, rBootstrapPath, bootstrap ) ); - - // initialize sf - Reference< lang::XInitialization > xInit( xSF, UNO_QUERY ); - OSL_ASSERT( xInit.is() ); - Sequence< Any > aSFInit( 1 ); - aSFInit[ 0 ] <<= xRegistry; - xInit->initialize( aSFInit ); - - return xSF; -} - -Reference< lang::XMultiServiceFactory > SAL_CALL createRegistryServiceFactory( - const OUString & rWriteRegistry, - const OUString & rReadRegistry, - sal_Bool bReadOnly, - const OUString & rBootstrapPath ) - SAL_THROW( (Exception) ) -{ - return Reference< lang::XMultiServiceFactory >( createImplServiceFactory( - rWriteRegistry, rReadRegistry, bReadOnly, rBootstrapPath ), UNO_QUERY ); -} - -Reference< XComponentContext > SAL_CALL bootstrap_InitialComponentContext( - Reference< registry::XSimpleRegistry > const & xRegistry, - OUString const & rBootstrapPath ) - SAL_THROW( (Exception) ) -{ - Bootstrap bootstrap; - - Reference< lang::XMultiComponentFactory > xSF( - bootstrapInitialSF( rBootstrapPath ) ); - Reference< XComponentContext > xContext( - bootstrapInitialContext( - xSF, xRegistry, xRegistry, rBootstrapPath, bootstrap ) ); - - // initialize sf - Reference< lang::XInitialization > xInit( xSF, UNO_QUERY ); - OSL_ASSERT( xInit.is() ); - Sequence< Any > aSFInit( 2 ); - aSFInit[ 0 ] <<= xRegistry; - aSFInit[ 1 ] <<= xContext; // default context - xInit->initialize( aSFInit ); - - return xContext; -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/shlib.cxx b/cppuhelper/source/shlib.cxx deleted file mode 100644 index 8acfb334b..000000000 --- a/cppuhelper/source/shlib.cxx +++ /dev/null @@ -1,622 +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_cppuhelper.hxx" - -#include "osl/diagnose.h" -#include "osl/file.hxx" -#include "osl/mutex.hxx" -#include "osl/module.hxx" -#include "rtl/unload.h" -#include "rtl/ustrbuf.hxx" -#include "rtl/instance.hxx" -#include "uno/environment.h" -#include "uno/mapping.hxx" -#include "cppuhelper/factory.hxx" -#include "cppuhelper/shlib.hxx" - -#include "com/sun/star/beans/XPropertySet.hpp" - -#if OSL_DEBUG_LEVEL > 1 -#include <stdio.h> -#endif -#include <vector> - -#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) - - -using namespace ::rtl; -using namespace ::osl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - -namespace cppu -{ - -#if OSL_DEBUG_LEVEL > 1 -//------------------------------------------------------------------------------ -static inline void out( const char * p ) SAL_THROW( () ) -{ - printf( "%s\n", p ); -} -static inline void out( const OUString & r ) throw () -{ - OString s( OUStringToOString( r, RTL_TEXTENCODING_ASCII_US ) ); - out( s.getStr() ); -} -#endif - -namespace -{ - class buildAccessDPath - { - private: - ::std::vector< OUString > m_aAccessDPath; - bool m_bCPLD_ACCESSPATHSet; - public: - buildAccessDPath() : m_bCPLD_ACCESSPATHSet(false) - { - const char * pEnv = ::getenv( "CPLD_ACCESSPATH" ); - if (pEnv) - { - m_bCPLD_ACCESSPATHSet = true; - - OString aEnv( pEnv ); - sal_Int32 nIndex = 0; - do - { - OUString aStr( OStringToOUString( - aEnv.getToken( 0, ';', nIndex ), - RTL_TEXTENCODING_ASCII_US ) ); - OUString aFileUrl; - if (FileBase::getFileURLFromSystemPath(aStr, aFileUrl) - != FileBase::E_None) - { - OSL_ASSERT(false); - } - m_aAccessDPath.push_back( aFileUrl ); - } while( nIndex != -1 ); - #if OSL_G_LEVEL > 1 - out( "> cpld: acknowledged following access path(s): \"" ); - ::std::vector< OUString >::const_iterator iPos( m_aAccessDPath.begin() ); - while (iPos != m_aAccessDPath.end()) - { - out( *iPos ); - ++iPos; - if (iPos != m_aAccessDPath.end()) - out( ";" ); - } - out( "\"\n" ); - #endif - } - else - { - // no access path env set - #if OSL_G_LEVEL > 1 - out( "=> no CPLD_ACCESSPATH set.\n" ); - #endif - } - } - ::std::vector< OUString >* getAccessDPath() { return m_bCPLD_ACCESSPATHSet ? &m_aAccessDPath : NULL; } - }; - - class theAccessDPath : public rtl::Static<buildAccessDPath, theAccessDPath> {}; -} - -//------------------------------------------------------------------------------ -static const ::std::vector< OUString > * getAccessDPath() SAL_THROW( () ) -{ - return theAccessDPath::get().getAccessDPath(); -} - -//------------------------------------------------------------------------------ -static bool checkAccessPath( OUString * pComp ) throw () -{ - const ::std::vector< OUString > * pPath = getAccessDPath(); - - if (pPath) - { - sal_Bool bAbsolute = (pComp->compareToAscii( "file://" , 7 ) == 0); - for ( ::std::vector< OUString >::const_iterator iPos( pPath->begin() ); - iPos != pPath->end(); ++iPos ) - { - OUString aBaseDir( *iPos ); - OUString aAbs; - - if ( bAbsolute ) - { - aAbs = *pComp; -#if OSL_DEBUG_LEVEL > 1 - out( "> taking path: \"" ); - out( aAbs ); -#endif - } - else - { - if (osl_File_E_None != - ::osl_getAbsoluteFileURL( - aBaseDir.pData, pComp->pData, &aAbs.pData )) - { - continue; - } -#if OSL_DEBUG_LEVEL > 1 - out( "> found path: \"" ); - out( aBaseDir ); - out( "\" + \"" ); - out( *pComp ); - out( "\" => \"" ); - out( aAbs ); -#endif - } - - if (0 == aAbs.indexOf( aBaseDir ) && // still part of it? - aBaseDir.getLength() < aAbs.getLength() && - (aBaseDir[ aBaseDir.getLength() -1 ] == (sal_Unicode)'/' || - // dir boundary - aAbs[ aBaseDir.getLength() ] == (sal_Unicode)'/')) - { -#if OSL_DEBUG_LEVEL > 1 - out( ": ok.\n" ); -#endif - // load from absolute path - *pComp = aAbs; - return true; - } -#if OSL_DEBUG_LEVEL > 1 - else - { - out( "\" ...does not match given path \"" ); - out( aBaseDir ); - out( "\".\n" ); - } -#endif - } - return false; - } - else - { - // no access path env set - return true; - } -} - -//------------------------------------------------------------------------------ -static inline sal_Int32 endsWith( - const OUString & rText, const OUString & rEnd ) SAL_THROW( () ) -{ - if (rText.getLength() >= rEnd.getLength() && - rEnd.equalsIgnoreAsciiCase( - rText.copy( rText.getLength() - rEnd.getLength() ) )) - { - return rText.getLength() - rEnd.getLength(); - } - return -1; -} - -//------------------------------------------------------------------------------ -static OUString makeComponentPath( - const OUString & rLibName, const OUString & rPath ) -{ -#if OSL_DEBUG_LEVEL > 0 - // No system path allowed here ! - { - OUString aComp; - OSL_ASSERT( FileBase::E_None == - FileBase::getSystemPathFromFileURL( rLibName, aComp ) ); - OSL_ASSERT( - ! rPath.getLength() || - FileBase::E_None == - FileBase::getSystemPathFromFileURL( rPath, aComp ) ); - } -#endif - - OUStringBuffer buf( rPath.getLength() + rLibName.getLength() + 12 ); - - if (0 != rPath.getLength()) - { - buf.append( rPath ); - if (rPath[ rPath.getLength() -1 ] != '/') - buf.append( (sal_Unicode) '/' ); - } - sal_Int32 nEnd = endsWith( rLibName, OUSTR(SAL_DLLEXTENSION) ); - if (nEnd < 0) // !endsWith - { -#if defined SAL_DLLPREFIX - nEnd = endsWith( rLibName, OUSTR(".uno") ); - if (nEnd < 0) // !endsWith - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(SAL_DLLPREFIX) ); -#endif - buf.append( rLibName ); - buf.appendAscii( RTL_CONSTASCII_STRINGPARAM(SAL_DLLEXTENSION) ); - } - else // name is completely pre/postfixed - { - buf.append( rLibName ); - } - - OUString out( buf.makeStringAndClear() ); -#if OSL_DEBUG_LEVEL > 1 - OString str( OUStringToOString( out, RTL_TEXTENCODING_ASCII_US ) ); - OSL_TRACE( "component path=%s\n", str.getStr() ); -#endif - - return out; -} - -//============================================================================== -static OUString getLibEnv(oslModule lib, - uno::Environment * pEnv, - OUString * pSourceEnv_name, - uno::Environment const & cTargetEnv, - OUString const & cImplName = OUString(), - OUString const & rPrefix = OUString()) -{ - sal_Char const * pEnvTypeName = NULL; - - OUString aGetEnvNameExt = rPrefix + OUSTR(COMPONENT_GETENVEXT); - component_getImplementationEnvironmentExtFunc pGetImplEnvExt = - (component_getImplementationEnvironmentExtFunc)osl_getFunctionSymbol(lib, aGetEnvNameExt.pData); - - if (pGetImplEnvExt) - { - OString implName(OUStringToOString(cImplName, RTL_TEXTENCODING_ASCII_US)); - pGetImplEnvExt(&pEnvTypeName, (uno_Environment **)pEnv, implName.getStr(), cTargetEnv.get()); - } - else - { - OUString aGetEnvName = rPrefix + OUSTR(COMPONENT_GETENV); - component_getImplementationEnvironmentFunc pGetImplEnv = - (component_getImplementationEnvironmentFunc)osl_getFunctionSymbol( - lib, aGetEnvName.pData ); - if (pGetImplEnv) - pGetImplEnv(&pEnvTypeName, (uno_Environment **)pEnv); - - else // this symbol used to be mandatory, but is no longer - pEnvTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; - } - - if (!pEnv->is() && pEnvTypeName) - { - *pSourceEnv_name = OUString::createFromAscii(pEnvTypeName); - const char * pUNO_ENV_LOG = ::getenv( "UNO_ENV_LOG" ); - if (pUNO_ENV_LOG && rtl_str_getLength(pUNO_ENV_LOG) ) - { - OString implName(OUStringToOString(cImplName, RTL_TEXTENCODING_ASCII_US)); - OString aEnv( pUNO_ENV_LOG ); - sal_Int32 nIndex = 0; - do - { - const OString aStr( aEnv.getToken( 0, ';', nIndex ) ); - if ( aStr.equals(implName) ) - { - *pSourceEnv_name += ::rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":log")); - break; - } - } while( nIndex != -1 ); - } - } - return OUString(); -} - -extern "C" {static void s_getFactory(va_list * pParam) -{ - component_getFactoryFunc pSym = va_arg(*pParam, component_getFactoryFunc); - OString const * pImplName = va_arg(*pParam, OString const *); - void * pSMgr = va_arg(*pParam, void *); - void * pKey = va_arg(*pParam, void *); - void ** ppSSF = va_arg(*pParam, void **); - - *ppSSF = pSym(pImplName->getStr(), pSMgr, pKey); -}} - -/* For backwards compatibility */ -Reference< XInterface > SAL_CALL loadSharedLibComponentFactory( - OUString const & rLibName, OUString const & rPath, - OUString const & rImplName, - Reference< lang::XMultiServiceFactory > const & xMgr, - Reference< registry::XRegistryKey > const & xKey ) - SAL_THROW( (loader::CannotActivateFactoryException) ) -{ - return loadSharedLibComponentFactory( rLibName, rPath, rImplName, xMgr, xKey, rtl::OUString() ); -} - -Reference< XInterface > SAL_CALL loadSharedLibComponentFactory( - OUString const & rLibName, OUString const & rPath, - OUString const & rImplName, - Reference< lang::XMultiServiceFactory > const & xMgr, - Reference< registry::XRegistryKey > const & xKey, - OUString const & rPrefix ) - SAL_THROW( (loader::CannotActivateFactoryException) ) -{ -#ifndef IOS - OUString aModulePath( makeComponentPath( rLibName, rPath ) ); - if (! checkAccessPath( &aModulePath )) - { - throw loader::CannotActivateFactoryException( - OUSTR("permission denied to load component library: ") + - aModulePath, - Reference< XInterface >() ); - } - - oslModule lib = osl_loadModule( - aModulePath.pData, SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL ); - if (! lib) - { - throw loader::CannotActivateFactoryException( - OUSTR("loading component library failed: ") + aModulePath, - Reference< XInterface >() ); - } -#else - oslModule lib; - OUString aModulePath(OUSTR("MAIN")); - if (! osl_getModuleHandle( NULL, &lib)) - { - throw loader::CannotActivateFactoryException( - OUSTR("osl_getModuleHandle of the executable: "), - Reference< XInterface >() ); - } -#endif - - Reference< XInterface > xRet; - - uno::Environment currentEnv(Environment::getCurrent()); - uno::Environment env; - - OUString aEnvTypeName; - - OUString aExcMsg = getLibEnv(lib, &env, &aEnvTypeName, currentEnv, rImplName, rPrefix); - if (!aExcMsg.getLength()) - { - OUString aGetFactoryName = rPrefix + OUSTR(COMPONENT_GETFACTORY); - oslGenericFunction pSym = osl_getFunctionSymbol( lib, aGetFactoryName.pData ); - if (pSym != 0) - { - OString aImplName( - OUStringToOString( rImplName, RTL_TEXTENCODING_ASCII_US ) ); - - if (!env.is()) - env = uno::Environment(aEnvTypeName); - - if (env.is() && currentEnv.is()) - { -#if OSL_DEBUG_LEVEL > 1 - { - rtl::OString libName(rtl::OUStringToOString(rLibName, RTL_TEXTENCODING_ASCII_US)); - rtl::OString implName(rtl::OUStringToOString(rImplName, RTL_TEXTENCODING_ASCII_US)); - rtl::OString envDcp(rtl::OUStringToOString(env.getTypeName(), RTL_TEXTENCODING_ASCII_US)); - - fprintf(stderr, "loadSharedLibComponentFactory envDcp: %-12.12s implName: %30.30s libName: %-15.15s\n", envDcp.getStr(), implName.getStr() + (implName.getLength() > 30 ? implName.getLength() - 30 : 0), libName.getStr()); - } -#endif - - Mapping aCurrent2Env( currentEnv, env ); - Mapping aEnv2Current( env, currentEnv ); - - if (aCurrent2Env.is() && aEnv2Current.is()) - { - void * pSMgr = aCurrent2Env.mapInterface( - xMgr.get(), ::getCppuType( &xMgr ) ); - void * pKey = aCurrent2Env.mapInterface( - xKey.get(), ::getCppuType( &xKey ) ); - - void * pSSF = NULL; - - env.invoke(s_getFactory, pSym, &aImplName, pSMgr, pKey, &pSSF); - - if (pKey) - { - (env.get()->pExtEnv->releaseInterface)( - env.get()->pExtEnv, pKey ); - } - if (pSMgr) - { - (*env.get()->pExtEnv->releaseInterface)( - env.get()->pExtEnv, pSMgr ); - } - - if (pSSF) - { - aEnv2Current.mapInterface( - reinterpret_cast< void ** >( &xRet ), - pSSF, ::getCppuType( &xRet ) ); - (env.get()->pExtEnv->releaseInterface)( - env.get()->pExtEnv, pSSF ); - } - else - { - aExcMsg = aModulePath; - aExcMsg += OUSTR(": cannot get factory of " - "demanded implementation: "); - aExcMsg += OStringToOUString( - aImplName, RTL_TEXTENCODING_ASCII_US ); - } - } - else - { - aExcMsg = - OUSTR("cannot get uno mappings: C++ <=> UNO!"); - } - } - else - { - aExcMsg = OUSTR("cannot get uno environments!"); - } - } - else - { - aExcMsg = aModulePath; - aExcMsg += OUSTR(": cannot get symbol: "); - aExcMsg += aGetFactoryName; - } - } - - if (! xRet.is()) - { - osl_unloadModule( lib ); -#if OSL_DEBUG_LEVEL > 1 - out( "### cannot activate factory: " ); - out( aExcMsg ); - out( "\n" ); -#endif - throw loader::CannotActivateFactoryException( - aExcMsg, - Reference< XInterface >() ); - } - - rtl_registerModuleForUnloading( lib); - return xRet; -} - -//============================================================================== -extern "C" { static void s_writeInfo(va_list * pParam) -{ - component_writeInfoFunc pSym = va_arg(*pParam, component_writeInfoFunc); - void * pSMgr = va_arg(*pParam, void *); - void * pKey = va_arg(*pParam, void *); - sal_Bool * pbRet = va_arg(*pParam, sal_Bool *); - - *pbRet = pSym(pSMgr, pKey); - -}} - -void SAL_CALL writeSharedLibComponentInfo( - OUString const & rLibName, OUString const & rPath, - Reference< lang::XMultiServiceFactory > const & xMgr, - Reference< registry::XRegistryKey > const & xKey ) - SAL_THROW( (registry::CannotRegisterImplementationException) ) -{ - OUString aModulePath( makeComponentPath( rLibName, rPath ) ); - - if (! checkAccessPath( &aModulePath )) - { - throw registry::CannotRegisterImplementationException( - OUSTR("permission denied to load component library: ") + - aModulePath, - Reference< XInterface >() ); - } - - oslModule lib = osl_loadModule( - aModulePath.pData, SAL_LOADMODULE_LAZY | SAL_LOADMODULE_GLOBAL ); - if (! lib) - { - throw registry::CannotRegisterImplementationException( - OUSTR("loading component library failed: ") + aModulePath, - Reference< XInterface >() ); - } - - sal_Bool bRet = sal_False; - - uno::Environment currentEnv(Environment::getCurrent()); - uno::Environment env; - - OUString aEnvTypeName; - OUString aExcMsg = getLibEnv(lib, &env, &aEnvTypeName, currentEnv); - if (!aExcMsg.getLength()) - { - OUString aWriteInfoName = OUSTR(COMPONENT_WRITEINFO); - oslGenericFunction pSym = osl_getFunctionSymbol( lib, aWriteInfoName.pData ); - if (pSym != 0) - { - if (!env.is()) - env = uno::Environment(aEnvTypeName); - - if (env.is() && currentEnv.is()) - { - Mapping aCurrent2Env( currentEnv, env ); - if (aCurrent2Env.is()) - { - void * pSMgr = aCurrent2Env.mapInterface( - xMgr.get(), ::getCppuType( &xMgr ) ); - void * pKey = aCurrent2Env.mapInterface( - xKey.get(), ::getCppuType( &xKey ) ); - if (pKey) - { - env.invoke(s_writeInfo, pSym, pSMgr, pKey, &bRet); - - - (*env.get()->pExtEnv->releaseInterface)( - env.get()->pExtEnv, pKey ); - if (! bRet) - { - aExcMsg = aModulePath; - aExcMsg += OUSTR(": component_writeInfo() " - "returned false!"); - } - } - else - { - // key is mandatory - aExcMsg = aModulePath; - aExcMsg += OUSTR(": registry is mandatory to invoke" - " component_writeInfo()!"); - } - - if (pSMgr) - { - (*env.get()->pExtEnv->releaseInterface)( - env.get()->pExtEnv, pSMgr ); - } - } - else - { - aExcMsg = OUSTR("cannot get uno mapping: C++ <=> UNO!"); - } - } - else - { - aExcMsg = OUSTR("cannot get uno environments!"); - } - } - else - { - aExcMsg = aModulePath; - aExcMsg += OUSTR(": cannot get symbol: "); - aExcMsg += aWriteInfoName; - } - } - -//! -//! OK: please look at #88219# -//! -//! ::osl_unloadModule( lib); - if (! bRet) - { -#if OSL_DEBUG_LEVEL > 1 - out( "### cannot write component info: " ); - out( aExcMsg ); - out( "\n" ); -#endif - throw registry::CannotRegisterImplementationException( - aExcMsg, Reference< XInterface >() ); - } -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/stdidlclass.cxx b/cppuhelper/source/stdidlclass.cxx deleted file mode 100644 index c915c7d5d..000000000 --- a/cppuhelper/source/stdidlclass.cxx +++ /dev/null @@ -1,263 +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_cppuhelper.hxx" - -#include <osl/mutex.hxx> - -#include <cppuhelper/weakref.hxx> -#include <cppuhelper/weak.hxx> -#include <cppuhelper/stdidlclass.hxx> - -#include <com/sun/star/reflection/XIdlClassProvider.hpp> -#include <com/sun/star/reflection/XIdlReflection.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> -#include <com/sun/star/uno/DeploymentException.hpp> -#include <com/sun/star/beans/XPropertySet.hpp> - -using namespace com::sun::star; -using namespace com::sun::star::uno; -using namespace com::sun::star::lang; -using namespace com::sun::star::reflection; - -using ::rtl::OUString; - -namespace cppu { - -/*--------------------------------------------------------- -* This helper class implements XIdlClass. Is used by -* createStdIdlClass() -*---------------------------------------------------------*/ -class OStdIdlClass : - public OWeakObject, - public XIdlClass, - public XIdlClassProvider -{ -public: - OStdIdlClass( - const Reference < XMultiServiceFactory > &rSMgr , - const OUString & sImplementationName , - const Reference < XIdlClass > & rSuperClass, - const Sequence < OUString > &seq - ) SAL_THROW( () ); - - // XInterface - Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) - throw(::com::sun::star::uno::RuntimeException); - - void SAL_CALL acquire() throw() { OWeakObject::acquire(); } - void SAL_CALL release() throw() { OWeakObject::release(); } - - // XIdlClassProvider - Sequence< Reference < XIdlClass > > SAL_CALL getIdlClasses(void) - throw (RuntimeException); - - // XIdlClass - virtual Sequence< Reference< XIdlClass > > SAL_CALL getClasses( ) throw(RuntimeException) - { return Sequence < Reference < XIdlClass > > (); } - virtual Reference< XIdlClass > SAL_CALL getClass( const ::rtl::OUString& ) throw(RuntimeException) - { return Reference < XIdlClass > (); } - virtual sal_Bool SAL_CALL equals( const Reference< XIdlClass >& Type ) throw(RuntimeException) - { return getName() == Type->getName(); } - virtual sal_Bool SAL_CALL isAssignableFrom( const Reference< XIdlClass >& xType ) throw(RuntimeException) - { return equals( xType ); } - virtual TypeClass SAL_CALL getTypeClass( ) throw(RuntimeException) - { return TypeClass_UNKNOWN; } - virtual OUString SAL_CALL getName( ) throw(RuntimeException) - { return m_sImplementationName; } - virtual Uik SAL_CALL getUik( ) throw(RuntimeException) - { return Uik(); } - virtual Sequence< Reference< XIdlClass > > SAL_CALL getSuperclasses( ) throw(RuntimeException) - { return m_seqSuperClasses; } - virtual Sequence< Reference< XIdlClass > > SAL_CALL getInterfaces( ) throw(RuntimeException); - - virtual Reference< XIdlClass > SAL_CALL getComponentType( ) throw(RuntimeException) - { return Reference < XIdlClass > (); } - virtual Reference< XIdlField > SAL_CALL getField( const ::rtl::OUString& ) throw(RuntimeException) - { return Reference < XIdlField > (); } - virtual Sequence< Reference< XIdlField > > SAL_CALL getFields( ) throw(RuntimeException) - { return Sequence< Reference < XIdlField > > (); } - virtual Reference< XIdlMethod > SAL_CALL getMethod( const ::rtl::OUString& ) throw(RuntimeException) - { return Reference < XIdlMethod > (); } - virtual Sequence< Reference< XIdlMethod > > SAL_CALL getMethods( ) throw(RuntimeException) - { return Sequence < Reference < XIdlMethod > > (); } - virtual Reference< XIdlArray > SAL_CALL getArray( ) throw(RuntimeException) - { return Reference < XIdlArray > (); } - virtual void SAL_CALL createObject( Any& ) throw(RuntimeException) {} - -private: - OUString m_sImplementationName; - Sequence < OUString > m_seqSupportedInterface; - Sequence < Reference < XIdlClass > > m_seqSuperClasses; - Reference < XMultiServiceFactory > m_rSMgr; - - Reference< XIdlReflection > m_xCorefl; - Reference< XIdlReflection > const & get_corefl() SAL_THROW( (RuntimeException) ); -}; - -Reference< XIdlReflection > const & OStdIdlClass::get_corefl() - SAL_THROW( (RuntimeException) ) -{ - if (! m_xCorefl.is()) - { - if( m_rSMgr.is() ) - { - Reference< beans::XPropertySet > xProps( m_rSMgr, UNO_QUERY ); - OSL_ASSERT( xProps.is() ); - if (xProps.is()) - { - Reference< XComponentContext > xContext; - xProps->getPropertyValue( - OUString( RTL_CONSTASCII_USTRINGPARAM("DefaultContext") ) ) >>= xContext; - OSL_ASSERT( xContext.is() ); - if (xContext.is()) - { - Reference < XIdlReflection > x; - xContext->getValueByName( - OUString( RTL_CONSTASCII_USTRINGPARAM("/singletons/com.sun.star.reflection.theCoreReflection") ) ) >>= x; - OSL_ENSURE( x.is(), "### CoreReflection singleton not accessible!?" ); - - if (x.is()) - { - ::osl::MutexGuard guard( ::osl::Mutex::getGlobalMutex() ); - if (! m_xCorefl.is()) - { - m_xCorefl = x; - } - } - } - } - } - if (! m_xCorefl.is()) - { - throw DeploymentException( - OUString( RTL_CONSTASCII_USTRINGPARAM("/singletons/com.sun.star.reflection.theCoreReflection singleton not accessible") ), - Reference< XInterface >() ); - } - } - return m_xCorefl; -} - -OStdIdlClass::OStdIdlClass( - const Reference < XMultiServiceFactory > &rSMgr , - const OUString & sImplementationName , - const Reference < XIdlClass > & rSuperClass, - const Sequence < OUString > &seq - ) SAL_THROW( () ) : - m_sImplementationName( sImplementationName ) , - m_seqSupportedInterface( seq ), - m_rSMgr( rSMgr ) -{ - if( rSuperClass.is() ) - m_seqSuperClasses = Sequence< Reference < XIdlClass > >( &rSuperClass, 1 ); - -} - -Any SAL_CALL OStdIdlClass::queryInterface( const Type & rType ) - throw(::com::sun::star::uno::RuntimeException) -{ - Any aRet( ::cppu::queryInterface( - rType, static_cast< XIdlClass * >( this ), static_cast< XIdlClassProvider * >( this ) ) ); - - return (aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType )); -} - - -Sequence< Reference< XIdlClass > > SAL_CALL OStdIdlClass::getInterfaces( ) throw(RuntimeException) -{ - int nMax = m_seqSupportedInterface.getLength(); - - Reference< XIdlReflection > const & rCoreRefl = get_corefl(); - if( rCoreRefl.is() ) - { - Sequence< Reference< XIdlClass > > seqClasses( nMax ); - - for( int n = 0 ; n < nMax ; n++ ) - { - seqClasses.getArray()[n] = rCoreRefl->forName( m_seqSupportedInterface.getArray()[n] ); - } - - return seqClasses; - } - return Sequence< Reference< XIdlClass > > () ; -} - - -// XIdlClassProvider -Sequence< Reference < XIdlClass > > SAL_CALL OStdIdlClass::getIdlClasses(void) - throw (RuntimeException) -{ - // weak reference to cache the standard class - static WeakReference< XIdlClass > weakRef; - - // try to make weakref hard - Reference < XIdlClass > r = weakRef; - - if( ! r.is() ) { - // xidlclass has not been initialized before or has been destroyed already. - r = ::cppu::createStandardClass( - m_rSMgr , - OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.cppuhelper.OStdIdlClass") ) , - Reference < XIdlClass > () , - SAL_STATIC_CAST( XIdlClassProvider * , this ) , - SAL_STATIC_CAST( XIdlClass * , this ) - ); - - // store reference for later use - weakRef = r; - } - - return Sequence < Reference < XIdlClass > > ( &r , 1 ); -} - - - - -// external constructor -XIdlClass * SAL_CALL createStandardClassWithSequence( - const Reference < XMultiServiceFactory > &rSMgr , - const OUString & sImplementationName , - const Reference < XIdlClass > & rSuperClass, - const Sequence < OUString > &seqInterfaceNames ) - SAL_THROW( () ) -{ - return SAL_STATIC_CAST( - XIdlClass * , - new OStdIdlClass( - rSMgr , - sImplementationName, - rSuperClass, - seqInterfaceNames - ) - ); -} - -} //end namespace cppu - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/tdmgr.cxx b/cppuhelper/source/tdmgr.cxx deleted file mode 100644 index b2a68c5d0..000000000 --- a/cppuhelper/source/tdmgr.cxx +++ /dev/null @@ -1,785 +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_cppuhelper.hxx" - -#include "sal/config.h" - -#include <vector> - -#include <sal/alloca.h> - -#include <osl/diagnose.h> -#include <rtl/alloc.h> -#include <rtl/ustring.hxx> - -#include <uno/mapping.hxx> - -#include <cppuhelper/bootstrap.hxx> -#include <cppuhelper/implbase1.hxx> -#include <typelib/typedescription.h> - -#include <com/sun/star/lang/XComponent.hpp> -#include <com/sun/star/container/XHierarchicalNameAccess.hpp> -#include <com/sun/star/reflection/XTypeDescription.hpp> -#include <com/sun/star/reflection/XEnumTypeDescription.hpp> -#include <com/sun/star/reflection/XIndirectTypeDescription.hpp> -#include <com/sun/star/reflection/XInterfaceMemberTypeDescription.hpp> -#include <com/sun/star/reflection/XInterfaceAttributeTypeDescription2.hpp> -#include <com/sun/star/reflection/XMethodParameter.hpp> -#include <com/sun/star/reflection/XInterfaceMethodTypeDescription.hpp> -#include <com/sun/star/reflection/XInterfaceTypeDescription2.hpp> -#include <com/sun/star/reflection/XCompoundTypeDescription.hpp> -#include <com/sun/star/reflection/XStructTypeDescription.hpp> -#include <com/sun/star/reflection/XUnionTypeDescription.hpp> -#include "com/sun/star/uno/RuntimeException.hpp" - -#include "boost/scoped_array.hpp" - -using namespace ::rtl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::reflection; - - -namespace cppu -{ - -static typelib_TypeDescription * createCTD( - Reference< container::XHierarchicalNameAccess > const & access, - const Reference< XTypeDescription > & xType ); - -//================================================================================================== -inline static sal_Int64 coerceToInt64( const Any & rVal ) -{ - switch (rVal.getValueTypeClass()) - { - case TypeClass_CHAR: - return *(sal_Unicode *)rVal.getValue(); - case TypeClass_BOOLEAN: - return (*(sal_Bool *)rVal.getValue() ? 1 : 0); - case TypeClass_BYTE: - return *(sal_Int8 *)rVal.getValue(); - case TypeClass_SHORT: - return *(sal_Int16 *)rVal.getValue(); - case TypeClass_UNSIGNED_SHORT: - return *(sal_uInt16 *)rVal.getValue(); - case TypeClass_LONG: - return *(sal_Int32 *)rVal.getValue(); - case TypeClass_UNSIGNED_LONG: - return *(sal_uInt32 *)rVal.getValue(); - case TypeClass_HYPER: - return *(sal_Int64 *)rVal.getValue(); - case TypeClass_UNSIGNED_HYPER: - return *(sal_uInt64 *)rVal.getValue(); - case TypeClass_ENUM: - return *(int *)rVal.getValue(); - default: - OSL_ASSERT(false); - return 0; - } -} -//================================================================================================== -inline static typelib_TypeDescription * createCTD( - const Reference< XUnionTypeDescription > & xType ) -{ - typelib_TypeDescription * pRet = 0; - if (xType.is()) - { - OUString aTypeName( xType->getName() ); - - // discriminant type - Reference< XTypeDescription > xDiscrTD( xType->getDiscriminantType() ); - OUString aDiscrTypeName( xDiscrTD->getName() ); - typelib_TypeDescriptionReference * pDiscrTypeRef = 0; - typelib_typedescriptionreference_new( &pDiscrTypeRef, - (typelib_TypeClass)xDiscrTD->getTypeClass(), - aDiscrTypeName.pData ); - // default member type - Reference< XTypeDescription > xDefaultMemberTD( xType->getDefaultMemberType() ); - OUString aDefMemberTypeName( xDefaultMemberTD->getName() ); - typelib_TypeDescriptionReference * pDefMemberTypeRef = 0; - typelib_typedescriptionreference_new( &pDefMemberTypeRef, - (typelib_TypeClass)xDefaultMemberTD->getTypeClass(), - aDefMemberTypeName.pData ); - // init array - Sequence< Any > aDiscriminants( xType->getDiscriminants() ); - Sequence< Reference< XTypeDescription > > aMemberTypes( xType->getMemberTypes() ); - Sequence< OUString > aMemberNames( xType->getMemberNames() ); - sal_Int32 nMembers = aDiscriminants.getLength(); - OSL_ASSERT( nMembers == aMemberNames.getLength() && nMembers == aMemberTypes.getLength() ); - - const Any * pDiscriminants = aDiscriminants.getConstArray(); - const Reference< XTypeDescription > * pMemberTypes = aMemberTypes.getConstArray(); - const OUString * pMemberNames = aMemberNames.getConstArray(); - - typelib_Union_Init * pMembers = (typelib_Union_Init *)alloca( nMembers * sizeof(typelib_Union_Init) ); - - sal_Int32 nPos; - for ( nPos = nMembers; nPos--; ) - { - typelib_Union_Init & rEntry = pMembers[nPos]; - // member discriminant - rEntry.nDiscriminant = coerceToInt64( pDiscriminants[nPos] ); - // member type - OUString aMemberTypeName( pMemberTypes[nPos]->getName() ); - rEntry.pTypeRef = 0; - typelib_typedescriptionreference_new( &rEntry.pTypeRef, - (typelib_TypeClass)pMemberTypes[nPos]->getTypeClass(), - aMemberTypeName.pData ); - // member name - rEntry.pMemberName = pMemberNames[nPos].pData; - } - - typelib_typedescription_newUnion( &pRet, aTypeName.pData, - pDiscrTypeRef, - coerceToInt64( xType->getDefaultDiscriminant() ), - pDefMemberTypeRef, - nMembers, pMembers ); - - for ( nPos = nMembers; nPos--; ) - { - typelib_typedescriptionreference_release( pMembers[nPos].pTypeRef ); - } - - typelib_typedescriptionreference_release( pDiscrTypeRef ); - typelib_typedescriptionreference_release( pDefMemberTypeRef ); - } - return pRet; -} -//================================================================================================== -inline static typelib_TypeDescription * createCTD( - const Reference< XCompoundTypeDescription > & xType ) -{ - typelib_TypeDescription * pRet = 0; - if (xType.is()) - { - typelib_TypeDescription * pBaseType = createCTD( - Reference< XCompoundTypeDescription >::query( xType->getBaseType() ) ); - if (pBaseType) - typelib_typedescription_register( &pBaseType ); - - // construct member init array - const Sequence<Reference< XTypeDescription > > & rMemberTypes = xType->getMemberTypes(); - const Sequence< OUString > & rMemberNames = xType->getMemberNames(); - - const Reference< XTypeDescription > * pMemberTypes = rMemberTypes.getConstArray(); - const OUString * pMemberNames = rMemberNames.getConstArray(); - - sal_Int32 nMembers = rMemberTypes.getLength(); - OSL_ENSURE( nMembers == rMemberNames.getLength(), "### lens differ!" ); - - OUString aTypeName( xType->getName() ); - - typelib_CompoundMember_Init * pMemberInits = (typelib_CompoundMember_Init *)alloca( - sizeof(typelib_CompoundMember_Init) * nMembers ); - - sal_Int32 nPos; - for ( nPos = nMembers; nPos--; ) - { - typelib_CompoundMember_Init & rInit = pMemberInits[nPos]; - rInit.eTypeClass = (typelib_TypeClass)pMemberTypes[nPos]->getTypeClass(); - - OUString aMemberTypeName( pMemberTypes[nPos]->getName() ); - rtl_uString_acquire( rInit.pTypeName = aMemberTypeName.pData ); - - // string is held by rMemberNames - rInit.pMemberName = pMemberNames[nPos].pData; - } - - typelib_typedescription_new( - &pRet, - (typelib_TypeClass)xType->getTypeClass(), - aTypeName.pData, - (pBaseType ? pBaseType->pWeakRef : 0), - nMembers, pMemberInits ); - - // cleanup - for ( nPos = nMembers; nPos--; ) - { - rtl_uString_release( pMemberInits[nPos].pTypeName ); - } - if (pBaseType) - typelib_typedescription_release( pBaseType ); - } - return pRet; -} -//================================================================================================== -inline static typelib_TypeDescription * createCTD( - Reference< container::XHierarchicalNameAccess > const & access, - const Reference< XStructTypeDescription > & xType ) -{ - typelib_TypeDescription * pRet = 0; - if (xType.is() && xType->getTypeParameters().getLength() == 0) - { - typelib_TypeDescription * pBaseType = createCTD( - access, xType->getBaseType() ); - if (pBaseType) - typelib_typedescription_register( &pBaseType ); - - // construct member init array - const Sequence<Reference< XTypeDescription > > & rMemberTypes = xType->getMemberTypes(); - const Sequence< OUString > & rMemberNames = xType->getMemberNames(); - - const Reference< XTypeDescription > * pMemberTypes = rMemberTypes.getConstArray(); - const OUString * pMemberNames = rMemberNames.getConstArray(); - - sal_Int32 nMembers = rMemberTypes.getLength(); - OSL_ENSURE( nMembers == rMemberNames.getLength(), "### lens differ!" ); - - OUString aTypeName( xType->getName() ); - - typelib_StructMember_Init * pMemberInits = (typelib_StructMember_Init *)alloca( - sizeof(typelib_StructMember_Init) * nMembers ); - - Sequence< Reference< XTypeDescription > > templateMemberTypes; - sal_Int32 i = aTypeName.indexOf('<'); - if (i >= 0) { - Reference< XStructTypeDescription > templateDesc( - access->getByHierarchicalName(aTypeName.copy(0, i)), - UNO_QUERY_THROW); - OSL_ASSERT( - templateDesc->getTypeParameters().getLength() - == xType->getTypeArguments().getLength()); - templateMemberTypes = templateDesc->getMemberTypes(); - OSL_ASSERT(templateMemberTypes.getLength() == nMembers); - } - - sal_Int32 nPos; - for ( nPos = nMembers; nPos--; ) - { - typelib_StructMember_Init & rInit = pMemberInits[nPos]; - rInit.aBase.eTypeClass - = (typelib_TypeClass)pMemberTypes[nPos]->getTypeClass(); - - OUString aMemberTypeName( pMemberTypes[nPos]->getName() ); - rtl_uString_acquire( - rInit.aBase.pTypeName = aMemberTypeName.pData ); - - // string is held by rMemberNames - rInit.aBase.pMemberName = pMemberNames[nPos].pData; - - rInit.bParameterizedType = templateMemberTypes.getLength() != 0 - && (templateMemberTypes[nPos]->getTypeClass() - == TypeClass_UNKNOWN); - } - - typelib_typedescription_newStruct( - &pRet, - aTypeName.pData, - (pBaseType ? pBaseType->pWeakRef : 0), - nMembers, pMemberInits ); - - // cleanup - for ( nPos = nMembers; nPos--; ) - { - rtl_uString_release( pMemberInits[nPos].aBase.pTypeName ); - } - if (pBaseType) - typelib_typedescription_release( pBaseType ); - } - return pRet; -} -//================================================================================================== -inline static typelib_TypeDescription * createCTD( - const Reference< XInterfaceAttributeTypeDescription2 > & xAttribute ) -{ - typelib_TypeDescription * pRet = 0; - if (xAttribute.is()) - { - OUString aMemberName( xAttribute->getName() ); - Reference< XTypeDescription > xType( xAttribute->getType() ); - OUString aMemberTypeName( xType->getName() ); - std::vector< rtl_uString * > getExc; - Sequence< Reference< XCompoundTypeDescription > > getExcs( - xAttribute->getGetExceptions() ); - for (sal_Int32 i = 0; i != getExcs.getLength(); ++i) - { - OSL_ASSERT( getExcs[i].is() ); - getExc.push_back( getExcs[i]->getName().pData ); - } - std::vector< rtl_uString * > setExc; - Sequence< Reference< XCompoundTypeDescription > > setExcs( - xAttribute->getSetExceptions() ); - for (sal_Int32 i = 0; i != setExcs.getLength(); ++i) - { - OSL_ASSERT( setExcs[i].is() ); - setExc.push_back( setExcs[i]->getName().pData ); - } - typelib_typedescription_newExtendedInterfaceAttribute( - (typelib_InterfaceAttributeTypeDescription **)&pRet, - xAttribute->getPosition(), - aMemberName.pData, // name - (typelib_TypeClass)xType->getTypeClass(), - aMemberTypeName.pData, // type name - xAttribute->isReadOnly(), - getExc.size(), getExc.empty() ? 0 : &getExc[0], - setExc.size(), setExc.empty() ? 0 : &setExc[0] ); - } - return pRet; -} -//================================================================================================== -static typelib_TypeDescription * createCTD( - const Reference< XInterfaceMethodTypeDescription > & xMethod ) -{ - typelib_TypeDescription * pRet = 0; - if (xMethod.is()) - { - Reference< XTypeDescription > xReturnType( xMethod->getReturnType() ); - - // init all params - const Sequence<Reference< XMethodParameter > > & rParams = xMethod->getParameters(); - const Reference< XMethodParameter > * pParams = rParams.getConstArray(); - sal_Int32 nParams = rParams.getLength(); - - typelib_Parameter_Init * pParamInit = (typelib_Parameter_Init *)alloca( - sizeof(typelib_Parameter_Init) * nParams ); - - sal_Int32 nPos; - for ( nPos = nParams; nPos--; ) - { - const Reference< XMethodParameter > & xParam = pParams[nPos]; - const Reference< XTypeDescription > & xType = xParam->getType(); - typelib_Parameter_Init & rInit = pParamInit[xParam->getPosition()]; - - rInit.eTypeClass = (typelib_TypeClass)xType->getTypeClass(); - OUString aParamTypeName( xType->getName() ); - rtl_uString_acquire( rInit.pTypeName = aParamTypeName.pData ); - OUString aParamName( xParam->getName() ); - rtl_uString_acquire( rInit.pParamName = aParamName.pData ); - rInit.bIn = xParam->isIn(); - rInit.bOut = xParam->isOut(); - } - - // init all exception strings - const Sequence<Reference< XTypeDescription > > & rExceptions = xMethod->getExceptions(); - const Reference< XTypeDescription > * pExceptions = rExceptions.getConstArray(); - sal_Int32 nExceptions = rExceptions.getLength(); - rtl_uString ** ppExceptionNames = (rtl_uString **)alloca( - sizeof(rtl_uString *) * nExceptions ); - - for ( nPos = nExceptions; nPos--; ) - { - OUString aExceptionTypeName( pExceptions[nPos]->getName() ); - rtl_uString_acquire( ppExceptionNames[nPos] = aExceptionTypeName.pData ); - } - - OUString aTypeName( xMethod->getName() ); - OUString aReturnTypeName( xReturnType->getName() ); - - typelib_typedescription_newInterfaceMethod( - (typelib_InterfaceMethodTypeDescription **)&pRet, - xMethod->getPosition(), - xMethod->isOneway(), - aTypeName.pData, - (typelib_TypeClass)xReturnType->getTypeClass(), - aReturnTypeName.pData, - nParams, pParamInit, - nExceptions, ppExceptionNames ); - - for ( nPos = nParams; nPos--; ) - { - rtl_uString_release( pParamInit[nPos].pTypeName ); - rtl_uString_release( pParamInit[nPos].pParamName ); - } - for ( nPos = nExceptions; nPos--; ) - { - rtl_uString_release( ppExceptionNames[nPos] ); - } - } - return pRet; -} -//================================================================================================== -inline static typelib_TypeDescription * createCTD( - Reference< container::XHierarchicalNameAccess > const & access, - const Reference< XInterfaceTypeDescription2 > & xType ) -{ - typelib_TypeDescription * pRet = 0; - if (xType.is()) - { - Sequence< Reference< XTypeDescription > > aBases(xType->getBaseTypes()); - sal_Int32 nBases = aBases.getLength(); - // Exploit the fact that a typelib_TypeDescription for an interface type - // is also the typelib_TypeDescriptionReference for that type: - boost::scoped_array< typelib_TypeDescription * > aBaseTypes( - new typelib_TypeDescription *[nBases]); - {for (sal_Int32 i = 0; i < nBases; ++i) { - typelib_TypeDescription * p = createCTD(access, aBases[i]); - OSL_ASSERT( - !TYPELIB_TYPEDESCRIPTIONREFERENCE_ISREALLYWEAK(p->eTypeClass)); - typelib_typedescription_register(&p); - aBaseTypes[i] = p; - }} - typelib_TypeDescriptionReference ** pBaseTypeRefs - = reinterpret_cast< typelib_TypeDescriptionReference ** >( - aBaseTypes.get()); - - // construct all member refs - const Sequence<Reference< XInterfaceMemberTypeDescription > > & rMembers = xType->getMembers(); - sal_Int32 nMembers = rMembers.getLength(); - - typelib_TypeDescriptionReference ** ppMemberRefs = (typelib_TypeDescriptionReference **)alloca( - sizeof(typelib_TypeDescriptionReference *) * nMembers ); - - const Reference< XInterfaceMemberTypeDescription > * pMembers = rMembers.getConstArray(); - - OUString aTypeName( xType->getName() ); - - sal_Int32 nPos; - for ( nPos = nMembers; nPos--; ) - { - OUString aMemberTypeName( pMembers[nPos]->getName() ); - ppMemberRefs[nPos] = 0; - typelib_typedescriptionreference_new( - ppMemberRefs + nPos, - (typelib_TypeClass)pMembers[nPos]->getTypeClass(), - aMemberTypeName.pData ); - } - - Uik uik = xType->getUik(); - - typelib_typedescription_newMIInterface( - (typelib_InterfaceTypeDescription **)&pRet, - aTypeName.pData, - uik.m_Data1, uik.m_Data2, uik.m_Data3, uik.m_Data4, uik.m_Data5, - nBases, pBaseTypeRefs, - nMembers, ppMemberRefs ); - - // cleanup refs and base type - {for (int i = 0; i < nBases; ++i) { - typelib_typedescription_release(aBaseTypes[i]); - }} - - for ( nPos = nMembers; nPos--; ) - { - typelib_typedescriptionreference_release( ppMemberRefs[nPos] ); - } - } - return pRet; -} -//================================================================================================== -inline static typelib_TypeDescription * createCTD( const Reference< XEnumTypeDescription > & xType ) -{ - typelib_TypeDescription * pRet = 0; - if (xType.is()) - { - OUString aTypeName( xType->getName() ); - Sequence< OUString > aNames( xType->getEnumNames() ); - OSL_ASSERT( sizeof(OUString) == sizeof(rtl_uString *) ); // !!! - Sequence< sal_Int32 > aValues( xType->getEnumValues() ); - - typelib_typedescription_newEnum( - &pRet, aTypeName.pData, xType->getDefaultEnumValue(), - aNames.getLength(), - (rtl_uString **)aNames.getConstArray(), - const_cast< sal_Int32 * >( aValues.getConstArray() ) ); - } - return pRet; -} -//================================================================================================== -inline static typelib_TypeDescription * createCTD( - Reference< container::XHierarchicalNameAccess > const & access, - const Reference< XIndirectTypeDescription > & xType ) -{ - typelib_TypeDescription * pRet = 0; - if (xType.is()) - { - typelib_TypeDescription * pRefType = createCTD( - access, xType->getReferencedType() ); - typelib_typedescription_register( &pRefType ); - - OUString aTypeName( xType->getName() ); - - typelib_typedescription_new( - &pRet, - (typelib_TypeClass)xType->getTypeClass(), - aTypeName.pData, - pRefType->pWeakRef, - 0, 0 ); - - // cleanup - typelib_typedescription_release( pRefType ); - } - return pRet; -} - -//================================================================================================== -static typelib_TypeDescription * createCTD( - Reference< container::XHierarchicalNameAccess > const & access, - const Reference< XTypeDescription > & xType ) -{ - typelib_TypeDescription * pRet = 0; - - if (xType.is()) - { - switch (xType->getTypeClass()) - { - // built in types - case TypeClass_VOID: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("void") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_VOID, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_CHAR: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("char") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_CHAR, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_BOOLEAN: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("boolean") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_BOOLEAN, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_BYTE: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("byte") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_BYTE, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_SHORT: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("short") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_SHORT, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_UNSIGNED_SHORT: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("unsigned short") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_UNSIGNED_SHORT, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_LONG: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("long") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_LONG, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_UNSIGNED_LONG: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("unsigned long") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_UNSIGNED_LONG, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_HYPER: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("hyper") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_HYPER, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_UNSIGNED_HYPER: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("unsigned hyper") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_UNSIGNED_HYPER, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_FLOAT: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("float") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_FLOAT, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_DOUBLE: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("double") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_DOUBLE, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_STRING: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("string") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_STRING, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_TYPE: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("type") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_TYPE, aTypeName.pData, 0, 0, 0 ); - break; - } - case TypeClass_ANY: - { - OUString aTypeName( RTL_CONSTASCII_USTRINGPARAM("any") ); - typelib_typedescription_new( &pRet, typelib_TypeClass_ANY, aTypeName.pData, 0, 0, 0 ); - break; - } - - case TypeClass_UNION: - pRet = createCTD( Reference< XUnionTypeDescription >::query( xType ) ); - break; - case TypeClass_EXCEPTION: - pRet = createCTD( Reference< XCompoundTypeDescription >::query( xType ) ); - break; - case TypeClass_STRUCT: - pRet = createCTD( - access, Reference< XStructTypeDescription >::query( xType ) ); - break; - case TypeClass_ENUM: - pRet = createCTD( Reference< XEnumTypeDescription >::query( xType ) ); - break; - case TypeClass_TYPEDEF: - { - Reference< XIndirectTypeDescription > xTypedef( xType, UNO_QUERY ); - if (xTypedef.is()) - pRet = createCTD( access, xTypedef->getReferencedType() ); - break; - } - case TypeClass_SEQUENCE: - pRet = createCTD( - access, Reference< XIndirectTypeDescription >::query( xType ) ); - break; - case TypeClass_INTERFACE: - pRet = createCTD( - access, - Reference< XInterfaceTypeDescription2 >::query( xType ) ); - break; - case TypeClass_INTERFACE_METHOD: - pRet = createCTD( Reference< XInterfaceMethodTypeDescription >::query( xType ) ); - break; - case TypeClass_INTERFACE_ATTRIBUTE: - pRet = createCTD( Reference< XInterfaceAttributeTypeDescription2 >::query( xType ) ); - break; - default: - break; - } - } - - return pRet; -} - - -//================================================================================================== -extern "C" -{ -static void SAL_CALL typelib_callback( - void * pContext, typelib_TypeDescription ** ppRet, rtl_uString * pTypeName ) -{ - OSL_ENSURE( pContext && ppRet && pTypeName, "### null ptr!" ); - if (ppRet) - { - if (*ppRet) - { - ::typelib_typedescription_release( *ppRet ); - *ppRet = 0; - } - if (pContext && pTypeName) - { - Reference< container::XHierarchicalNameAccess > access( - reinterpret_cast< container::XHierarchicalNameAccess * >( - pContext)); - try - { - OUString const & rTypeName = OUString::unacquired( &pTypeName ); - Reference< XTypeDescription > xTD; - if (access->getByHierarchicalName(rTypeName ) >>= xTD) - { - *ppRet = createCTD( access, xTD ); - } - } - catch (container::NoSuchElementException & exc) - { - (void) exc; // avoid warning about unused variable - OSL_TRACE( - "typelibrary type not available: %s", - OUStringToOString( - exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); - } - catch (Exception & exc) - { - (void) exc; // avoid warning about unused variable - OSL_TRACE( - "%s", - OUStringToOString( - exc.Message, RTL_TEXTENCODING_UTF8 ).getStr() ); - } - } - } -} -} - -//================================================================================================== -class EventListenerImpl - : public WeakImplHelper1< lang::XEventListener > -{ - Reference< container::XHierarchicalNameAccess > m_xTDMgr; - -public: - inline EventListenerImpl( - Reference< container::XHierarchicalNameAccess > const & xTDMgr ) - SAL_THROW( () ) - : m_xTDMgr( xTDMgr ) - {} - - // XEventListener - virtual void SAL_CALL disposing( lang::EventObject const & rEvt ) - throw (RuntimeException); -}; -//__________________________________________________________________________________________________ -void EventListenerImpl::disposing( lang::EventObject const & rEvt ) - throw (RuntimeException) -{ - if (rEvt.Source != m_xTDMgr) { - OSL_ASSERT(false); - } - // deregister of c typelib callback - ::typelib_typedescription_revokeCallback( m_xTDMgr.get(), typelib_callback ); -} - -//================================================================================================== -sal_Bool SAL_CALL installTypeDescriptionManager( - Reference< container::XHierarchicalNameAccess > const & xTDMgr_c ) - SAL_THROW( () ) -{ - uno::Environment curr_env(Environment::getCurrent()); - uno::Environment target_env(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(CPPU_STRINGIFY(CPPU_ENV)))); - - uno::Mapping curr2target(curr_env, target_env); - - - Reference<container::XHierarchicalNameAccess> xTDMgr( - reinterpret_cast<container::XHierarchicalNameAccess *>( - curr2target.mapInterface(xTDMgr_c.get(), ::getCppuType(&xTDMgr_c))), - SAL_NO_ACQUIRE); - - Reference< lang::XComponent > xComp( xTDMgr, UNO_QUERY ); - if (xComp.is()) - { - xComp->addEventListener( new EventListenerImpl( xTDMgr ) ); - // register c typelib callback - ::typelib_typedescription_registerCallback( xTDMgr.get(), typelib_callback ); - return sal_True; - } - return sal_False; -} - -} // end namespace cppu - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/typeprovider.cxx b/cppuhelper/source/typeprovider.cxx deleted file mode 100644 index 9707d7310..000000000 --- a/cppuhelper/source/typeprovider.cxx +++ /dev/null @@ -1,328 +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_cppuhelper.hxx" - -#include <cppuhelper/typeprovider.hxx> -#include <osl/mutex.hxx> - -using namespace osl; -using namespace com::sun::star::uno; - -namespace cppu -{ - -//__________________________________________________________________________________________________ -OImplementationId::~OImplementationId() SAL_THROW( () ) -{ - delete _pSeq; -} -//__________________________________________________________________________________________________ -Sequence< sal_Int8 > OImplementationId::getImplementationId() const SAL_THROW( () ) -{ - if (! _pSeq) - { - MutexGuard aGuard( Mutex::getGlobalMutex() ); - if (! _pSeq) - { - Sequence< sal_Int8 > * pSeq = new Sequence< sal_Int8 >( 16 ); - ::rtl_createUuid( (sal_uInt8 *)pSeq->getArray(), 0, _bUseEthernetAddress ); - _pSeq = pSeq; - } - } - return *_pSeq; -} - -//-------------------------------------------------------------------------------------------------- -static inline void copy( Sequence< Type > & rDest, const Sequence< Type > & rSource, sal_Int32 nOffset ) - SAL_THROW( () ) -{ - Type * pDest = rDest.getArray(); - const Type * pSource = rSource.getConstArray(); - - for ( sal_Int32 nPos = rSource.getLength(); nPos--; ) - pDest[nOffset+ nPos] = pSource[nPos]; -} - -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 1 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - copy( _aTypes, rAddTypes, 1 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 2 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - copy( _aTypes, rAddTypes, 2 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 3 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - copy( _aTypes, rAddTypes, 3 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Type & rType4, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 4 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - _aTypes[3] = rType4; - copy( _aTypes, rAddTypes, 4 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Type & rType4, - const Type & rType5, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 5 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - _aTypes[3] = rType4; - _aTypes[4] = rType5; - copy( _aTypes, rAddTypes, 5 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Type & rType4, - const Type & rType5, - const Type & rType6, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 6 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - _aTypes[3] = rType4; - _aTypes[4] = rType5; - _aTypes[5] = rType6; - copy( _aTypes, rAddTypes, 6 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Type & rType4, - const Type & rType5, - const Type & rType6, - const Type & rType7, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 7 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - _aTypes[3] = rType4; - _aTypes[4] = rType5; - _aTypes[5] = rType6; - _aTypes[6] = rType7; - copy( _aTypes, rAddTypes, 7 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Type & rType4, - const Type & rType5, - const Type & rType6, - const Type & rType7, - const Type & rType8, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 8 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - _aTypes[3] = rType4; - _aTypes[4] = rType5; - _aTypes[5] = rType6; - _aTypes[6] = rType7; - _aTypes[7] = rType8; - copy( _aTypes, rAddTypes, 8 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Type & rType4, - const Type & rType5, - const Type & rType6, - const Type & rType7, - const Type & rType8, - const Type & rType9, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 9 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - _aTypes[3] = rType4; - _aTypes[4] = rType5; - _aTypes[5] = rType6; - _aTypes[6] = rType7; - _aTypes[7] = rType8; - _aTypes[8] = rType9; - copy( _aTypes, rAddTypes, 9 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Type & rType4, - const Type & rType5, - const Type & rType6, - const Type & rType7, - const Type & rType8, - const Type & rType9, - const Type & rType10, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 10 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - _aTypes[3] = rType4; - _aTypes[4] = rType5; - _aTypes[5] = rType6; - _aTypes[6] = rType7; - _aTypes[7] = rType8; - _aTypes[8] = rType9; - _aTypes[9] = rType10; - copy( _aTypes, rAddTypes, 10 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Type & rType4, - const Type & rType5, - const Type & rType6, - const Type & rType7, - const Type & rType8, - const Type & rType9, - const Type & rType10, - const Type & rType11, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 11 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - _aTypes[3] = rType4; - _aTypes[4] = rType5; - _aTypes[5] = rType6; - _aTypes[6] = rType7; - _aTypes[7] = rType8; - _aTypes[8] = rType9; - _aTypes[9] = rType10; - _aTypes[10] = rType11; - copy( _aTypes, rAddTypes, 11 ); -} -//__________________________________________________________________________________________________ -OTypeCollection::OTypeCollection( - const Type & rType1, - const Type & rType2, - const Type & rType3, - const Type & rType4, - const Type & rType5, - const Type & rType6, - const Type & rType7, - const Type & rType8, - const Type & rType9, - const Type & rType10, - const Type & rType11, - const Type & rType12, - const Sequence< Type > & rAddTypes ) - SAL_THROW( () ) - : _aTypes( 12 + rAddTypes.getLength() ) -{ - _aTypes[0] = rType1; - _aTypes[1] = rType2; - _aTypes[2] = rType3; - _aTypes[3] = rType4; - _aTypes[4] = rType5; - _aTypes[5] = rType6; - _aTypes[6] = rType7; - _aTypes[7] = rType8; - _aTypes[8] = rType9; - _aTypes[9] = rType10; - _aTypes[10] = rType11; - _aTypes[11] = rType12; - copy( _aTypes, rAddTypes, 12 ); -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/unorc b/cppuhelper/source/unorc deleted file mode 100644 index c5af031bd..000000000 --- a/cppuhelper/source/unorc +++ /dev/null @@ -1,30 +0,0 @@ -=************************************************************************* -= -= 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. -= -= -=************************************************************************* - -[Bootstrap] -URE_INTERNAL_LIB_DIR=${ORIGIN} diff --git a/cppuhelper/source/unourl.cxx b/cppuhelper/source/unourl.cxx deleted file mode 100644 index 724ea00ad..000000000 --- a/cppuhelper/source/unourl.cxx +++ /dev/null @@ -1,301 +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_cppuhelper.hxx" - -#include "cppuhelper/unourl.hxx" - -#include "osl/diagnose.h" -#include "rtl/malformeduriexception.hxx" -#include "rtl/string.h" -#include "rtl/textenc.h" -#include "rtl/uri.h" -#include "rtl/uri.hxx" -#include "rtl/ustring.h" -#include "rtl/ustring.hxx" -#include "sal/types.h" - -#include <map> - -using cppu::UnoUrl; -using cppu::UnoUrlDescriptor; - -namespace { - -inline bool isAlphanum(sal_Unicode c) -{ - return (c >= 0x30 && c <= 0x39) // '0'--'9' - || (c >= 0x41 && c <= 0x5A) // 'A'--'Z' - || (c >= 0x61 && c <= 0x7A); // 'a'--'z' -} - -} - -class UnoUrlDescriptor::Impl -{ -public: - typedef std::map< rtl::OUString, rtl::OUString > Parameters; - - rtl::OUString m_aDescriptor; - rtl::OUString m_aName; - Parameters m_aParameters; - - /** @exception rtl::MalformedUriException - */ - explicit inline Impl(rtl::OUString const & m_aDescriptor); - - inline Impl * clone() const { return new Impl(*this); } -}; - -inline UnoUrlDescriptor::Impl::Impl(rtl::OUString const & rDescriptor) -{ - m_aDescriptor = rDescriptor; - enum State { STATE_NAME0, STATE_NAME, STATE_KEY0, STATE_KEY, STATE_VALUE }; - State eState = STATE_NAME0; - sal_Int32 nStart = 0; - rtl::OUString aKey; - for (sal_Int32 i = 0;; ++i) - { - bool bEnd = i == rDescriptor.getLength(); - sal_Unicode c = bEnd ? 0 : rDescriptor.getStr()[i]; - switch (eState) - { - case STATE_NAME0: - if (bEnd || !isAlphanum(c)) - throw rtl::MalformedUriException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "UNO URL contains bad descriptor name"))); - nStart = i; - eState = STATE_NAME; - break; - - case STATE_NAME: - if (bEnd || c == 0x2C) // ',' - { - m_aName - = rDescriptor.copy(nStart, i - nStart).toAsciiLowerCase(); - eState = STATE_KEY0; - } - else if (!isAlphanum(c)) - throw rtl::MalformedUriException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "UNO URL contains bad descriptor name"))); - break; - - case STATE_KEY0: - if (bEnd || !isAlphanum(c)) - throw rtl::MalformedUriException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "UNO URL contains bad parameter key"))); - nStart = i; - eState = STATE_KEY; - break; - - case STATE_KEY: - if (c == 0x3D) // '=' - { - aKey = rDescriptor.copy(nStart, i - nStart).toAsciiLowerCase(); - nStart = i + 1; - eState = STATE_VALUE; - } - else if (bEnd || !isAlphanum(c)) - throw rtl::MalformedUriException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "UNO URL contains bad parameter key"))); - break; - - case STATE_VALUE: - if (bEnd || c == 0x2C) // ',' - { - if (!m_aParameters.insert( - Parameters::value_type( - aKey, - rtl::Uri::decode(rDescriptor.copy(nStart, - i - nStart), - rtl_UriDecodeWithCharset, - RTL_TEXTENCODING_UTF8))).second) - throw rtl::MalformedUriException( - rtl::OUString( - RTL_CONSTASCII_USTRINGPARAM( - "UNO URL contains duplicated parameter"))); - eState = STATE_KEY0; - } - break; - } - if (bEnd) - break; - } -} - -UnoUrlDescriptor::UnoUrlDescriptor(rtl::OUString const & rDescriptor): - m_xImpl(new Impl(rDescriptor)) -{} - -UnoUrlDescriptor::UnoUrlDescriptor(std::auto_ptr< Impl > & rImpl): - m_xImpl(rImpl) -{} - -UnoUrlDescriptor::UnoUrlDescriptor(UnoUrlDescriptor const & rOther): - m_xImpl(rOther.m_xImpl->clone()) -{} - -UnoUrlDescriptor::~UnoUrlDescriptor() -{} - -UnoUrlDescriptor & UnoUrlDescriptor::operator =(UnoUrlDescriptor const & rOther) -{ - m_xImpl.reset(rOther.m_xImpl->clone()); - return *this; -} - -rtl::OUString const & UnoUrlDescriptor::getDescriptor() const -{ - return m_xImpl->m_aDescriptor; -} - -rtl::OUString const & UnoUrlDescriptor::getName() const -{ - return m_xImpl->m_aName; -} - -bool UnoUrlDescriptor::hasParameter(rtl::OUString const & rKey) const -{ - return m_xImpl->m_aParameters.find(rKey.toAsciiLowerCase()) - != m_xImpl->m_aParameters.end(); -} - -rtl::OUString UnoUrlDescriptor::getParameter(rtl::OUString const & rKey) const -{ - Impl::Parameters::const_iterator - aIt(m_xImpl->m_aParameters.find(rKey.toAsciiLowerCase())); - return aIt == m_xImpl->m_aParameters.end() ? rtl::OUString() : aIt->second; -} - -class UnoUrl::Impl -{ -public: - UnoUrlDescriptor m_aConnection; - UnoUrlDescriptor m_aProtocol; - rtl::OUString m_aObjectName; - - inline Impl * clone() const { return new Impl(*this); } - - /** @exception rtl::MalformedUriException - */ - static inline Impl * create(rtl::OUString const & rUrl); - -private: - inline Impl(std::auto_ptr< UnoUrlDescriptor::Impl > & rConnection, - std::auto_ptr< UnoUrlDescriptor::Impl > & rProtocol, - rtl::OUString const & rObjectName); -}; - -inline UnoUrl::Impl::Impl(std::auto_ptr< UnoUrlDescriptor::Impl > & rConnection, - std::auto_ptr< UnoUrlDescriptor::Impl > & rProtocol, - rtl::OUString const & rObjectName): - m_aConnection(rConnection), - m_aProtocol(rProtocol), - m_aObjectName(rObjectName) -{} - -inline UnoUrl::Impl * UnoUrl::Impl::create(rtl::OUString const & rUrl) -{ - if (!rUrl.matchIgnoreAsciiCaseAsciiL(RTL_CONSTASCII_STRINGPARAM("uno:"), 0)) - throw rtl::MalformedUriException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "UNO URL does not start with \"uno:\""))); - sal_Int32 i = RTL_CONSTASCII_LENGTH("uno:"); - sal_Int32 j = rUrl.indexOf(';', i); - if (j < 0) - throw rtl::MalformedUriException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "UNO URL has too few semicolons"))); - std::auto_ptr< UnoUrlDescriptor::Impl > - xConnection(new UnoUrlDescriptor::Impl(rUrl.copy(i, j - i))); - i = j + 1; - j = rUrl.indexOf(0x3B, i); // ';' - if (j < 0) - throw rtl::MalformedUriException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "UNO URL has too few semicolons"))); - std::auto_ptr< UnoUrlDescriptor::Impl > - xProtocol(new UnoUrlDescriptor::Impl(rUrl.copy(i, j - i))); - i = j + 1; - if (i == rUrl.getLength()) - throw rtl::MalformedUriException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "UNO URL contains empty ObjectName"))); - for (j = i; j < rUrl.getLength(); ++j) - { - sal_Unicode c = rUrl.getStr()[j]; - if (!isAlphanum(c) && c != 0x21 && c != 0x24 // '!', '$' - && c != 0x26 && c != 0x27 && c != 0x28 // '&', ''', '(' - && c != 0x28 && c != 0x2A && c != 0x2B // ')', '*', '+' - && c != 0x2C && c != 0x2D && c != 0x2E // ',', '-', '.' - && c != 0x2F && c != 0x3A && c != 0x3D // '/', ':', '=' - && c != 0x3F && c != 0x40 && c != 0x5F // '?', '@', '_' - && c != 0x7E) // '~' - throw rtl::MalformedUriException( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM( - "UNO URL contains invalid ObjectName"))); - } - return new Impl(xConnection, xProtocol, rUrl.copy(i)); -} - -UnoUrl::UnoUrl(rtl::OUString const & rUrl): m_xImpl(Impl::create(rUrl)) -{} - -UnoUrl::UnoUrl(UnoUrl const & rOther): m_xImpl(rOther.m_xImpl->clone()) -{} - -UnoUrl::~UnoUrl() -{} - -UnoUrl & UnoUrl::operator =(UnoUrl const & rOther) -{ - m_xImpl.reset(rOther.m_xImpl->clone()); - return *this; -} - -UnoUrlDescriptor const & UnoUrl::getConnection() const -{ - return m_xImpl->m_aConnection; -} - -UnoUrlDescriptor const & UnoUrl::getProtocol() const -{ - return m_xImpl->m_aProtocol; -} - -rtl::OUString const & UnoUrl::getObjectName() const -{ - return m_xImpl->m_aObjectName; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/source/weak.cxx b/cppuhelper/source/weak.cxx deleted file mode 100644 index 175e9b612..000000000 --- a/cppuhelper/source/weak.cxx +++ /dev/null @@ -1,541 +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_cppuhelper.hxx" -#include <osl/mutex.hxx> -#include <cppuhelper/weakagg.hxx> -#include <cppuhelper/interfacecontainer.hxx> -#include "cppuhelper/exc_hlp.hxx" - -using namespace osl; -using namespace com::sun::star::uno; - -/** */ //for docpp -namespace cppu -{ - -// due to static Reflection destruction from usr, ther must be a mutex leak (#73272#) -inline static Mutex & getWeakMutex() SAL_THROW( () ) -{ - static Mutex * s_pMutex = 0; - if (! s_pMutex) - s_pMutex = new Mutex(); - return *s_pMutex; -} - -//------------------------------------------------------------------------ -//-- OWeakConnectionPoint ---------------------------------------------------- -//------------------------------------------------------------------------ -class OWeakConnectionPoint : public XAdapter -{ -public: - /** - Hold the weak object without an acquire (only the pointer). - */ - OWeakConnectionPoint( OWeakObject* pObj ) SAL_THROW( () ) - : m_aRefCount( 0 ) - , m_pObject(pObj) - , m_aReferences( getWeakMutex() ) - {} - - // XInterface - Any SAL_CALL queryInterface( const Type & rType ) throw(::com::sun::star::uno::RuntimeException); - void SAL_CALL acquire() throw(); - void SAL_CALL release() throw(); - - // XAdapter - ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL queryAdapted() throw(::com::sun::star::uno::RuntimeException); - void SAL_CALL addReference( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XReference >& xRef ) throw(::com::sun::star::uno::RuntimeException); - void SAL_CALL removeReference( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XReference >& xRef ) throw(::com::sun::star::uno::RuntimeException); - - /// Called from the weak object if the reference count goes to zero. - void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException); - -private: - OWeakConnectionPoint(OWeakConnectionPoint &); // not defined - void operator =(OWeakConnectionPoint &); // not defined - - virtual ~OWeakConnectionPoint() {} - - /// The reference counter. - oslInterlockedCount m_aRefCount; - /// The weak object - OWeakObject* m_pObject; - /// The container to hold the weak references - OInterfaceContainerHelper m_aReferences; -}; - -// XInterface -Any SAL_CALL OWeakConnectionPoint::queryInterface( const Type & rType ) - throw(com::sun::star::uno::RuntimeException) -{ - return ::cppu::queryInterface( - rType, static_cast< XAdapter * >( this ), static_cast< XInterface * >( this ) ); -} - -// XInterface -void SAL_CALL OWeakConnectionPoint::acquire() throw() -{ - osl_incrementInterlockedCount( &m_aRefCount ); -} - -// XInterface -void SAL_CALL OWeakConnectionPoint::release() throw() -{ - if (! osl_decrementInterlockedCount( &m_aRefCount )) - delete this; -} - -void SAL_CALL OWeakConnectionPoint::dispose() throw(::com::sun::star::uno::RuntimeException) -{ - Any ex; - OInterfaceIteratorHelper aIt( m_aReferences ); - while( aIt.hasMoreElements() ) - { - try - { - ((XReference *)aIt.next())->dispose(); - } - catch (com::sun::star::lang::DisposedException &) {} - catch (RuntimeException &) - { - ex = cppu::getCaughtException(); - } - } - if (ex.hasValue()) - { - cppu::throwException(ex); - } -} - -// XInterface -Reference< XInterface > SAL_CALL OWeakConnectionPoint::queryAdapted() throw(::com::sun::star::uno::RuntimeException) -{ - Reference< XInterface > ret; - - ClearableMutexGuard guard(getWeakMutex()); - - if (m_pObject) - { - oslInterlockedCount n = osl_incrementInterlockedCount( &m_pObject->m_refCount ); - - if (n > 1) - { - // The refence is incremented. The object cannot be destroyed. - // Release the guard at the earliest point. - guard.clear(); - // WeakObject has a (XInterface *) cast operator - ret = *m_pObject; - n = osl_decrementInterlockedCount( &m_pObject->m_refCount ); - } - else - // Another thread wait in the dispose method at the guard - n = osl_decrementInterlockedCount( &m_pObject->m_refCount ); - } - - return ret; -} - -// XInterface -void SAL_CALL OWeakConnectionPoint::addReference(const Reference< XReference >& rRef) - throw(::com::sun::star::uno::RuntimeException) -{ - m_aReferences.addInterface( (const Reference< XInterface > &)rRef ); -} - -// XInterface -void SAL_CALL OWeakConnectionPoint::removeReference(const Reference< XReference >& rRef) - throw(::com::sun::star::uno::RuntimeException) -{ - m_aReferences.removeInterface( (const Reference< XInterface > &)rRef ); -} - - -//------------------------------------------------------------------------ -//-- OWeakObject ------------------------------------------------------- -//------------------------------------------------------------------------ - -#ifdef _MSC_VER -// Accidentally occurs in msvc mapfile = > had to be outlined. -OWeakObject::OWeakObject() SAL_THROW( () ) - : m_refCount( 0 ), - m_pWeakConnectionPoint( 0 ) -{ -} -#endif - -// XInterface -Any SAL_CALL OWeakObject::queryInterface( const Type & rType ) throw(::com::sun::star::uno::RuntimeException) -{ - return ::cppu::queryInterface( - rType, - static_cast< XWeak * >( this ), static_cast< XInterface * >( this ) ); -} - -// XInterface -void SAL_CALL OWeakObject::acquire() throw() -{ - osl_incrementInterlockedCount( &m_refCount ); -} - -// XInterface -void SAL_CALL OWeakObject::release() throw() -{ - if (osl_decrementInterlockedCount( &m_refCount ) == 0) { - // notify/clear all weak-refs before object's dtor is executed - // (which may check weak-refs to this object): - disposeWeakConnectionPoint(); - // destroy object: - delete this; - } -} - -void OWeakObject::disposeWeakConnectionPoint() -{ - OSL_PRECOND( m_refCount == 0, "OWeakObject::disposeWeakConnectionPoint: only to be called with a ref count of 0!" ); - if (m_pWeakConnectionPoint != 0) { - OWeakConnectionPoint * const p = m_pWeakConnectionPoint; - m_pWeakConnectionPoint = 0; - try { - p->dispose(); - } - catch (RuntimeException const& exc) { - OSL_FAIL( - OUStringToOString( - exc.Message, RTL_TEXTENCODING_ASCII_US ).getStr() ); - static_cast<void>(exc); - } - p->release(); - } -} - -OWeakObject::~OWeakObject() SAL_THROW( (RuntimeException) ) -{ -} - -// XWeak -Reference< XAdapter > SAL_CALL OWeakObject::queryAdapter() - throw (::com::sun::star::uno::RuntimeException) -{ - if (!m_pWeakConnectionPoint) - { - // only acquire mutex if member is not created - MutexGuard aGuard( getWeakMutex() ); - if( !m_pWeakConnectionPoint ) - { - OWeakConnectionPoint * p = new OWeakConnectionPoint(this); - p->acquire(); - m_pWeakConnectionPoint = p; - } - } - - return m_pWeakConnectionPoint; -} - -//------------------------------------------------------------------------ -//-- OWeakAggObject ---------------------------------------------------- -//------------------------------------------------------------------------ -OWeakAggObject::~OWeakAggObject() SAL_THROW( (RuntimeException) ) -{ -} - -// XInterface -void OWeakAggObject::acquire() throw() -{ - Reference<XInterface > x( xDelegator ); - if (x.is()) - x->acquire(); - else - OWeakObject::acquire(); -} - -// XInterface -void OWeakAggObject::release() throw() -{ - Reference<XInterface > x( xDelegator ); - if (x.is()) - x->release(); - else - OWeakObject::release(); -} - -// XInterface -Any OWeakAggObject::queryInterface( const Type & rType ) throw(::com::sun::star::uno::RuntimeException) -{ - Reference< XInterface > x( xDelegator ); // harden ref - return (x.is() ? x->queryInterface( rType ) : queryAggregation( rType )); -} - -// XAggregation -Any OWeakAggObject::queryAggregation( const Type & rType ) throw(::com::sun::star::uno::RuntimeException) -{ - return ::cppu::queryInterface( - rType, - static_cast< XInterface * >( static_cast< OWeakObject * >( this ) ), - static_cast< XAggregation * >( this ), - static_cast< XWeak * >( this ) ); -} - -// XAggregation -void OWeakAggObject::setDelegator( const Reference<XInterface > & rDelegator ) throw(::com::sun::star::uno::RuntimeException) -{ - xDelegator = rDelegator; -} - -} - -/** */ //for docpp -namespace com -{ -/** */ //for docpp -namespace sun -{ -/** */ //for docpp -namespace star -{ -/** */ //for docpp -namespace uno -{ - - -//------------------------------------------------------------------------ -//-- OWeakRefListener ----------------------------------------------------- -//------------------------------------------------------------------------ -class OWeakRefListener : public XReference -{ -public: - OWeakRefListener(const OWeakRefListener& rRef) SAL_THROW( () ); - OWeakRefListener(const Reference< XInterface >& xInt) SAL_THROW( () ); - virtual ~OWeakRefListener() SAL_THROW( () ); - - // XInterface - Any SAL_CALL queryInterface( const Type & rType ) throw(RuntimeException); - void SAL_CALL acquire() throw(); - void SAL_CALL release() throw(); - - // XReference - void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException); - - /// The reference counter. - oslInterlockedCount m_aRefCount; - /// The connection point of the weak object - Reference< XAdapter > m_XWeakConnectionPoint; - -private: - OWeakRefListener& SAL_CALL operator=(const OWeakRefListener& rRef) SAL_THROW( () ); -}; - -OWeakRefListener::OWeakRefListener(const OWeakRefListener& rRef) SAL_THROW( () ) - : com::sun::star::uno::XReference() - , m_aRefCount( 1 ) -{ - try - { - m_XWeakConnectionPoint = rRef.m_XWeakConnectionPoint; - - if (m_XWeakConnectionPoint.is()) - { - m_XWeakConnectionPoint->addReference((XReference*)this); - } - } - catch (RuntimeException &) { OSL_ASSERT( 0 ); } // assert here, but no unexpected() - osl_decrementInterlockedCount( &m_aRefCount ); -} - -OWeakRefListener::OWeakRefListener(const Reference< XInterface >& xInt) SAL_THROW( () ) - : m_aRefCount( 1 ) -{ - try - { - Reference< XWeak > xWeak( Reference< XWeak >::query( xInt ) ); - - if (xWeak.is()) - { - m_XWeakConnectionPoint = xWeak->queryAdapter(); - - if (m_XWeakConnectionPoint.is()) - { - m_XWeakConnectionPoint->addReference((XReference*)this); - } - } - } - catch (RuntimeException &) { OSL_ASSERT( 0 ); } // assert here, but no unexpected() - osl_decrementInterlockedCount( &m_aRefCount ); -} - -OWeakRefListener::~OWeakRefListener() SAL_THROW( () ) -{ - try - { - if (m_XWeakConnectionPoint.is()) - { - acquire(); // dont die again - m_XWeakConnectionPoint->removeReference((XReference*)this); - } - } - catch (RuntimeException &) { OSL_ASSERT( 0 ); } // assert here, but no unexpected() -} - -// XInterface -Any SAL_CALL OWeakRefListener::queryInterface( const Type & rType ) throw(RuntimeException) -{ - return ::cppu::queryInterface( - rType, static_cast< XReference * >( this ), static_cast< XInterface * >( this ) ); -} - -// XInterface -void SAL_CALL OWeakRefListener::acquire() throw() -{ - osl_incrementInterlockedCount( &m_aRefCount ); -} - -// XInterface -void SAL_CALL OWeakRefListener::release() throw() -{ - if( ! osl_decrementInterlockedCount( &m_aRefCount ) ) - delete this; -} - -void SAL_CALL OWeakRefListener::dispose() - throw(::com::sun::star::uno::RuntimeException) -{ - Reference< XAdapter > xAdp; - { - MutexGuard guard(cppu::getWeakMutex()); - if( m_XWeakConnectionPoint.is() ) - { - xAdp = m_XWeakConnectionPoint; - m_XWeakConnectionPoint.clear(); - } - } - - if( xAdp.is() ) - xAdp->removeReference((XReference*)this); -} - -//------------------------------------------------------------------------ -//-- WeakReferenceHelper ---------------------------------------------------------- -//------------------------------------------------------------------------ -WeakReferenceHelper::WeakReferenceHelper(const Reference< XInterface >& xInt) SAL_THROW( () ) - : m_pImpl( 0 ) -{ - if (xInt.is()) - { - m_pImpl = new OWeakRefListener(xInt); - m_pImpl->acquire(); - } -} - -WeakReferenceHelper::WeakReferenceHelper(const WeakReferenceHelper& rWeakRef) SAL_THROW( () ) - : m_pImpl( 0 ) -{ - Reference< XInterface > xInt( rWeakRef.get() ); - if (xInt.is()) - { - m_pImpl = new OWeakRefListener(xInt); - m_pImpl->acquire(); - } -} - -void WeakReferenceHelper::clear() SAL_THROW( () ) -{ - try - { - if (m_pImpl) - { - if (m_pImpl->m_XWeakConnectionPoint.is()) - { - m_pImpl->m_XWeakConnectionPoint->removeReference( - (XReference*)m_pImpl); - m_pImpl->m_XWeakConnectionPoint.clear(); - } - m_pImpl->release(); - m_pImpl = 0; - } - } - catch (RuntimeException &) { OSL_ASSERT( 0 ); } // assert here, but no unexpected() -} - -WeakReferenceHelper& WeakReferenceHelper::operator=(const WeakReferenceHelper& rWeakRef) SAL_THROW( () ) -{ - if (this == &rWeakRef) - { - return *this; - } - Reference< XInterface > xInt( rWeakRef.get() ); - return operator = ( xInt ); -} - -WeakReferenceHelper & SAL_CALL -WeakReferenceHelper::operator= (const Reference< XInterface > & xInt) -SAL_THROW( () ) -{ - try - { - clear(); - if (xInt.is()) - { - m_pImpl = new OWeakRefListener(xInt); - m_pImpl->acquire(); - } - } - catch (RuntimeException &) { OSL_ASSERT( 0 ); } // assert here, but no unexpected() - return *this; -} - -WeakReferenceHelper::~WeakReferenceHelper() SAL_THROW( () ) -{ - clear(); -} - -Reference< XInterface > WeakReferenceHelper::get() const SAL_THROW( () ) -{ - try - { - Reference< XAdapter > xAdp; - { - MutexGuard guard(cppu::getWeakMutex()); - if( m_pImpl && m_pImpl->m_XWeakConnectionPoint.is() ) - xAdp = m_pImpl->m_XWeakConnectionPoint; - } - - if (xAdp.is()) - return xAdp->queryAdapted(); - } - catch (RuntimeException &) { OSL_ASSERT( 0 ); } // assert here, but no unexpected() - - return Reference< XInterface >(); -} - -} -} -} -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/bootstrap/TestEnv.cxx b/cppuhelper/test/bootstrap/TestEnv.cxx deleted file mode 100644 index 90e4bb65b..000000000 --- a/cppuhelper/test/bootstrap/TestEnv.cxx +++ /dev/null @@ -1,130 +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_cppuhelper.hxx" - -#include "cppu/EnvDcp.hxx" - -#include "cppu/helper/purpenv/Environment.hxx" -#include "cppu/helper/purpenv/Mapping.hxx" - - - -#define LOG_LIFECYCLE_TestEnv -#ifdef LOG_LIFECYCLE_TestEnv -# include <iostream> -# define LOG_LIFECYCLE_TestEnv_emit(x) x - -#else -# define LOG_LIFECYCLE_TestEnv_emit(x) - -#endif - - -class SAL_DLLPRIVATE TestEnv : public cppu::Enterable -{ - int m_inCount; - - virtual ~TestEnv(); - -public: - explicit TestEnv(); - -protected: - virtual void v_enter(void); - virtual void v_leave(void); - - virtual void v_callInto_v(uno_EnvCallee * pCallee, va_list * pParam); - virtual void v_callOut_v (uno_EnvCallee * pCallee, va_list * pParam); - - virtual int v_isValid (rtl::OUString * pReason); -}; - -TestEnv::TestEnv() - : m_inCount(0) -{ - LOG_LIFECYCLE_TestEnv_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestEnv::TestEnv(...)", this)); -} - -TestEnv::~TestEnv(void) -{ - LOG_LIFECYCLE_TestEnv_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestEnv::~TestEnv(void)", this)); -} - - -void TestEnv::v_callInto_v(uno_EnvCallee * pCallee, va_list * pParam) -{ - ++ m_inCount; - pCallee(pParam); - -- m_inCount; -} - -void TestEnv::v_callOut_v(uno_EnvCallee * pCallee, va_list * pParam) -{ - -- m_inCount; - pCallee(pParam); - ++ m_inCount; -} - -void TestEnv::v_enter(void) -{ - ++ m_inCount; -} - -void TestEnv::v_leave(void) -{ - -- m_inCount; -} - -int TestEnv::v_isValid(rtl::OUString * pReason) -{ - int result = m_inCount & 1; - - if (result) - *pReason = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("OK")); - - else - *pReason = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("not entered/invoked")); - - return result; -} - -extern "C" void SAL_CALL uno_initEnvironment(uno_Environment * pEnv) SAL_THROW_EXTERN_C() -{ - cppu::helper::purpenv::Environment_initWithEnterable(pEnv, new TestEnv()); -} - -extern "C" void uno_ext_getMapping(uno_Mapping ** ppMapping, - uno_Environment * pFrom, - uno_Environment * pTo ) -{ - cppu::helper::purpenv::createMapping(ppMapping, pFrom, pTo); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/bootstrap/TestEnv.def b/cppuhelper/test/bootstrap/TestEnv.def deleted file mode 100644 index 1444d92c1..000000000 --- a/cppuhelper/test/bootstrap/TestEnv.def +++ /dev/null @@ -1,8 +0,0 @@ -HEAPSIZE 0 -EXPORTS - uno_initEnvironment - uno_ext_getMapping - - - - diff --git a/cppuhelper/test/bootstrap/bootstrap.test.cxx b/cppuhelper/test/bootstrap/bootstrap.test.cxx deleted file mode 100644 index 5aa09b704..000000000 --- a/cppuhelper/test/bootstrap/bootstrap.test.cxx +++ /dev/null @@ -1,323 +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. - * - ************************************************************************/ - - -#include "sal/main.h" -#include "osl/file.hxx" - -#include "typelib/typedescription.hxx" - -#include "cppuhelper/bootstrap.hxx" -#include "cppuhelper/shlib.hxx" - -#include <com/sun/star/lang/XComponent.hpp> - -#include "uno/environment.hxx" -#include "cppu/EnvDcp.hxx" -#include "cppu/EnvGuards.hxx" - -#include <iostream> - - -#ifndef SAL_DLLPREFIX -# define SAL_DLLPREFIX "" -#endif - - -using namespace com::sun::star; - - -static rtl::OUString s_comment; - -static bool s_check_object_is_in(void * pObject) -{ - uno::Environment currentEnv(uno::Environment::getCurrent()); - - rtl_uString * pOId = NULL; - currentEnv.get()->pExtEnv->getObjectIdentifier(currentEnv.get()->pExtEnv, &pOId, pObject); - - - uno::TypeDescription typeDescription(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.uno.XInterface"))); - - void * pRegisteredObject = NULL; - currentEnv.get()->pExtEnv->getRegisteredInterface(currentEnv.get()->pExtEnv, - &pRegisteredObject, - pOId, - (typelib_InterfaceTypeDescription *)typeDescription.get()); - - - if (pOId) rtl_uString_release(pOId); - - bool result = pRegisteredObject != NULL; - - if (result) - currentEnv.get()->pExtEnv->releaseInterface(currentEnv.get()->pExtEnv, pRegisteredObject); - - return result; -} - -static void s_test__loadSharedLibComponentFactory(rtl::OUString const & clientPurpose, - rtl::OUString const & servicePurpose) -{ - cppu::EnvGuard envGuard(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO)) - + clientPurpose, NULL)); - if (clientPurpose.getLength() && !envGuard.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't get purpose env: \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - - return; - } - - rtl::OString os_clientPurpose(rtl::OUStringToOString(clientPurpose, RTL_TEXTENCODING_ASCII_US)); - - uno::Reference<uno::XInterface> xItf( - cppu::loadSharedLibComponentFactory( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SAL_DLLPREFIX "TestComponent.uno" SAL_DLLEXTENSION)), -#ifdef WIN32 - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("")), -#else - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("file://../lib/")), -#endif - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("impl.test.TestComponent")) + servicePurpose, - uno::Reference<lang::XMultiServiceFactory>(), - uno::Reference<registry::XRegistryKey>() - ) - ); - - if (!xItf.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tgot no object - FAILURE\n")); - return; - } - - if (!clientPurpose.equals(servicePurpose) && !s_check_object_is_in(xItf.get())) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't find object in current purpose \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - } - - if (!cppu::EnvDcp::getPurpose(uno::Environment::getCurrent().getTypeName()).equals(clientPurpose)) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tdid not enter client purpose \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - } -} - -static void s_test__loadSharedLibComponentFactory__free_free() -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__loadSharedLibComponentFactory__free_free\n")); - - s_test__loadSharedLibComponentFactory(rtl::OUString(), rtl::OUString()); -} - -static void s_test__loadSharedLibComponentFactory__free_purpose() -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__loadSharedLibComponentFactory__free_purpose\n")); - - s_test__loadSharedLibComponentFactory(rtl::OUString(), - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv"))); -} - -static void s_test__loadSharedLibComponentFactory__purpose_free() -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__loadSharedLibComponentFactory__purpose_free\n")); - - s_test__loadSharedLibComponentFactory(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv")), - rtl::OUString()); -} - -static void s_test__loadSharedLibComponentFactory__purpose_purpose() -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__loadSharedLibComponentFactory__purpose_purpose\n")); - - s_test__loadSharedLibComponentFactory(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv")), - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv"))); -} - -static rtl::OUString s_getSDrive(void) -{ - rtl::OUString path;//(RTL_CONSTASCII_USTRINGPARAM("file://")); - - char const * tmp = getenv("SOLARVER"); - path += rtl::OUString(tmp, rtl_str_getLength(tmp), RTL_TEXTENCODING_ASCII_US); - path += rtl::OUString(SAL_PATHDELIMITER); - - tmp = getenv("INPATH"); - path += rtl::OUString(tmp, rtl_str_getLength(tmp), RTL_TEXTENCODING_ASCII_US); - path += rtl::OUString(SAL_PATHDELIMITER); -#ifdef WIN32 - path += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("bin")); - -#else - path += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("lib")); -#endif - - tmp = getenv("UPDMINOREXT"); - if (tmp) - path += rtl::OUString(tmp, rtl_str_getLength(tmp), RTL_TEXTENCODING_ASCII_US); - - osl::FileBase::getFileURLFromSystemPath(path, path); - - return path; -} - -static void s_test__createSimpleRegistry(rtl::OUString const & clientPurpose) -{ - cppu::EnvGuard envGuard(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO)) - + clientPurpose, NULL)); - if (clientPurpose.getLength() && !envGuard.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't get purpose env: \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - - return; - } - - uno::Reference<registry::XSimpleRegistry> registry(cppu::createSimpleRegistry( - s_getSDrive())); - - if (!registry.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tgot no object - FAILURE\n")); - return; - } - - if (clientPurpose.getLength() != 0 && !s_check_object_is_in(registry.get())) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't find object in current purpose \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - } -} - -static void s_test__createSimpleRegistry__free(void) -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__createSimpleRegistry__free\n")); - - s_test__createSimpleRegistry(rtl::OUString()); -} - -static void s_test__createSimpleRegistry__purpose(void) -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__createSimpleRegistry__purpose\n")); - - s_test__createSimpleRegistry(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv"))); -} - - -static void s_test__bootstrap_InitialComponentContext(rtl::OUString const & clientPurpose) -{ - cppu::EnvGuard envGuard(uno::Environment(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(UNO_LB_UNO)) - + clientPurpose, NULL)); - if (clientPurpose.getLength() && !envGuard.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't get purpose env: \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - - return; - } - - uno::Reference<uno::XComponentContext> xContext( - cppu::bootstrap_InitialComponentContext( - uno::Reference<registry::XSimpleRegistry>(), - s_getSDrive()) - ); - - if (!xContext.is()) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tgot no object - FAILURE\n")); - return; - } - - if (clientPurpose.getLength() != 0 && !s_check_object_is_in(xContext.get())) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\t\tcouldn't find object in current purpose \"")); - s_comment += clientPurpose; - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\" - FAILURE\n")); - } - - uno::Reference<lang::XComponent> xComponent(xContext, uno::UNO_QUERY_THROW); - xComponent->dispose(); -} - -static void s_test__bootstrap_InitialComponentContext__free(void) -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__bootstrap_InitialComponentContext__free\n")); - - s_test__bootstrap_InitialComponentContext(rtl::OUString()); -} - -static void s_test__bootstrap_InitialComponentContext__purpose(void) -{ - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__bootstrap_InitialComponentContext__purpose\n")); - - s_test__bootstrap_InitialComponentContext(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(":testenv"))); -} - - -SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv) -{ - s_test__createSimpleRegistry__free(); - s_test__createSimpleRegistry__purpose(); - - s_test__loadSharedLibComponentFactory__free_free(); - s_test__loadSharedLibComponentFactory__free_purpose(); - s_test__loadSharedLibComponentFactory__purpose_free(); - s_test__loadSharedLibComponentFactory__purpose_purpose(); - - s_test__bootstrap_InitialComponentContext__free(); - s_test__bootstrap_InitialComponentContext__purpose(); - - int ret; - if (s_comment.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILURE"))) == -1) - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n")); - ret = 0; - } - else - { - s_comment += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n")); - ret = -1; - } - - std::cerr - << argv[0] - << std::endl - << rtl::OUStringToOString(s_comment, RTL_TEXTENCODING_ASCII_US).getStr() - << std::endl; - - return ret; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/bootstrap/makefile.mk b/cppuhelper/test/bootstrap/makefile.mk deleted file mode 100644 index 59db7c00e..000000000 --- a/cppuhelper/test/bootstrap/makefile.mk +++ /dev/null @@ -1,61 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -PRJ := ..$/.. -PRJNAME := cppuhelper -TARGET := bootstrap.test - - -ENABLE_EXCEPTIONS := TRUE -NO_BSYMBOLIC := TRUE -USE_DEFFILE := TRUE - - -.INCLUDE : settings.mk - - -.IF "$(GUI)"=="UNX" || "$(GUI)"=="MAC" -PURPENVHELPERLIB := -luno_purpenvhelper$(COMID) - -.ELSE -PURPENVHELPERLIB := $(LIBPRE) ipurpenvhelper$(UDK_MAJOR)$(COMID).lib - -.ENDIF - - -APP1TARGET := $(TARGET) -APP1OBJS := $(OBJ)$/bootstrap.test.obj -APP1STDLIBS := $(CPPUHELPERLIB) $(CPPULIB) $(SALLIB) - -SHL1TARGET := testenv_uno_uno -SHL1IMPLIB := i$(SHL1TARGET) -SHL1OBJS := $(SLO)$/TestEnv.obj -SHL1STDLIBS := $(PURPENVHELPERLIB) $(SALHELPERLIB) $(SALLIB) -SHL1DEF := TestEnv.def - - -.INCLUDE : target.mk diff --git a/cppuhelper/test/cfg_data/instance/uno/components.xml b/cppuhelper/test/cfg_data/instance/uno/components.xml deleted file mode 100644 index 83305fca1..000000000 --- a/cppuhelper/test/cfg_data/instance/uno/components.xml +++ /dev/null @@ -1,76 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<components cfg:package="uno" - xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" - xmlns:cfg="http://openoffice.org/2000/registry/instance" - xmlns="http://openoffice.org/2000/uno/Components"> - - -<services cfg:type="set" cfg:element-type="service"> - - <service cfg:name="com.sun.star.script.Converter"> - <available-implementations cfg:type="string" cfg:derivedBy="list"> - com.sun.star.comp.stoc.TypeConverter - </available-implementations> - </service> - - <service cfg:name="com.sun.star.bootstrap.TestComponent0"> - <available-implementations cfg:type="string" cfg:derivedBy="list"> - com.sun.star.comp.bootstrap.TestComponent0 - </available-implementations> - <context-properties cfg:type="set" cfg:element-type="cfg:any"> - <cfg:any cfg:name="serviceprop0" cfg:type="int">13</cfg:any> - <cfg:any cfg:name="serviceprop1" cfg:type="string">value of serviceprop1</cfg:any> - </context-properties> - </service> - -</services> - - -<implementations cfg:type="set" cfg:element-type="implementation"> - - <implementation cfg:name="com.sun.star.comp.stoc.TypeConverter"> - <activator cfg:type="string">com.sun.star.loader.SharedLibrary</activator> - <url cfg:type="string">tcv.dll</url> - <supported-services cfg:type="string" cfg:derivedBy="list">com.sun.star.script.Converter</supported-services> - </implementation> - - <implementation cfg:name="com.sun.star.comp.bootstrap.TestComponent0"> - <activator cfg:type="string">com.sun.star.loader.SharedLibrary</activator> - <url cfg:type="string">cfg_test.dll</url> - <supported-services cfg:type="string" cfg:derivedBy="list">com.sun.star.bootstrap.TestComponent0</supported-services> - <context-properties cfg:type="set" cfg:element-type="cfg:any"> - <cfg:any cfg:name="implprop0" cfg:type="int">15</cfg:any> - <cfg:any cfg:name="implprop1" cfg:type="string">value of implprop1</cfg:any> - </context-properties> - </implementation> - -</implementations> - - -<singletons cfg:type="set" cfg:element-type="singleton"> - - <singleton cfg:name="com.sun.star.script.theConverter"> - <used-service cfg:type="string">com.sun.star.script.Converter</used-service> - </singleton> - - <singleton cfg:name="com.sun.star.bootstrap.theTestComponent0"> - <used-service cfg:type="string">com.sun.star.bootstrap.TestComponent0</used-service> - <initial-arguments cfg:type="set" cfg:element-type="cfg:any"> - <cfg:any cfg:name="0" cfg:type="string">first argument</cfg:any> - <cfg:any cfg:name="1" cfg:type="string">second argument</cfg:any> - <cfg:any cfg:name="2" cfg:type="string">third argument</cfg:any> - </initial-arguments> - </singleton> - -</singletons> - - -<global-context-properties cfg:type="set" cfg:element-type="cfg:any"> - - <cfg:any cfg:name="TestValue" cfg:type="int">5</cfg:any> - -</global-context-properties> - - -</components> diff --git a/cppuhelper/test/cfg_data/template/uno/components.xml b/cppuhelper/test/cfg_data/template/uno/components.xml deleted file mode 100644 index 5ab04d030..000000000 --- a/cppuhelper/test/cfg_data/template/uno/components.xml +++ /dev/null @@ -1,24 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> - -<components cfg:package="uno" - xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance" - xmlns:cfg="http://openoffice.org/2000/registry/instance"> - -<service> - <available-implementations cfg:type="string" cfg:derivedBy="list"/> - <context-properties cfg:type="set" cfg:element-type="cfg:any"/> -</service> - -<implementation> - <activator cfg:type="string"/> - <url cfg:type="string"/> - <supported-services cfg:type="string" cfg:derivedBy="list"/> - <context-properties cfg:type="set" cfg:element-type="cfg:any"/> -</implementation> - -<singleton> - <used-service cfg:type="string"/> - <initial-arguments cfg:type="set" cfg:element-type="cfg:any"/> -</singleton> - -</components> diff --git a/cppuhelper/test/cfg_test.cxx b/cppuhelper/test/cfg_test.cxx deleted file mode 100644 index 735f7eefe..000000000 --- a/cppuhelper/test/cfg_test.cxx +++ /dev/null @@ -1,300 +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_cppuhelper.hxx" - -// starting the executable: -// -env:UNO_CFG_URL=local;<absolute_path>..\\..\\test\\cfg_data;<absolute_path>\\cfg_update -// -env:UNO_TYPES=cpputest.rdb - -#include <sal/main.h> - -#include <stdio.h> - -#include <rtl/strbuf.hxx> - -#include <cppuhelper/implementationentry.hxx> -#include <cppuhelper/bootstrap.hxx> -#include <cppuhelper/implbase2.hxx> - -#include <com/sun/star/lang/XMultiComponentFactory.hpp> -#include <com/sun/star/lang/XInitialization.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> -#include <com/sun/star/lang/XComponent.hpp> - -#include <com/sun/star/registry/XImplementationRegistration.hpp> - -#define OUSTR(x) ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM(x) ) - - -using namespace ::cppu; -using namespace ::rtl; -using namespace ::osl; -using namespace ::com::sun::star; -using namespace ::com::sun::star::uno; - -namespace cfg_test -{ - -//-------------------------------------------------------------------------------------------------- -static Sequence< OUString > impl0_getSupportedServiceNames() -{ - OUString str( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.bootstrap.TestComponent0") ); - return Sequence< OUString >( &str, 1 ); -} -//-------------------------------------------------------------------------------------------------- -static OUString impl0_getImplementationName() -{ - return OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.bootstrap.TestComponent0") ); -} -//-------------------------------------------------------------------------------------------------- -static Sequence< OUString > impl1_getSupportedServiceNames() -{ - OUString str( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.bootstrap.TestComponent1") ); - return Sequence< OUString >( &str, 1 ); -} -//-------------------------------------------------------------------------------------------------- -static OUString impl1_getImplementationName() -{ - return OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.bootstrap.TestComponent1") ); -} - -//================================================================================================== -class ServiceImpl0 - : public WeakImplHelper2< lang::XServiceInfo, lang::XInitialization > -{ - Reference< XComponentContext > m_xContext; - -public: - ServiceImpl0( Reference< XComponentContext > const & xContext ) SAL_THROW( () ); - - // XInitialization - virtual void SAL_CALL initialize( const Sequence< Any >& rArgs ) throw (Exception, RuntimeException); - - // XServiceInfo - virtual Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (RuntimeException); - virtual OUString SAL_CALL getImplementationName() throw (RuntimeException); - virtual sal_Bool SAL_CALL supportsService( const OUString & rServiceName ) throw (RuntimeException); -}; -//__________________________________________________________________________________________________ -ServiceImpl0::ServiceImpl0( Reference< XComponentContext > const & xContext ) SAL_THROW( () ) - : m_xContext( xContext ) -{ - sal_Int32 n; - OUString val; - - // service properties - OSL_VERIFY( m_xContext->getValueByName( - OUSTR("/services/com.sun.star.bootstrap.TestComponent0/context-properties/serviceprop0") ) >>= n ); - OSL_VERIFY( n == 13 ); - OSL_VERIFY( m_xContext->getValueByName( - OUSTR("/services/com.sun.star.bootstrap.TestComponent0/context-properties/serviceprop1") ) >>= val ); - OSL_VERIFY( val.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("value of serviceprop1") ) ); - // impl properties - OSL_VERIFY( m_xContext->getValueByName( - OUSTR("/implementations/com.sun.star.comp.bootstrap.TestComponent0/context-properties/implprop0") ) >>= n ); - OSL_VERIFY( n == 15 ); - OSL_VERIFY( m_xContext->getValueByName( - OUSTR("/implementations/com.sun.star.comp.bootstrap.TestComponent0/context-properties/implprop1") ) >>= val ); - OSL_VERIFY( val.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("value of implprop1") ) ); -} -// XInitialization -//__________________________________________________________________________________________________ -void ServiceImpl0::initialize( const Sequence< Any >& rArgs ) - throw (Exception, RuntimeException) -{ - // check args - OUString val; - OSL_VERIFY( rArgs.getLength() == 3 ); - OSL_VERIFY( rArgs[ 0 ] >>= val ); - OSL_VERIFY( val.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("first argument") ) ); - OSL_VERIFY( rArgs[ 1 ] >>= val ); - OSL_VERIFY( val.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("second argument") ) ); - OSL_VERIFY( rArgs[ 2 ] >>= val ); - OSL_VERIFY( val.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("third argument") ) ); -} -// XServiceInfo -//__________________________________________________________________________________________________ -OUString ServiceImpl0::getImplementationName() - throw(::com::sun::star::uno::RuntimeException) -{ - return impl0_getImplementationName(); -} -//__________________________________________________________________________________________________ -Sequence< OUString > ServiceImpl0::getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException) -{ - return impl0_getSupportedServiceNames(); -} -//__________________________________________________________________________________________________ -sal_Bool ServiceImpl0::supportsService( const OUString & rServiceName ) - throw(::com::sun::star::uno::RuntimeException) -{ - const Sequence< OUString > & rSNL = getSupportedServiceNames(); - const OUString * pArray = rSNL.getConstArray(); - for ( sal_Int32 nPos = rSNL.getLength(); nPos--; ) - { - if (pArray[nPos] == rServiceName) - return sal_True; - } - return sal_False; -} - -//================================================================================================== -class ServiceImpl1 : public ServiceImpl0 -{ -public: - inline ServiceImpl1( Reference< XComponentContext > const & xContext ) SAL_THROW( () ) - : ServiceImpl0( xContext ) - {} - - // XServiceInfo - virtual Sequence< OUString > SAL_CALL getSupportedServiceNames() throw (RuntimeException); - virtual OUString SAL_CALL getImplementationName() throw (RuntimeException); -}; -//__________________________________________________________________________________________________ -OUString ServiceImpl1::getImplementationName() - throw(::com::sun::star::uno::RuntimeException) -{ - return impl1_getImplementationName(); -} -//__________________________________________________________________________________________________ -Sequence< OUString > ServiceImpl1::getSupportedServiceNames() - throw(::com::sun::star::uno::RuntimeException) -{ - return impl1_getSupportedServiceNames(); -} - -//================================================================================================== -static Reference< XInterface > SAL_CALL ServiceImpl0_create( - Reference< XComponentContext > const & xContext ) - SAL_THROW( (Exception) ) -{ - return (OWeakObject *)new ServiceImpl0( xContext ); -} -//================================================================================================== -static Reference< XInterface > SAL_CALL ServiceImpl1_create( - Reference< XComponentContext > const & xContext ) - SAL_THROW( (Exception) ) -{ - return (OWeakObject *)new ServiceImpl1( xContext ); -} - -} // namespace cfg_test - -static struct ImplementationEntry g_entries[] = -{ - { - ::cfg_test::ServiceImpl0_create, ::cfg_test::impl0_getImplementationName, - ::cfg_test::impl0_getSupportedServiceNames, createSingleComponentFactory, - 0, 0 - }, - { - ::cfg_test::ServiceImpl1_create, ::cfg_test::impl1_getImplementationName, - ::cfg_test::impl1_getSupportedServiceNames, createSingleComponentFactory, - 0, 0 - }, - { 0, 0, 0, 0, 0, 0 } -}; - -// component exports -extern "C" -{ -//================================================================================================== -sal_Bool SAL_CALL component_writeInfo( - void * pServiceManager, void * pRegistryKey ) -{ - return component_writeInfoHelper( - pServiceManager, pRegistryKey, g_entries ); -} -//================================================================================================== -SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( - const sal_Char * pImplName, void * pServiceManager, void * pRegistryKey ) -{ - return component_getFactoryHelper( - pImplName, pServiceManager, pRegistryKey , g_entries ); -} -} - - -//################################################################################################## -//################################################################################################## -//################################################################################################## - -SAL_IMPLEMENT_MAIN() -{ - try - { - Reference< XComponentContext > xContext( defaultBootstrap_InitialComponentContext() ); - Reference< lang::XMultiComponentFactory > xMgr( xContext->getServiceManager() ); - - // show what is in context - xContext->getValueByName( OUSTR("dump_maps") ); - - sal_Int32 n(0); - OSL_VERIFY( xContext->getValueByName( OUSTR("/global-context-properties/TestValue") ) >>= n ); - ::fprintf( stderr, "> n=%d\n", n ); - - Reference< XInterface > x; - OSL_VERIFY( !(xContext->getValueByName( OUSTR("/singletons/my_converter") ) >>= x) ); - OSL_VERIFY( xContext->getValueByName( OUSTR("/singletons/com.sun.star.script.theConverter") ) >>= x ); - OSL_VERIFY( xContext->getValueByName( OUSTR("/singletons/com.sun.star.bootstrap.theTestComponent0") ) >>= x ); - - ::fprintf( stderr, "> registering service...\n"); -#if defined(SAL_W32) - OUString libName( OUSTR("cfg_test.dll") ); -#elif defined(SAL_UNX) - OUString libName( OUSTR("libcfg_test.so") ); -#endif - Reference< registry::XImplementationRegistration > xImplReg( xMgr->createInstanceWithContext( - OUSTR("com.sun.star.registry.ImplementationRegistration"), xContext ), UNO_QUERY ); - OSL_ENSURE( xImplReg.is(), "### no impl reg!" ); - xImplReg->registerImplementation( - OUSTR("com.sun.star.loader.SharedLibrary"), libName, - Reference< registry::XSimpleRegistry >() ); - - OSL_VERIFY( (x = xMgr->createInstanceWithContext( OUSTR("com.sun.star.bootstrap.TestComponent0"), xContext )).is() ); - OSL_VERIFY( (x = xMgr->createInstanceWithContext( OUSTR("com.sun.star.bootstrap.TestComponent1"), xContext )).is() ); - - Reference< lang::XComponent > xComp( xContext, UNO_QUERY ); - if (xComp.is()) - { - xComp->dispose(); - } - return 0; - } - catch (Exception & exc) - { - OString str( OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ) ); - ::fprintf( stderr, "# caught exception: %s\n", str.getStr() ); - return 1; - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/helpertest.idl b/cppuhelper/test/helpertest.idl deleted file mode 100644 index daa69656f..000000000 --- a/cppuhelper/test/helpertest.idl +++ /dev/null @@ -1,84 +0,0 @@ -/************************************************************************* - * - * 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. - * - ************************************************************************/ - -#ifndef _TEST_CPPUTEST_IDL_ -#define _TEST_CPPUTEST_IDL_ - -#include <com/sun/star/uno/XInterface.idl> -#include <com/sun/star/uno/TypeClass.idl> - -module test -{ - -interface A : com::sun::star::uno::XInterface -{ - string a(); -}; - -interface BA : A -{ - string ba(); -}; - -interface CA : A -{ - string ca(); -}; - -interface DBA : BA -{ - string dba(); -}; - -interface E : com::sun::star::uno::XInterface -{ - string e(); -}; - -interface FE : E -{ - string fe(); -}; - -interface G : com::sun::star::uno::XInterface -{ - string g(); - string a(); -}; - -interface H : com::sun::star::uno::XInterface -{ - string h(); -}; -interface I : com::sun::star::uno::XInterface -{ - string i(); -}; - -}; //module test - -#endif diff --git a/cppuhelper/test/loader/loader.test.cxx b/cppuhelper/test/loader/loader.test.cxx deleted file mode 100644 index 34846197d..000000000 --- a/cppuhelper/test/loader/loader.test.cxx +++ /dev/null @@ -1,208 +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. - * - ************************************************************************/ - -#include "sal/main.h" -#include <cppuhelper/shlib.hxx> -#include <cppuhelper/implbase1.hxx> -#include <cppu/EnvDcp.hxx> - -#include "../testcmp/TestComponent.hxx" - -#include <iostream> -#include <cstring> - -#ifndef SAL_DLLPREFIX -# define SAL_DLLPREFIX "" -#endif - - -using namespace ::com::sun::star; - - -class MyKey : public cppu::WeakImplHelper1<registry::XRegistryKey> - -{ -public: - virtual rtl::OUString SAL_CALL getKeyName() throw (uno::RuntimeException) { return rtl::OUString(); }; - - // Methods - virtual sal_Bool SAL_CALL isReadOnly( ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return sal_False;}; - virtual sal_Bool SAL_CALL isValid( ) throw (uno::RuntimeException) {return sal_False;}; - virtual registry::RegistryKeyType SAL_CALL getKeyType( const rtl::OUString& /*rKeyName*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return registry::RegistryKeyType_KEY;}; - virtual registry::RegistryValueType SAL_CALL getValueType( ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return registry::RegistryValueType_NOT_DEFINED;}; - virtual sal_Int32 SAL_CALL getLongValue( ) throw (registry::InvalidRegistryException, registry::InvalidValueException, uno::RuntimeException) {return 0;}; - virtual void SAL_CALL setLongValue( sal_Int32 /*value*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual uno::Sequence< sal_Int32 > SAL_CALL getLongListValue( ) throw (registry::InvalidRegistryException, registry::InvalidValueException, uno::RuntimeException) { return uno::Sequence<sal_Int32>(); }; - virtual void SAL_CALL setLongListValue( const uno::Sequence< sal_Int32 >& /*seqValue*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual rtl::OUString SAL_CALL getAsciiValue( ) throw (registry::InvalidRegistryException, registry::InvalidValueException, uno::RuntimeException) {return rtl::OUString();}; - virtual void SAL_CALL setAsciiValue( const rtl::OUString& /*value*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual uno::Sequence< rtl::OUString > SAL_CALL getAsciiListValue( ) throw (registry::InvalidRegistryException, registry::InvalidValueException, uno::RuntimeException) {return uno::Sequence<rtl::OUString>();}; - virtual void SAL_CALL setAsciiListValue( const uno::Sequence< rtl::OUString >& /*seqValue*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual rtl::OUString SAL_CALL getStringValue( ) throw (registry::InvalidRegistryException, registry::InvalidValueException, uno::RuntimeException) {return rtl::OUString();}; - virtual void SAL_CALL setStringValue( const rtl::OUString& /*value*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual uno::Sequence< rtl::OUString > SAL_CALL getStringListValue( ) throw (registry::InvalidRegistryException, registry::InvalidValueException, uno::RuntimeException) {return uno::Sequence<rtl::OUString>();}; - virtual void SAL_CALL setStringListValue( const uno::Sequence< rtl::OUString >& /*seqValue*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual uno::Sequence< sal_Int8 > SAL_CALL getBinaryValue( ) throw (registry::InvalidRegistryException, registry::InvalidValueException, uno::RuntimeException) {return uno::Sequence<sal_Int8>();}; - virtual void SAL_CALL setBinaryValue( const uno::Sequence< sal_Int8 >& /*value*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual uno::Reference< registry::XRegistryKey > SAL_CALL openKey( const rtl::OUString& /*aKeyName*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return uno::Reference<registry::XRegistryKey>();}; - virtual uno::Reference< registry::XRegistryKey > SAL_CALL createKey( const rtl::OUString& /*aKeyName*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return uno::Reference<registry::XRegistryKey>();}; - virtual void SAL_CALL closeKey( ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual void SAL_CALL deleteKey( const rtl::OUString& /*rKeyName*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual uno::Sequence< uno::Reference< registry::XRegistryKey > > SAL_CALL openKeys( ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return uno::Sequence<uno::Reference<registry::XRegistryKey> >();}; - virtual uno::Sequence< rtl::OUString > SAL_CALL getKeyNames( ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return uno::Sequence<rtl::OUString>();}; - virtual sal_Bool SAL_CALL createLink( const rtl::OUString& /*aLinkName*/, const rtl::OUString& /*aLinkTarget*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return sal_False;}; - virtual void SAL_CALL deleteLink( const rtl::OUString& /*rLinkName*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {}; - virtual rtl::OUString SAL_CALL getLinkTarget( const rtl::OUString& /*rLinkName*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return rtl::OUString();}; - virtual rtl::OUString SAL_CALL getResolvedName( const rtl::OUString& /*aKeyName*/ ) throw (registry::InvalidRegistryException, uno::RuntimeException) {return rtl::OUString();}; -}; - - - -static rtl::OUString s_test__cppu_loadSharedLibComponentFactory(char const * pServicePurpose) -{ - rtl::OUString result; - - rtl::OUString servicePurpose = rtl::OUString(pServicePurpose, - rtl_str_getLength(pServicePurpose), - RTL_TEXTENCODING_ASCII_US); - - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__cppu_loadSharedLibComponentFactory ")); - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("(\"")); - result += servicePurpose; - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\") - ")); - - try { - uno::Reference<uno::XInterface> xObject( - cppu::loadSharedLibComponentFactory( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SAL_DLLPREFIX "TestComponent.uno" SAL_DLLEXTENSION)), - rtl::OUString(), - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("impl.test.TestComponent")) + servicePurpose, - uno::Reference<lang::XMultiServiceFactory>(), - uno::Reference<registry::XRegistryKey>()) - ); - - rtl::OUString envDcp_purpose(cppu::EnvDcp::getPurpose(g_envDcp)); - if (envDcp_purpose == servicePurpose) - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("passed\n")); - - else - { - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED - got: \"")); - result += envDcp_purpose; - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n")); - } - } - catch(uno::Exception & exception) { - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED - got: \"")); - result += exception.Message; - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n")); - } - - return result; -} - -static rtl::OUString s_test__cppu_writeSharedLibComponentInfo(char const * pServicePurpose) -{ - rtl::OUString result; - - rtl::OUString servicePurpose = rtl::OUString(pServicePurpose, - rtl_str_getLength(pServicePurpose), - RTL_TEXTENCODING_ASCII_US); - - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\ts_test__cppu_writeSharedLibComponentInfo ")); - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("(\"")); - result += servicePurpose; - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\") - ")); - - char buff[256]; - strcpy(buff, "TestComponent.uno="); - strcat(buff, pServicePurpose); - - putenv(buff); - - try { - cppu::writeSharedLibComponentInfo( - rtl::OUString(RTL_CONSTASCII_USTRINGPARAM(SAL_DLLPREFIX "TestComponent.uno" SAL_DLLEXTENSION)), - rtl::OUString(), - uno::Reference<lang::XMultiServiceFactory>(), - uno::Reference<registry::XRegistryKey>(new MyKey) - ); - - rtl::OUString envDcp_purpose(cppu::EnvDcp::getPurpose(g_envDcp)); - if (envDcp_purpose == servicePurpose) - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("passed\n")); - - else - { - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED - got: \"")); - result += envDcp_purpose; - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n")); - } - } - catch(uno::Exception & exception) { - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED - got: \"")); - result += exception.Message; - result += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\"\n")); - } - - return result; -} - - -SAL_IMPLEMENT_MAIN_WITH_ARGS(/*argc*/, argv) -{ - int result = 0; - - rtl::OUString message; - - message += rtl::OUString(argv[0], rtl_str_getLength(argv[0]), RTL_TEXTENCODING_ASCII_US); - message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("\n")); - - message += s_test__cppu_loadSharedLibComponentFactory(":unsafe"); - message += s_test__cppu_loadSharedLibComponentFactory(":affine"); - message += s_test__cppu_loadSharedLibComponentFactory(""); - - message += s_test__cppu_writeSharedLibComponentInfo(":unsafe"); - message += s_test__cppu_writeSharedLibComponentInfo(":affine"); - message += s_test__cppu_writeSharedLibComponentInfo(""); - - if (message.indexOf(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("FAILED"))) == -1) - message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS PASSED\n")); - - else - { - message += rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("TESTS _NOT_ PASSED\n")); - result = -1; - } - - std::cout << rtl::OUStringToOString(message, RTL_TEXTENCODING_ASCII_US).getStr(); - - return result; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/loader/makefile.mk b/cppuhelper/test/loader/makefile.mk deleted file mode 100644 index 4816dcb47..000000000 --- a/cppuhelper/test/loader/makefile.mk +++ /dev/null @@ -1,52 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -PRJ := ..$/.. -PRJNAME := cppuhelper -TARGET := loader.test - - -ENABLE_EXCEPTIONS := TRUE -NO_BSYMBOLIC := TRUE -USE_DEFFILE := TRUE - -.INCLUDE : settings.mk - -ENVINCPRE := -I$(OUT)$/inc$/$(TARGET) - -APP1TARGET := $(TARGET) -APP1OBJS := $(OBJ)$/loader.test.obj -.IF "$(GUI)"=="WNT" -APP1STDLIBS := iTestComponent.uno.lib -.ELSE -APP1STDLIBS := -lTestComponent.uno - -.ENDIF - -APP1STDLIBS += $(CPPUHELPERLIB) $(CPPULIB) $(SALLIB) - -.INCLUDE : target.mk diff --git a/cppuhelper/test/makefile.mk b/cppuhelper/test/makefile.mk deleted file mode 100644 index 7a67d6690..000000000 --- a/cppuhelper/test/makefile.mk +++ /dev/null @@ -1,168 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* -PRJ=.. - -PRJNAME=cppuhelper -TARGET=testhelper -ENABLE_EXCEPTIONS=TRUE -USE_DEFFILE=TRUE - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -# --- Files -------------------------------------------------------- - -UNOUCRDEP= $(SOLARBINDIR)$/udkapi.rdb -UNOUCRRDB= $(SOLARBINDIR)$/udkapi.rdb -UNOUCROUT= $(OUT)$/inc$/test -INCPRE+= $(OUT)$/inc$/test - -OBJFILES= \ - $(OBJ)$/testhelper.obj \ - $(OBJ)$/testpropshlp.obj \ - $(OBJ)$/testidlclass.obj \ - $(OBJ)$/testproptyphlp.obj \ - $(OBJ)$/testimplhelper.obj \ - $(OBJ)$/testcontainer.obj - -APP1TARGET=$(TARGET) -APP1OBJS=$(OBJFILES) - -APP1STDLIBS+= \ - $(CPPULIB) \ - $(CPPUHELPERLIB) \ - $(SALLIB) - -APP1DEF= $(MISC)$/$(APP1TARGET).def - -############################################# - -APP2OBJS = $(OBJ)$/testdefaultbootstrapping.obj -APP2STDLIBS += $(CPPUHELPERLIB) $(CPPULIB) $(SALLIB) -APP2TARGET = testdefaultbootstrapping - -############################################# - -SLOFILES= \ - $(SLO)$/cfg_test.obj -LIB1TARGET=$(SLB)$/cfg_test.lib -LIB1OBJFILES=$(SLOFILES) - - -APP3OBJS = $(OBJ)$/cfg_test.obj -APP3STDLIBS += $(CPPUHELPERLIB) $(CPPULIB) $(SALLIB) -APP3TARGET = test_cfg - -############################################# - -ALLIDLFILES:= helpertest.idl - -# --- Targets ------------------------------------------------------ - -.IF "$(depend)" == "" -ALL: $(BIN)$/cpputest.rdb \ - unoheader \ - $(BIN)$/testrc \ - $(BIN)$/testdefaultbootstrapping.pl \ - ALLTAR \ - $(BIN)$/$(APP2TARGET).bin \ - $(BIN)$/$(APP2TARGET).Bin \ - $(BIN)$/$(APP2TARGET).Exe - -.IF "$(GUI)"=="UNX" -ALL: $(BIN)$/$(APP2TARGET).exe - -$(BIN)$/$(APP2TARGET).exe : $(APP2TARGETN) - cp $(APP2TARGETN) $@ - -.ENDIF - - -$(BIN)$/$(APP2TARGET).bin : $(APP2TARGETN) - cp $(APP2TARGETN) $@ - -$(BIN)$/$(APP2TARGET).Bin : $(APP2TARGETN) - cp $(APP2TARGETN) $@ - -$(BIN)$/$(APP2TARGET).Exe : $(APP2TARGETN) - cp $(APP2TARGETN) $@ - -.ELSE -ALL: ALLDEP -.ENDIF - -.INCLUDE : target.mk - -CPPUMAKERFLAGS = -.IF "$(COM)" == "MSC" -CPPUMAKERFLAGS = -L -.ENDIF - -TYPES:=test.A;test.BA;test.CA;test.DBA;test.E;test.FE;test.G;test.H;test.I -HELPERTYPES:=com.sun.star.uno.XReference;com.sun.star.uno.XAdapter;com.sun.star.uno.XAggregation;com.sun.star.uno.XWeak;com.sun.star.lang.XComponent;com.sun.star.lang.XTypeProvider;com.sun.star.lang.XEventListener;com.sun.star.lang.XSingleServiceFactory;com.sun.star.lang.XMultiServiceFactory;com.sun.star.registry.XRegistryKey;com.sun.star.lang.XInitialization;com.sun.star.lang.XServiceInfo;com.sun.star.loader.XImplementationLoader;com.sun.star.lang.IllegalAccessException;com.sun.star.beans.XVetoableChangeListener;com.sun.star.beans.XPropertySet;com.sun.star.uno.XComponentContext -FACTORYTYPES:=com.sun.star.lang.XComponent;com.sun.star.registry.XSimpleRegistry;com.sun.star.lang.XInitialization;com.sun.star.lang.XMultiServiceFactory;com.sun.star.loader.XImplementationLoader;com.sun.star.registry.XImplementationRegistration;com.sun.star.container.XSet;com.sun.star.lang.XSingleServiceFactory;com.sun.star.lang.XSingleComponentFactory;com.sun.star.lang.XMultiComponentFactory - -.IF "$(OS)" == "WNT" -UNO_PATH := $(SOLARBINDIR) -UNO_OUT := $(OUT)$/bin -EXT_SO := .dll -.ELSE -UNO_PATH := $(SOLARLIBDIR) -UNO_OUT := $(OUT)$/lib -EXT_SO := .so -.ENDIF - -$(UNO_OUT)$/%$(EXT_SO): $(UNO_PATH)$/%$(EXT_SO) - $(COPY) $^ $@ - -$(BIN)$/cpputest.rdb: $(ALLIDLFILES) $(UNO_OUT)$/invocadapt.uno$(EXT_SO) $(UNO_OUT)$/bootstrap.uno$(EXT_SO) - $(IDLC) -I$(PRJ) -I$(SOLARIDLDIR) -O$(BIN) $(ALLIDLFILES) - $(REGMERGE) $@ /UCR $(BIN)$/{$(?:f:s/.idl/.urd/)} - $(REGMERGE) $@ / $(UNOUCRRDB) - $(REGCOMP) -register -r $@ -c reflection.uno$(DLLPOST) - $(TOUCH) $@ - -unoheader: $(BIN)$/cpputest.rdb - $(CPPUMAKER) $(CPPUMAKERFLAGS) -BUCR -O$(UNOUCROUT) -T"$(TYPES);$(HELPERTYPES)" $(BIN)$/cpputest.rdb - $(CPPUMAKER) $(CPPUMAKERFLAGS) -BUCR -O$(UNOUCROUT) -T"$(FACTORYTYPES)" $(BIN)$/cpputest.rdb - - -$(BIN)$/testdefaultbootstrapping.pl: testdefaultbootstrapping.pl - cp testdefaultbootstrapping.pl $@ - -$(BIN)$/testrc: makefile.mk -.IF "$(GUI)"=="WNT" - echo [Tests] > $@ - echo TestKey1=com.sun.star.uno.NamingService.rdb >> $@ -.ELSE - echo '[Tests]' > $@ - echo 'TestKey1=file:///'$(PWD)/$(BIN)'/com.sun.star.uno.NamingService.rdb' >> $@ -.ENDIF - - - diff --git a/cppuhelper/test/testcmp/TestComponent.cxx b/cppuhelper/test/testcmp/TestComponent.cxx deleted file mode 100644 index b8858f332..000000000 --- a/cppuhelper/test/testcmp/TestComponent.cxx +++ /dev/null @@ -1,250 +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_cppuhelper.hxx" - - -#define CPPUHELPER_TEST_COMPONENT_IMPL -#include "TestComponent.hxx" - - -#include <string.h> - -#include "osl/thread.h" - -#include "cppuhelper/implbase1.hxx" -#include "cppuhelper/implementationentry.hxx" - -#include "com/sun/star/lang/XMultiComponentFactory.hpp" -#include "com/sun/star/lang/XServiceInfo.hpp" - -#include "com/sun/star/uno/XComponentContext.hpp" - - -#include "cppu/EnvDcp.hxx" - -#include <uno/environment.hxx> - -using namespace ::com::sun::star; - - -#define LOG_LIFECYCLE_TestComponent -#ifdef LOG_LIFECYCLE_TestComponent -# include <iostream> -# define LOG_LIFECYCLE_TestComponent_emit(x) x - -#else -# define LOG_LIFECYCLE_TestComponent_emit(x) - -#endif - - -class TestComponent: public cppu::WeakImplHelper1<lang::XServiceInfo> -{ - rtl::OUString m_implName; - -public: - static uno::Reference<uno::XInterface> create( - uno::Reference<uno::XComponentContext> const & xCtx - ) - SAL_THROW((uno::Exception)); - - - static uno::Sequence<rtl::OUString> SAL_CALL getSupportedServiceNames_Static(); - - explicit TestComponent(uno::Reference<uno::XComponentContext> const & xCtx); - virtual ~TestComponent(); - - uno::Any SAL_CALL queryInterface(uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException); - void SAL_CALL release() throw (); - void SAL_CALL acquire() throw (); - - // lang::XServiceInfo - virtual rtl::OUString SAL_CALL getImplementationName() throw (uno::RuntimeException); - virtual sal_Bool SAL_CALL supportsService(rtl::OUString const & ServiceName) - throw (uno::RuntimeException); - virtual uno::Sequence<rtl::OUString> SAL_CALL getSupportedServiceNames() - throw (uno::RuntimeException); - -protected: - uno::Reference<uno::XComponentContext> m_xComponentContext; -}; - - -uno::Reference<uno::XInterface> SAL_CALL TestComponent::create( - uno::Reference<uno::XComponentContext> const & xCtx -) - SAL_THROW((uno::Exception)) -{ - try - { - return static_cast<cppu::OWeakObject *>(new TestComponent(xCtx)); - } - catch (std::bad_alloc &) - { - throw uno::RuntimeException(rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("std::bad_alloc")), - uno::Reference<uno::XInterface>()); - } -} - -uno::Sequence<rtl::OUString> SAL_CALL TestComponent::getSupportedServiceNames_Static() -{ - uno::Sequence<rtl::OUString> serviceNames(1); - serviceNames[0] = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("com.sun.star.lang.ServiceInfo")); - - return serviceNames; -} - - -TestComponent::TestComponent(uno::Reference<uno::XComponentContext> const & xCtx) - : m_xComponentContext(xCtx) -{ - LOG_LIFECYCLE_TestComponent_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestComponent::TestComponent()", this)); -} - -TestComponent::~TestComponent() -{ - LOG_LIFECYCLE_TestComponent_emit(fprintf(stderr, "LIFE: %s -> %p\n", "TestComponent::~TestComponent", this)); -} - -rtl::OUString SAL_CALL TestComponent::getImplementationName() - throw (uno::RuntimeException) -{ - return m_implName; -} - -void SAL_CALL TestComponent::acquire() throw () -{ - cppu::WeakImplHelper1<lang::XServiceInfo>::acquire(); -} - -void SAL_CALL TestComponent::release() throw () -{ - cppu::WeakImplHelper1<lang::XServiceInfo>::release(); -} - -uno::Any SAL_CALL TestComponent::queryInterface(uno::Type const & rType ) throw (::com::sun::star::uno::RuntimeException) -{ - return cppu::WeakImplHelper1<lang::XServiceInfo>::queryInterface(rType); -} - -sal_Bool SAL_CALL TestComponent::supportsService(rtl::OUString const & ServiceName) - throw (uno::RuntimeException) -{ - uno::Sequence<rtl::OUString> serviceNames = getSupportedServiceNames_Static(); - - for (sal_Int32 n = 0; n < serviceNames.getLength(); ++n) - { - if (serviceNames[n] == ServiceName) - return true; - } - - return false; -} - -uno::Sequence<rtl::OUString> SAL_CALL TestComponent::getSupportedServiceNames() - throw (uno::RuntimeException) -{ - return getSupportedServiceNames_Static(); -} - -extern "C" sal_Bool SAL_CALL component_writeInfo( - void * /*serviceManager*/, - void * /*registryKey*/ -) -{ - g_envDcp = uno::Environment::getCurrent().getTypeName(); - - return true; -} - -extern "C" SAL_DLLPUBLIC_EXPORT void * SAL_CALL component_getFactory( - char const * pImplName, - void * /*serviceManager*/, - void * /*registryKey*/ -) -{ - g_envDcp = uno::Environment::getCurrent().getTypeName(); - - uno::Reference< lang::XSingleComponentFactory > xFactory; - - rtl::OUString uTmp(pImplName, rtl_str_getLength(pImplName), RTL_TEXTENCODING_ASCII_US); - - rtl::OUString uImplName(cppu::EnvDcp::getTypeName(uTmp)); - rtl::OUString cmpName(RTL_CONSTASCII_USTRINGPARAM("impl.test.TestComponent")); - - if (uImplName.equals(cmpName)) - { - xFactory = cppu::createSingleComponentFactory( - TestComponent::create, - uImplName, - TestComponent::getSupportedServiceNames_Static()); - - xFactory->acquire(); - } - - return xFactory.get(); -} - -extern "C" SAL_DLLPUBLIC_EXPORT void SAL_CALL component_getImplementationEnvironmentExt( - sal_Char const ** envTypeName, - uno_Environment ** /*ppEnv*/, - sal_Char const * pImplName, - uno_Environment * /*pSrcEnv*/ -) -{ - rtl::OString purpose; - - if (pImplName) // this is the purpose for a specified impl - { - rtl::OUString uImplName(pImplName, rtl_str_getLength(pImplName), RTL_TEXTENCODING_ASCII_US); - purpose = rtl::OUStringToOString(cppu::EnvDcp::getPurpose(uImplName), RTL_TEXTENCODING_ASCII_US); - } - - if (!purpose.getLength()) - { - char * pPurpose = getenv("TestComponent.uno"); - if (pPurpose) - purpose = rtl::OString(pPurpose); - } - - if (purpose.getLength() == 0) - *envTypeName = CPPU_CURRENT_LANGUAGE_BINDING_NAME; - - else - { - char buff[256]; - strcpy(buff, CPPU_STRINGIFY(CPPU_ENV)); - strcat(buff, purpose.getStr()); - - *envTypeName = strdup(buff); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testcmp/TestComponent.hxx b/cppuhelper/test/testcmp/TestComponent.hxx deleted file mode 100644 index 92824bd8a..000000000 --- a/cppuhelper/test/testcmp/TestComponent.hxx +++ /dev/null @@ -1,59 +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. - * - ************************************************************************/ - -#ifndef INCLUDED_cppuhelper_test_testcmp_TestComponent_hxx -#define INCLUDED_cppuhelper_test_testcmp_TestComponent_hxx - -#include <sal/types.h> -#include <rtl/ustring.hxx> - -#ifdef CPPUHELPER_TEST_COMPONENT_IMPL -# define CPPUHELPER_TEST_COMPONENT_EXPORT SAL_DLLPUBLIC_EXPORT - -#elif defined(CPPUHELPER_TEST_COMPONENT_LIB) -# define CPPUHELPER_TEST_COMPONENT_EXPORT extern - -#elif defined(__GNUC__) && defined(HAVE_GCC_VISIBILITY_FEATURE) -# define CPPUHELPER_TEST_COMPONENT_EXPORT extern __attribute__ ((weak)) - -#elif defined(__SUNPRO_CC) -# define CPPUHELPER_TEST_COMPONENT_EXPORT extern - extern rtl::OUString g_envDcp; -# pragma weak g_envDcp - -#else -# define CPPUHELPER_TEST_COMPONENT_EXPORT SAL_DLLPUBLIC_IMPORT - -#endif - -CPPUHELPER_TEST_COMPONENT_EXPORT rtl::OUString g_envDcp; - - -#endif - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testcmp/TestComponent.uno.def b/cppuhelper/test/testcmp/TestComponent.uno.def deleted file mode 100755 index 8c1906e67..000000000 --- a/cppuhelper/test/testcmp/TestComponent.uno.def +++ /dev/null @@ -1,11 +0,0 @@ -HEAPSIZE 0 -EXPORTS - component_getImplementationEnvironmentExt; - component_getFactory; - component_writeInfo; - ?g_envDcp@@3VOUString@rtl@@A; - - - - - diff --git a/cppuhelper/test/testcmp/makefile.mk b/cppuhelper/test/testcmp/makefile.mk deleted file mode 100644 index 24474b8ab..000000000 --- a/cppuhelper/test/testcmp/makefile.mk +++ /dev/null @@ -1,49 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -PRJ := ..$/.. -PRJNAME := cppuhelper -TARGET := TestComponent.uno -ENABLE_EXCEPTIONS := TRUE - - -.INCLUDE: settings.mk - - -SHL1TARGET := $(TARGET) -SHL1OBJS := $(SLO)$/TestComponent.obj -SHL1STDLIBS := $(CPPUHELPERLIB) $(CPPULIB) $(SALHELPERLIB) $(SALLIB) -SHL1IMPLIB := i$(SHL1TARGET) -.IF "$(GUI)"=="WNT" -SHL1DEF := TestComponent.uno.def -.ELSE -DEF1NAME := $(SHL1TARGET) -.ENDIF - - -.INCLUDE: target.mk - diff --git a/cppuhelper/test/testcontainer.cxx b/cppuhelper/test/testcontainer.cxx deleted file mode 100644 index 29d2996a8..000000000 --- a/cppuhelper/test/testcontainer.cxx +++ /dev/null @@ -1,156 +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_cppuhelper.hxx" -#include <osl/mutex.hxx> - -#include <cppuhelper/interfacecontainer.hxx> -#include <cppuhelper/implbase1.hxx> - -#include <com/sun/star/beans/XVetoableChangeListener.hpp> - -using namespace ::cppu; -using namespace ::osl; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::uno; - - -class TestListener : public WeakImplHelper1< XVetoableChangeListener > -{ -public: - // Methods - virtual void SAL_CALL disposing( const ::com::sun::star::lang::EventObject& /*Source*/ ) throw(::com::sun::star::uno::RuntimeException) - { - - } - - virtual void SAL_CALL vetoableChange( const ::com::sun::star::beans::PropertyChangeEvent& /*aEvent*/ ) - throw(::com::sun::star::beans::PropertyVetoException, ::com::sun::star::uno::RuntimeException) - { - - } -}; - -void test_interfacecontainer() -{ - Mutex mutex; - - { - OInterfaceContainerHelper helper( mutex ); - - Reference< XVetoableChangeListener > r1 = new TestListener(); - Reference< XVetoableChangeListener > r2 = new TestListener(); - Reference< XVetoableChangeListener > r3 = new TestListener(); - - helper.addInterface( r1 ); - helper.addInterface( r2 ); - helper.addInterface( r3 ); - - helper.disposeAndClear( EventObject() ); - } - - { - OInterfaceContainerHelper helper( mutex ); - - Reference< XVetoableChangeListener > r1 = new TestListener(); - Reference< XVetoableChangeListener > r2 = new TestListener(); - Reference< XVetoableChangeListener > r3 = new TestListener(); - - helper.addInterface( r1 ); - helper.addInterface( r2 ); - helper.addInterface( r3 ); - - OInterfaceIteratorHelper iterator( helper ); - - while( iterator.hasMoreElements() ) - ((XVetoableChangeListener*)iterator.next())->vetoableChange( PropertyChangeEvent() ); - - helper.disposeAndClear( EventObject() ); - } - - { - OInterfaceContainerHelper helper( mutex ); - - Reference< XVetoableChangeListener > r1 = new TestListener(); - Reference< XVetoableChangeListener > r2 = new TestListener(); - Reference< XVetoableChangeListener > r3 = new TestListener(); - - helper.addInterface( r1 ); - helper.addInterface( r2 ); - helper.addInterface( r3 ); - - OInterfaceIteratorHelper iterator( helper ); - - ((XVetoableChangeListener*)iterator.next())->vetoableChange( PropertyChangeEvent() ); - iterator.remove(); - ((XVetoableChangeListener*)iterator.next())->vetoableChange( PropertyChangeEvent() ); - iterator.remove(); - ((XVetoableChangeListener*)iterator.next())->vetoableChange( PropertyChangeEvent() ); - iterator.remove(); - - OSL_ASSERT( helper.getLength() == 0 ); - helper.disposeAndClear( EventObject() ); - } - - { - OInterfaceContainerHelper helper( mutex ); - - Reference< XVetoableChangeListener > r1 = new TestListener(); - Reference< XVetoableChangeListener > r2 = new TestListener(); - Reference< XVetoableChangeListener > r3 = new TestListener(); - - helper.addInterface( r1 ); - helper.addInterface( r2 ); - helper.addInterface( r3 ); - - { - OInterfaceIteratorHelper iterator( helper ); - while( iterator.hasMoreElements() ) - { - Reference< XVetoableChangeListener > r = ((XVetoableChangeListener*)iterator.next()); - if( r == r1 ) - iterator.remove(); - } - } - OSL_ASSERT( helper.getLength() == 2 ); - { - OInterfaceIteratorHelper iterator( helper ); - while( iterator.hasMoreElements() ) - { - Reference< XVetoableChangeListener > r = ((XVetoableChangeListener*)iterator.next()); - OSL_ASSERT( r != r1 && ( r == r2 || r == r3 ) ); - } - } - - helper.disposeAndClear( EventObject() ); - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testdefaultbootstrapping.cxx b/cppuhelper/test/testdefaultbootstrapping.cxx deleted file mode 100644 index 399bbc373..000000000 --- a/cppuhelper/test/testdefaultbootstrapping.cxx +++ /dev/null @@ -1,88 +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_cppuhelper.hxx" - -#include <sal/main.h> - - - -#include <cstdio> - -#include <rtl/process.h> -#include <cppuhelper/bootstrap.hxx> - -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/uno/XComponentContext.hpp> - -using namespace ::cppu; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::uno; -using namespace ::rtl; - - -SAL_IMPLEMENT_MAIN() -{ - sal_Bool result = sal_True; - - try { - Reference<XComponentContext> xComponentContext = defaultBootstrap_InitialComponentContext(); - - Reference<XMultiServiceFactory> smgr(xComponentContext->getServiceManager(), UNO_QUERY); - - for(sal_uInt32 i = 0; i < rtl_getAppCommandArgCount(); ++ i) { - OUString arg; - - rtl_getAppCommandArg(i, &arg.pData); - if (arg.getLength()) - { - Reference<XInterface> xInterface = smgr->createInstance(arg); - OString tmp = OUStringToOString(arg, RTL_TEXTENCODING_ASCII_US); -#if OSL_DEBUG_LEVEL > 1 - fprintf(stderr, "got the %s service %p\n", tmp.getStr(), xInterface.get()); -#endif - - result = result && (xInterface.get() != 0); - } - } - } - catch(Exception & exception) { - OString message = OUStringToOString(exception.Message, RTL_TEXTENCODING_ASCII_US); - - fprintf(stderr, "an exception occurred: %s\n", message.getStr()); - } - -#if OSL_DEBUG_LEVEL > 1 - OSL_TRACE("---------------------------------- %i", result); -#endif - - return result; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testdefaultbootstrapping.pl b/cppuhelper/test/testdefaultbootstrapping.pl deleted file mode 100644 index b96ed5c49..000000000 --- a/cppuhelper/test/testdefaultbootstrapping.pl +++ /dev/null @@ -1,277 +0,0 @@ -: -eval 'exec perl -wS $0 ${1+"$@"}' - if 0; -#************************************************************************* -# -# 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. -# -#************************************************************************* - -# -# deliver.pl - copy from module output tree to solver -# - -my $progname = "testdefaultbootstrapping"; -my $defExeExt; - -if ($ENV{GUI} eq "WNT") { - %services = ( - 'com.sun.star.uno.NamingService' => 'namingservice.uno.dll', - 'com.sun.star.reflection.CoreReflection' => 'reflection.uno.dll', - 'com.sun.star.script.InvocationAdapterFactory' => 'invocadapt.uno.dll', - ); - - $defExeExt = ".exe"; - -} -else { - %services = ( - 'com.sun.star.uno.NamingService' => 'namingservice.uno.so', - 'com.sun.star.reflection.CoreReflection' => 'reflection.uno.so', - 'com.sun.star.script.InvocationAdapterFactory' => 'invocadapt.uno.so' - ); - - $defExeExt = ""; -} - -sub extendProgName($) { - my $_extension = shift; - my $_result; - - if ($ENV{GUI} eq "WNT") { - $_result = $progname . $_extension; - } - else { - $_result = $ENV{PWD} . "/" . $progname . $_extension; - } - - return $_result; -} - - -sub rmDefRDB() { - unlink $progname . "_services.rdb"; -} - - -sub unregisterService($){ - my $service_name = shift; - - my $rdb_name = $service_name . '.rdb'; - - unlink $rdb_name; - - return 1; -} - -sub testForServices($$$) { - my $_services = shift; - my $_pars = shift; - my $_testexe = shift; - - -# my $_rc = system 'echo', $_testexe, @{$_services}, $_pars; - my $_rc = system $_testexe, @{$_services}, $_pars; - - return $_rc >> 8; -} - - -sub registerService($$){ - my $service_lib = shift; - my $rdb_name = shift; - -# system 'echo', "regcomp -register -r " . $rdb_name . " -c $service_lib"; - my $rc = system "regcomp -register -r " . $rdb_name . " -c $service_lib"; - - - return ! ( $rc >> 8 ); -} - - - -my $state = 1; -my @allservices; -my $allservices_rdbs=""; -my $rc; -my $comment; -my $testexe; - - -sub registerServices() { - use Cwd; - - # ensure that services can not be instantiated - foreach $service ( keys %services ) { - # ensure that the current service is not reachable - unregisterService($service); - $rc = !testForServices([$service], "", $testexe); - if(!$rc) { - $comment = $comment . "\tcouldn't unregister service " . $service . "\n"; - $state = 0; - } - - - # register the service and ensure that it is reachable - $rc = registerService($services{$service}, $service . '.rdb'); - if(!$rc) { - $comment = $comment . "\tcouldn't register service " . $service . "\n"; - $state = 0; - } - - $rc = testForServices([$service], "-env:UNO_SERVICES=" . $service . ".rdb", $testexe); - if(!$rc) { - $comment = $comment . "\tcouldn't reach service " . $service . "\n"; - $state = 0; - } - - # memorize all services - if (length($allservices_rdbs)) { - $allservices_rdbs = $allservices_rdbs . " "; - } - $allservices_rdbs = $allservices_rdbs . "file://" . getcwd() . "/" . $service . ".rdb"; - push @allservices, $service; - } -} - -sub testIndirection() { - #test indirection - $rc = testForServices(['com.sun.star.uno.NamingService'], '-env:UNO_SERVICES=${testrc:Tests:TestKey1}', $testexe); - if (!$rc) { - $comment = $comment . "\tindirection test not passed\n"; - $state = 0; - } -} - - -sub testBeneathExe() { - my $service = 'com.sun.star.reflection.CoreReflection'; - my $_testexe; - - my @_exes = (extendProgName(".exe"), - extendProgName(".Exe"), - extendProgName(".bin"), - extendProgName(".Bin")); - - foreach $_testexe ( @_exes ) { - #test rdb found beneath executable - registerService($services{$service}, $progname . "_services.rdb"); - my $_rc = testForServices([$service], "", $_testexe); - if (!$_rc) { - $comment = $comment . "\tbeneath executable test not passed: " . $_testexe . "\n"; - $state = 0; - } - } -} - -sub testBeneathLib_rdb() { - my $_service = 'com.sun.star.uno.NamingService'; - - use UNO; - - my $_rdb_name; - - if ($ENV{GUI} eq "WNT") { - $_rdb_name = "UNO" . "_services.rdb"; - } - else { - $_rdb_name = "../lib/UNO" . "_services.rdb"; - } - - registerService($services{$_service}, $_rdb_name); - my $_rc = UNO::tryService($_service); - if (!$_rc) { - $comment = $comment . "\tbeneath lib test not passed\n"; - $state = 0; - } - unlink $_rdb_name; -} - -sub testBeneathLib_rc() { - my $_service = 'com.sun.star.uno.NamingService'; - - use UNO; - - my $_rc_name; - - if ($ENV{GUI} eq "WNT") { - $_rc_name = "UNO.ini"; - } - else { - $_rc_name = "../lib/UNOrc"; - } - - my $_rdb_name = "../lib/test.rdb"; - - my $_handle; - open $_handle, ">" . $_rc_name; - print $_handle "UNO_SERVICES=" . $_rdb_name . "\n"; - close $_handle; - - registerService($services{$_service}, $_rdb_name); - my $_rc = UNO::tryService($_service); - if (!$_rc) { - $comment = $comment . "\tbeneath lib rc test not passed\n"; - $state = 0; - } - unlink $_rdb_name; - unlink $_rc_name; -} - -sub testAllAvailable() { - # test that all services are reachable through different rdbs - # change the directory to ensure, that all paths become expanded - chdir ".."; - - $rc = testForServices(\@allservices, "-env:UNO_SERVICES=" . $allservices_rdbs, $testexe); - if (!$rc) { - $comment = $comment . "\tmulti rdb test not passed\n"; - $state = 0; - } -} - -$testexe = extendProgName($defExeExt); - -rmDefRDB(); -registerServices(); -#print "alls:", @allservices, $allservices_rdbs, "\n"; - -testIndirection(); -testBeneathExe(); -testBeneathLib_rc(); -testBeneathLib_rdb(); -testAllAvailable(); - -print "**************************\n"; -if($state) { - print "****** tests passed ******\n"; -} -else { - print "**** tests NOT passed ****\n"; - print "Commnent:\n", $comment, "\n"; -} -print "**************************\n"; - - - diff --git a/cppuhelper/test/testhelper.cxx b/cppuhelper/test/testhelper.cxx deleted file mode 100644 index 85b7b46ed..000000000 --- a/cppuhelper/test/testhelper.cxx +++ /dev/null @@ -1,110 +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. - * - ************************************************************************/ - -#if !defined(OSL_DEBUG_LEVEL) || OSL_DEBUG_LEVEL == 0 -# undef OSL_DEBUG_LEVEL -# define OSL_DEBUG_LEVEL 2 -#endif - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_cppuhelper.hxx" - -#include <sal/main.h> - -#include <stdio.h> -#include <rtl/ustrbuf.hxx> -#include <osl/diagnose.h> - -#include <cppuhelper/component_context.hxx> -#include <cppuhelper/servicefactory.hxx> -#include <com/sun/star/beans/XPropertySet.hpp> -#include <com/sun/star/registry/XSimpleRegistry.hpp> -#include <com/sun/star/registry/XImplementationRegistration.hpp> -#include <com/sun/star/lang/XMultiServiceFactory.hpp> -#include <com/sun/star/lang/XComponent.hpp> - -#include "testhelper.hxx" - -using namespace cppu; -using namespace com::sun::star::uno; -using namespace com::sun::star; -using namespace com::sun::star::lang; -using namespace com::sun::star::registry; - -using ::rtl::OUString; -using ::rtl::OString; -using ::rtl::OUStringToOString; - -SAL_IMPLEMENT_MAIN() -{ - try - { - Reference< XMultiComponentFactory > xMgr( createRegistryServiceFactory( - OUString( RTL_CONSTASCII_USTRINGPARAM("cpputest.rdb") ) ), UNO_QUERY ); - Reference< XComponentContext > xInitialContext; - OSL_VERIFY( Reference< beans::XPropertySet >( xMgr, UNO_QUERY )->getPropertyValue( - OUString( RTL_CONSTASCII_USTRINGPARAM("DefaultContext") ) ) >>= xInitialContext ); - - ContextEntry_Init aEntry; - aEntry.bLateInitService = false; - aEntry.name = OUString( RTL_CONSTASCII_USTRINGPARAM("bla, bla") ); - aEntry.value = makeAny( (sal_Int32)5 ); - Reference< XComponentContext > xContext( createComponentContext( &aEntry, 1, xInitialContext ) ); - OSL_ASSERT( xContext->getServiceManager() != xMgr ); // must be wrapped one - OSL_ASSERT( - Reference< beans::XPropertySet >( - xContext->getServiceManager(), UNO_QUERY )->getPropertyValue( - OUString( RTL_CONSTASCII_USTRINGPARAM("DefaultContext") ) ) != xInitialContext ); - - Reference< XMultiServiceFactory > x( xMgr, UNO_QUERY ); - test_ImplHelper( x ); - testPropertyTypeHelper(); - testidlclass( x ); - test_PropertySetHelper(); - test_interfacecontainer(); - - OSL_VERIFY( xContext->getValueByName( - OUString( RTL_CONSTASCII_USTRINGPARAM("bla, bla") ) ) == (sal_Int32)5 ); - OSL_VERIFY( ! xInitialContext->getValueByName( - OUString( RTL_CONSTASCII_USTRINGPARAM("bla, bla") ) ).hasValue() ); - Reference< XComponent >( xInitialContext, UNO_QUERY )->dispose(); - xMgr.clear(); - xContext.clear(); - xInitialContext.clear(); - } - catch (Exception & exc) - { - OString cstr_msg( OUStringToOString( exc.Message, RTL_TEXTENCODING_ASCII_US ) ); - OSL_ENSURE( ! "exception occurred: ", cstr_msg.getStr() ); - } - - printf( "Test finished\n" ); - return 0; -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testhelper.hxx b/cppuhelper/test/testhelper.hxx deleted file mode 100644 index c40d738d8..000000000 --- a/cppuhelper/test/testhelper.hxx +++ /dev/null @@ -1,34 +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. - * - ************************************************************************/ -void testidlclass( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > &r); -void testPropertyTypeHelper(); -void test_PropertySetHelper(); -void test_ImplHelper( const ::com::sun::star::uno::Reference < ::com::sun::star::lang::XMultiServiceFactory > & xSF ); -void test_interfacecontainer(); - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testidlclass.cxx b/cppuhelper/test/testidlclass.cxx deleted file mode 100644 index fca2a6408..000000000 --- a/cppuhelper/test/testidlclass.cxx +++ /dev/null @@ -1,230 +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_cppuhelper.hxx" - -#include <cppuhelper/stdidlclass.hxx> - -#include <com/sun/star/reflection/XIdlClassProvider.hpp> -#include <com/sun/star/lang/XServiceInfo.hpp> - -#include "testhelper.hxx" - -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::reflection; -using namespace ::rtl; - - - - -void testidlclass( const Reference < XMultiServiceFactory > &rSMgr) -{ - const OUString sImplName( OUString( RTL_CONSTASCII_USTRINGPARAM("com.sun.star.comp.cpputest") ) ); - - // this reference is static to test behaviour during exiting application - Reference < XIdlClass > r = - ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 - ); - - OSL_ASSERT( r.is() ); - - - { // test the xidlclassprovider interface ! - Reference< XIdlClassProvider > rProv( r , UNO_QUERY ); - OSL_ASSERT( rProv.is() ); - - { - Sequence < Reference < XIdlClass > > seq = rProv->getIdlClasses(); - - // is always one - OSL_ASSERT( seq.getLength() == 1 ); - - // test the weak reference - rProv->getIdlClasses(); - - } - - rProv->getIdlClasses(); - - - } - - - OSL_ASSERT( r->getName() == sImplName ); - - // test equals - Reference < XIdlClass > r2 = - ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 - ); - // test for implementation name - OSL_ASSERT( r2->equals( r ) ); - - Sequence < Reference < XIdlClass > > seqIdlClass = r->getInterfaces(); - - //TODO ! - // one idl class for one interface - // this test fails, if core reflection fails ! -// OSL_ASSERT( 1 == seqIdlClass.getLength() ); -// Reference < XIdlClass > rIdlInterface = seqIdlClass.getArray()[0]; - - // check for IdlClass interface returned by Core Reflection -// OSL_ASSERT( rIdlInterface.is() ); - - - - // Test all ten templates - Reference< XIdlClass > x = ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 - ); - - // Test all ten templates - x = ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 - ); - - - // Test all ten templates - x = ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 - ); - - - - // Test all ten templates - x = ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 - ); - - - - // Test all ten templates - x = ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 - ); - - - // Test all ten templates - x = ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 - ); - - - - - // Test all ten templates - x = ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 - ); - - // Test all ten templates - x = ::cppu::createStandardClass( - rSMgr , - sImplName, - Reference < XIdlClass > () , - (XMultiServiceFactory * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 , - (XServiceInfo * ) 0 - ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testimplhelper.cxx b/cppuhelper/test/testimplhelper.cxx deleted file mode 100644 index 19b05e9ea..000000000 --- a/cppuhelper/test/testimplhelper.cxx +++ /dev/null @@ -1,586 +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. - * - ************************************************************************/ - -#if !defined(OSL_DEBUG_LEVEL) || OSL_DEBUG_LEVEL == 0 -# undef OSL_DEBUG_LEVEL -# define OSL_DEBUG_LEVEL 2 -#endif - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_cppuhelper.hxx" - -#include <stdio.h> - -#include <cppuhelper/implbase1.hxx> -#include <cppuhelper/implbase2.hxx> -#include <cppuhelper/implbase3.hxx> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/implbase5.hxx> -#include <cppuhelper/implbase6.hxx> -#include <cppuhelper/implbase7.hxx> -#include <cppuhelper/implbase8.hxx> -#include <cppuhelper/implbase9.hxx> -#include <cppuhelper/implbase10.hxx> -#include <cppuhelper/implbase11.hxx> -#include <cppuhelper/implbase12.hxx> - -#include <cppuhelper/compbase1.hxx> -#include <cppuhelper/compbase2.hxx> -#include <cppuhelper/compbase3.hxx> -#include <cppuhelper/compbase4.hxx> -#include <cppuhelper/compbase5.hxx> -#include <cppuhelper/compbase6.hxx> -#include <cppuhelper/compbase7.hxx> -#include <cppuhelper/compbase8.hxx> -#include <cppuhelper/compbase9.hxx> -#include <cppuhelper/compbase10.hxx> -#include <cppuhelper/compbase11.hxx> -#include <cppuhelper/compbase12.hxx> - -#include <osl/diagnose.h> -#include <cppuhelper/servicefactory.hxx> -#include <cppuhelper/implbase4.hxx> -#include <cppuhelper/compbase4.hxx> -#include <cppuhelper/exc_hlp.hxx> - -#include <test/A.hpp> -#include <test/BA.hpp> -#include <test/CA.hpp> -#include <test/DBA.hpp> -#include <test/E.hpp> -#include <test/FE.hpp> -#include <test/G.hpp> -#include <test/H.hpp> -#include <test/I.hpp> - -#include <com/sun/star/lang/IllegalAccessException.hpp> - -using namespace test; -using namespace osl; -using namespace cppu; -using namespace com::sun::star; -using namespace com::sun::star::uno; - -using ::rtl::OUString; -using ::rtl::OUStringToOString; -using ::rtl::OString; - -//================================================================================================== -struct TestImpl : public ImplHelper4< CA, DBA, FE, G > -{ - sal_Int32 nRef; - - virtual ~TestImpl() - { OSL_TRACE( "> TestImpl dtor called... <\n" ); } - - virtual Any SAL_CALL queryInterface( const Type & rType ) throw(RuntimeException) - { return ImplHelper4< CA, DBA, FE, G >::queryInterface( rType ); } - virtual void SAL_CALL acquire( ) throw() - { ++nRef; } - virtual void SAL_CALL release( ) throw() - { if (! --nRef) delete this; } - - // A - virtual OUString SAL_CALL a() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("a") ); } - // BA - virtual OUString SAL_CALL ba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ba") ); } - // CA - virtual OUString SAL_CALL ca() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ca") ); } - // DBA - virtual OUString SAL_CALL dba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("dba") ); } - // E - virtual OUString SAL_CALL e() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("e") ); } - // FE - virtual OUString SAL_CALL fe() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("fe") ); } - // G - virtual OUString SAL_CALL g() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("g") ); } -}; - -//================================================================================================== -struct TestWeakAggImpl : public WeakAggImplHelper4< CA, DBA, FE, G > -{ - virtual ~TestWeakAggImpl() - { OSL_TRACE( "> TestWeakAggImpl dtor called... <\n" ); } - - // A - virtual OUString SAL_CALL a() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("a") ); } - // BA - virtual OUString SAL_CALL ba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ba") ); } - // CA - virtual OUString SAL_CALL ca() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ca") ); } - // DBA - virtual OUString SAL_CALL dba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("dba") ); } - // E - virtual OUString SAL_CALL e() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("e") ); } - // FE - virtual OUString SAL_CALL fe() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("fe") ); } - // G - virtual OUString SAL_CALL g() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("g") ); } -}; - -//================================================================================================== -struct TestWeakImpl : public WeakImplHelper4< CA, DBA, FE, G > -{ - TestWeakImpl() {} - - virtual ~TestWeakImpl() - { OSL_TRACE( "> TestWeakImpl dtor called... <\n" ); } - - // A - virtual OUString SAL_CALL a() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("a") ); } - // BA - virtual OUString SAL_CALL ba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ba") ); } - // CA - virtual OUString SAL_CALL ca() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ca") ); } - // DBA - virtual OUString SAL_CALL dba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("dba") ); } - // E - virtual OUString SAL_CALL e() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("e") ); } - // FE - virtual OUString SAL_CALL fe() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("fe") ); } - // G - virtual OUString SAL_CALL g() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("g") ); } - -protected: - TestWeakImpl(int) {} - - TestWeakImpl(int, int) {} - - TestWeakImpl(int, int, int) {} - - TestWeakImpl(int, int, int, int) {} - - TestWeakImpl(int, int, int, int, int) {} - - TestWeakImpl(int, int, int, int, int, int, int = 0) {} -}; - -//================================================================================================== -struct TestWeakComponentImpl : public WeakComponentImplHelper4< CA, DBA, FE, G > -{ - Mutex m; - TestWeakComponentImpl() - : WeakComponentImplHelper4< CA, DBA, FE, G >( m ) - {} - virtual ~TestWeakComponentImpl() - { OSL_TRACE( "> TestWeakComponentImpl dtor called... <\n" ); } - - void SAL_CALL disposing() - { OSL_TRACE( "> TestWeakComponentImpl disposing called... <\n" ); } - - // A - virtual OUString SAL_CALL a() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("a") ); } - // BA - virtual OUString SAL_CALL ba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ba") ); } - // CA - virtual OUString SAL_CALL ca() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ca") ); } - // DBA - virtual OUString SAL_CALL dba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("dba") ); } - // E - virtual OUString SAL_CALL e() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("e") ); } - // FE - virtual OUString SAL_CALL fe() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("fe") ); } - // G - virtual OUString SAL_CALL g() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("g") ); } -}; - -//================================================================================================== -struct TestWeakAggComponentImpl : public WeakAggComponentImplHelper4< CA, DBA, FE, G > -{ - Mutex m; - TestWeakAggComponentImpl() - : WeakAggComponentImplHelper4< CA, DBA, FE, G >( m ) - {} - virtual ~TestWeakAggComponentImpl() - { OSL_TRACE( "> TestWeakAggComponentImpl dtor called... <\n" ); } - - void SAL_CALL disposing() - { OSL_TRACE( "> TestWeakAggComponentImpl disposing called... <\n" ); } - - // A - virtual OUString SAL_CALL a() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("a") ); } - // BA - virtual OUString SAL_CALL ba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ba") ); } - // CA - virtual OUString SAL_CALL ca() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("ca") ); } - // DBA - virtual OUString SAL_CALL dba() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("dba") ); } - // E - virtual OUString SAL_CALL e() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("e") ); } - // FE - virtual OUString SAL_CALL fe() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("fe") ); } - // G - virtual OUString SAL_CALL g() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("g") ); } -}; - -//================================================================================================== -struct TestImplInh : public ImplInheritanceHelper2< TestWeakImpl, H, I > -{ - TestImplInh() {} - - explicit TestImplInh(int): - ImplInheritanceHelper2< TestWeakImpl, H, I >(1) {} - - TestImplInh(int, int): - ImplInheritanceHelper2< TestWeakImpl, H, I >(1, 2) {} - - TestImplInh(int, int, int): - ImplInheritanceHelper2< TestWeakImpl, H, I >(1, 2, 3) {} - - TestImplInh(int, int, int, int): - ImplInheritanceHelper2< TestWeakImpl, H, I >(1, 2, 3, 4) {} - - TestImplInh(int, int, int, int, int): - ImplInheritanceHelper2< TestWeakImpl, H, I >(1, 2, 3, 4, 5) {} - - TestImplInh(int, int, int, int, int, int): - ImplInheritanceHelper2< TestWeakImpl, H, I >(1, 2, 3, 4, 5, 6) {} - - virtual ~TestImplInh() - { OSL_TRACE( "> TestWeakImplInh dtor called... <\n" ); } - - // H - virtual OUString SAL_CALL h() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("h") ); } - // I - virtual OUString SAL_CALL i() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("i") ); } -}; - -//================================================================================================== -struct TestAggImplInh : public AggImplInheritanceHelper2< TestWeakAggImpl, H, I > -{ - virtual ~TestAggImplInh() - { OSL_TRACE( "> TestAggImplInh dtor called... <\n" ); } - - // H - virtual OUString SAL_CALL h() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("h2") ); } - // I - virtual OUString SAL_CALL i() throw(RuntimeException) - { return OUString( RTL_CONSTASCII_USTRINGPARAM("i2") ); } -}; - - -static bool isIn( Sequence< Type > const & rTypes, char const * name ) -{ - OUString str( OUString::createFromAscii( name ) ); - Type const * pTypes = rTypes.getConstArray(); - for ( sal_Int32 nPos = rTypes.getLength(); nPos--; ) - { - if (pTypes[ nPos ].getTypeName().equals( str )) - return true; - } - return false; -} - -//================================================================================================== -static void dotest( const Reference< XInterface > & xOriginal ) -{ - Reference< lang::XTypeProvider > xTP( xOriginal, UNO_QUERY ); - Sequence< sal_Int8 > id( xTP->getImplementationId() ); - Sequence< Type > types( xTP->getTypes() ); - ::fprintf( stderr, "> supported types: " ); - long n = 0; - for ( ; n < types.getLength(); ++n ) - { - OString str( OUStringToOString( types[ n ].getTypeName(), RTL_TEXTENCODING_ASCII_US ) ); - ::fprintf( stderr, (n < (types.getLength()-1)) ? "%s, " : "%s; type-id=\n", str.getStr() ); - } - for ( n = 0; n < 16; ++n ) - { - ::fprintf( stderr, n < 15 ? "%x " : "%x \n", id[ n ] ); - } - - Reference< A > xa( xOriginal, UNO_QUERY ); - OSL_ENSURE( xa->a().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("a") ), "### A failed!" ); - Reference< BA > xba( xa, UNO_QUERY ); - OSL_ENSURE( xba->ba().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("ba") ), "### BA failed!" ); - OSL_ENSURE( xba->a().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("a") ), "### BA failed!" ); - Reference< CA > xca( xba, UNO_QUERY ); - OSL_ENSURE( xca->ca().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("ca") ), "### CA failed!" ); - OSL_ENSURE( xca->a().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("a") ), "### CA failed!" ); - Reference< DBA > xdba( xca, UNO_QUERY ); - OSL_ENSURE( xdba->dba().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("dba") ), "### DBA failed!" ); - OSL_ENSURE( xdba->ba().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("ba") ), "### DBA failed!" ); - OSL_ENSURE( xdba->a().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("a") ), "### DBA failed!" ); - Reference< E > xe( xdba, UNO_QUERY ); - OSL_ENSURE( xe->e().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("e") ), "### E failed!" ); - Reference< FE > xfe( xe, UNO_QUERY ); - OSL_ENSURE( xfe->fe().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("fe") ), "### FE failed!" ); - Reference< G > xg( xfe, UNO_QUERY ); - OSL_ENSURE( xg->g().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("g") ), "### G failed!" ); - OSL_ENSURE( xg->a().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("a") ), "### G failed!" ); - - // type provider - Reference< lang::XTypeProvider > xProv( xg, UNO_QUERY ); - Sequence< Type > aTypes( xProv->getTypes() ); - - // CA, DBA, FE, G, XTypeProvider - OSL_ASSERT( isIn( aTypes, "test.CA" ) ); - OSL_ASSERT( isIn( aTypes, "test.DBA" ) ); - OSL_ASSERT( isIn( aTypes, "test.FE") ); - OSL_ASSERT( isIn( aTypes, "test.G") ); - OSL_ASSERT( isIn( aTypes, "com.sun.star.lang.XTypeProvider") ); - - Reference< XWeak > xWeak( xg, UNO_QUERY ); - if (xWeak.is()) - { - OSL_ASSERT( isIn( aTypes, "com.sun.star.uno.XWeak") ); - } - Reference< lang::XComponent > xComp( xg, UNO_QUERY ); - if (xComp.is()) - { - OSL_ASSERT( isIn( aTypes, "com.sun.star.lang.XComponent") ); - } - - Reference< XAggregation > xAgg( xg, UNO_QUERY ); - if (xAgg.is()) - { - OSL_ASSERT( isIn( aTypes, "com.sun.star.uno.XAggregation") ); - } - Reference< H > xH( xg, UNO_QUERY ); - if (xH.is()) - { - OSL_ASSERT( isIn( aTypes, "test.H") ); - } - Reference< I > xI( xg, UNO_QUERY ); - if (xI.is()) - { - OSL_ASSERT( isIn( aTypes, "test.I") ); - } - - OSL_ENSURE( xg == xOriginal, "### root!" ); -} - -void rethrow() -{ - throw; -} - -void throw_one( - lang::IllegalAccessException exc ) -{ - try - { - throw exc; - } - catch (...) - { - rethrow(); - } -} - - -//================================================================================================== -void test_ImplHelper( const Reference< lang::XMultiServiceFactory > & /*xSF*/ ) -{ - Reference< XInterface > xImpl( (lang::XTypeProvider *)new TestImpl() ); - Reference< lang::XTypeProvider > xTP1( xImpl, UNO_QUERY ); - Reference< XInterface > xWeakImpl( (OWeakObject *)new TestWeakImpl() ); - Reference< lang::XTypeProvider > xTP2( xWeakImpl, UNO_QUERY ); - Reference< XInterface > xWeakAggImpl( (OWeakObject *)new TestWeakAggImpl() ); - Reference< lang::XTypeProvider > xTP3( xWeakAggImpl, UNO_QUERY ); - Reference< XInterface > xWeakComponentImpl( (OWeakObject *)new TestWeakComponentImpl() ); - Reference< lang::XTypeProvider > xTP4( xWeakComponentImpl, UNO_QUERY ); - Reference< XInterface > xWeakAggComponentImpl( (OWeakObject *)new TestWeakAggComponentImpl() ); - Reference< lang::XTypeProvider > xTP5( xWeakAggComponentImpl, UNO_QUERY ); - // - OSL_ASSERT( - xTP1->getImplementationId() != xTP2->getImplementationId() && - xTP1->getImplementationId() != xTP3->getImplementationId() && - xTP1->getImplementationId() != xTP4->getImplementationId() && - xTP1->getImplementationId() != xTP5->getImplementationId() && - xTP2->getImplementationId() != xTP3->getImplementationId() && - xTP2->getImplementationId() != xTP4->getImplementationId() && - xTP2->getImplementationId() != xTP5->getImplementationId() && - xTP3->getImplementationId() != xTP4->getImplementationId() && - xTP3->getImplementationId() != xTP5->getImplementationId() && - xTP4->getImplementationId() != xTP5->getImplementationId() ); - // - - dotest( xImpl ); - dotest( xWeakImpl ); - dotest( xWeakAggImpl ); - dotest( xWeakComponentImpl ); - dotest( xWeakAggComponentImpl ); - - xWeakImpl = (OWeakObject *)new TestImplInh(); - Reference< lang::XTypeProvider > xTP6( xWeakImpl, UNO_QUERY ); - dotest( xWeakImpl ); - Reference< H > xH( xWeakImpl, UNO_QUERY ); - Reference< I > xI( xH, UNO_QUERY ); - OSL_ASSERT( xH->h().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("h") ) ); - OSL_ASSERT( xI->i().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("i") ) ); - - xWeakAggImpl = (OWeakObject *)new TestAggImplInh(); - Reference< lang::XTypeProvider > xTP7( xWeakAggImpl, UNO_QUERY ); - dotest( xWeakAggImpl ); - xH.set( xWeakAggImpl, UNO_QUERY ); - xI.set( xH, UNO_QUERY ); - OSL_ASSERT( xH->h().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("h2") ) ); - OSL_ASSERT( xI->i().equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("i2") ) ); - - // - OSL_ASSERT( - xTP6->getImplementationId() != xTP1->getImplementationId() && - xTP6->getImplementationId() != xTP2->getImplementationId() && - xTP6->getImplementationId() != xTP3->getImplementationId() && - xTP6->getImplementationId() != xTP4->getImplementationId() && - xTP6->getImplementationId() != xTP5->getImplementationId() && - xTP6->getImplementationId() != xTP7->getImplementationId() && - xTP7->getImplementationId() != xTP1->getImplementationId() && - xTP7->getImplementationId() != xTP2->getImplementationId() && - xTP7->getImplementationId() != xTP3->getImplementationId() && - xTP7->getImplementationId() != xTP4->getImplementationId() && - xTP7->getImplementationId() != xTP5->getImplementationId() ); - // - - bool exc_succ = false; - lang::IllegalAccessException exc( - OUString( RTL_CONSTASCII_USTRINGPARAM("testtest") ), - xWeakAggImpl ); - // exception helper tests - try - { - throw exc; - } - catch (Exception &) - { - Any a( getCaughtException() ); - OSL_ASSERT( a == exc ); - - try - { - throwException( a ); - } - catch (lang::IllegalAccessException & e) - { - OSL_ASSERT( exc.Message == e.Message && exc.Context == e.Context ); - - try - { - throw_one( exc ); - } - catch (Exception &) - { - Any a2( getCaughtException() ); - OSL_ASSERT( (a2 == a) && (a2 == exc) ); - - try - { - throw_one( exc ); - } - catch (lang::IllegalAccessException &) - { - Any a3( getCaughtException() ); - OSL_ASSERT( (a3 == a) && (a3 == a2) && (a3 == exc) ); - exc_succ = true; - } - } - } - } - OSL_ASSERT( exc_succ ); - - try - { - throwException( makeAny( RuntimeException( - OUString( RTL_CONSTASCII_USTRINGPARAM("runtime exc") ), xImpl ) ) ); - } - catch (RuntimeException & rExc) - { - OSL_ENSURE( rExc.Message.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("runtime exc") ) && rExc.Context == xImpl, - "### unexpected exception content!" ); - try - { - throwException( makeAny( Exception( - OUString( RTL_CONSTASCII_USTRINGPARAM("exc") ), rExc.Context ) ) ); - } - catch (lang::IllegalAccessException &) - { - OSL_FAIL( "### unexpected IllegalAccessException exception caught!" ); - } - catch (Exception & rExc2) - { - OSL_ENSURE( rExc2.Message.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("exc") ) && rExc2.Context == xImpl, - "### unexpected exception content!" ); - try - { - throwException( makeAny( lang::IllegalAccessException( - OUString( RTL_CONSTASCII_USTRINGPARAM("axxess exc") ), rExc2.Context ) ) ); - } - catch (lang::IllegalAccessException & rExc3) - { - OSL_ENSURE( rExc3.Message.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM("axxess exc") ) && rExc3.Context == xImpl, - "### unexpected exception content!" ); - return; - } - } - } - catch (...) - { - } - OSL_FAIL( "### exception test failed!" ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testlib/UNO.pm b/cppuhelper/test/testlib/UNO.pm deleted file mode 100644 index 0bc7b27fc..000000000 --- a/cppuhelper/test/testlib/UNO.pm +++ /dev/null @@ -1,68 +0,0 @@ -package UNO; - -require 5.005_62; -use strict; -use warnings; - -require Exporter; -require DynaLoader; - -our @ISA = qw(Exporter DynaLoader); - -# Items to export into callers namespace by default. Note: do not export -# names by default without a very good reason. Use EXPORT_OK instead. -# Do not simply export all your public functions/methods/constants. - -# This allows declaration use UNO ':all'; -# If you do not need this, moving things directly into @EXPORT or @EXPORT_OK -# will save memory. -our %EXPORT_TAGS = ( 'all' => [ qw( - -) ] ); - -our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } ); - -our @EXPORT = qw( - -); -our $VERSION = '0.01'; - -bootstrap UNO $VERSION; - -# Preloaded methods go here. - -1; -__END__ -# Below is stub documentation for your module. You better edit it! - -=head1 NAME - -UNO - Perl extension for blah blah blah - -=head1 SYNOPSIS - - use UNO; - blah blah blah - -=head1 DESCRIPTION - -Stub documentation for UNO, created by h2xs. It looks like the -author of the extension was negligent enough to leave the stub -unedited. - -Blah blah blah. - -=head2 EXPORT - -None by default. - - -=head1 AUTHOR - -A. U. Thor, a.u.thor@a.galaxy.far.far.away - -=head1 SEE ALSO - -perl(1). - -=cut diff --git a/cppuhelper/test/testlib/defbootstrap.map b/cppuhelper/test/testlib/defbootstrap.map deleted file mode 100755 index 2293d819d..000000000 --- a/cppuhelper/test/testlib/defbootstrap.map +++ /dev/null @@ -1,8 +0,0 @@ -UDK_3_0_0 { - global: - - boot_UNO; - - local: - *; -}; diff --git a/cppuhelper/test/testlib/defbootstrap_lib.cxx b/cppuhelper/test/testlib/defbootstrap_lib.cxx deleted file mode 100644 index 22a4c5d86..000000000 --- a/cppuhelper/test/testlib/defbootstrap_lib.cxx +++ /dev/null @@ -1,120 +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_cppuhelper.hxx" - -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -#include <cstdio> - -#include <osl/module.hxx> -#include <rtl/process.h> -#include <cppuhelper/bootstrap.hxx> - -#include <com/sun/star/lang/XMultiServiceFactory.hpp> - -using namespace ::cppu; -using namespace ::com::sun::star::lang; -using namespace ::com::sun::star::uno; -using namespace ::rtl; - -static sal_Bool tryService(const char * serviceName) -{ - // use micro deployment to create initial context - OUString libraryFileUrl; - ::osl::Module::getUrlFromAddress((void *)tryService, libraryFileUrl); - - OUString iniName = libraryFileUrl.copy(0, libraryFileUrl.lastIndexOf((sal_Unicode)'.')); // cut the library extension - iniName += OUString(RTL_CONSTASCII_USTRINGPARAM(SAL_CONFIGFILE(""))); // add the rc file extension - -#if OSL_DEBUG_LEVEL > 1 - OString sIniName = OUStringToOString(iniName, RTL_TEXTENCODING_ASCII_US); - fprintf(stderr, "defbootstrap.cxx:tryService: using ini: %s\n", sIniName.getStr()); -#endif - - sal_Bool result = sal_True; - - try { - Reference<XComponentContext> xComponentContext = defaultBootstrap_InitialComponentContext(iniName); - Reference<XMultiServiceFactory> smgr(xComponentContext->getServiceManager(), UNO_QUERY); - - OUString arg = OUString::createFromAscii(serviceName); - Reference<XInterface> xInterface = smgr->createInstance(arg); - -#if OSL_DEBUG_LEVEL > 1 - fprintf(stderr, "got the %s service %p\n", serviceName, xInterface.get()); -#endif - result = result && (xInterface.get() != 0); - } - catch(Exception & exception) { - OString message = OUStringToOString(exception.Message, RTL_TEXTENCODING_ASCII_US); - - fprintf(stderr, "an exception occurred: %s\n", message.getStr()); - } - -#if OSL_DEBUG_LEVEL > 1 - OSL_TRACE("---------------------------------- %i", result); -#endif - - return result; -} - -XS(XS_UNO_tryService) -{ - dXSARGS; - if (items != 1) - Perl_croak(aTHX_ "Usage: UNO::tryService(input)"); - { - const char * input = (const char *)SvPV(ST(0),PL_na); - int RETVAL; - dXSTARG; - - RETVAL = tryService(input); - XSprePUSH; PUSHi((IV)RETVAL); - } - XSRETURN(1); -} - -extern "C" { -XS(boot_UNO) -{ - dXSARGS; - char* file = __FILE__; - -/* XS_VERSION_BOOTCHECK ;*/ - - newXS("UNO::tryService", XS_UNO_tryService, file); - XSRETURN_YES; -} - -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testlib/makefile.mk b/cppuhelper/test/testlib/makefile.mk deleted file mode 100755 index b53f6ebab..000000000 --- a/cppuhelper/test/testlib/makefile.mk +++ /dev/null @@ -1,101 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -LINKFLAGSDEFS="" - -PRJ=..$/.. - -PRJNAME=cppuhelper -TARGET=defbootstrap -ENABLE_EXCEPTIONS=TRUE - -# --- Settings ----------------------------------------------------- - -.INCLUDE : settings.mk - -PERLINST1:=$(shell @+$(PERL) -V:installarchlib) -PERLINST2:=$(subst,installarchlib=, $(PERLINST1)) -PERLINST3:=$(PERLINST2:s/'//) -PERLINST :=$(PERLINST3:s/;//) - -PERLLIBS:=$(PERLINST)$/CORE -PERLINCS:=$(PERLINST)$/CORE - -CFLAGS += -I$(PERLINCS) - -.IF "$(GUI)"=="WNT" -PERLLIB=perl58.lib - -LIB!:=$(LIB);$(PERLLIBS) -.EXPORT : LIB - -.ENDIF - -# --- Files -------------------------------------------------------- - -SLOFILES= $(SLO)$/defbootstrap_lib.obj - -SHL1TARGET=$(TARGET) - -SHL1STDLIBS= \ - $(PERLLIB) \ - $(CPPUHELPERLIB) \ - $(CPPULIB) \ - $(SALLIB) - -SHL1DEPN= -SHL1IMPLIB=i$(TARGET) -SHL1LIBS=$(SLB)$/$(TARGET).lib -SHL1DEF=$(MISC)$/$(SHL1TARGET).def - -DEF1NAME=$(SHL1TARGET) -SHL1VERSIONMAP=defbootstrap.map - - -.IF "$(GUI)"=="WNT" -UNODLL=$(DLLDEST)$/UNO.dll -.ELSE -UNODLL=$(DLLDEST)$/UNO.so -.ENDIF - -# --- Targets ------------------------------------------------------ - -.IF "$(depend)" == "" -ALL: \ - ALLTAR \ - $(UNODLL) \ - $(BIN)$/UNO.pm -.ENDIF - -$(BIN)$/UNO.pm: UNO.pm - cp UNO.pm $@ - -$(UNODLL): $(SHL1TARGETN) - cp $(SHL1TARGETN) $@ - -.INCLUDE : target.mk - diff --git a/cppuhelper/test/testpropshlp.cxx b/cppuhelper/test/testpropshlp.cxx deleted file mode 100644 index 63b9f4a07..000000000 --- a/cppuhelper/test/testpropshlp.cxx +++ /dev/null @@ -1,1184 +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. - * - ************************************************************************/ - -#if !defined(OSL_DEBUG_LEVEL) || OSL_DEBUG_LEVEL == 0 -# undef OSL_DEBUG_LEVEL -# define OSL_DEBUG_LEVEL 2 -#endif - - -// MARKER(update_precomp.py): autogen include statement, do not remove -#include "precompiled_cppuhelper.hxx" -#include <osl/mutex.hxx> -#include <osl/diagnose.h> - -#include <cppuhelper/propshlp.hxx> -#include <cppuhelper/weak.hxx> - -#include <cppuhelper/proptypehlp.hxx> - -#include <com/sun/star/uno/Any.hxx> -#include <com/sun/star/beans/PropertyAttribute.hpp> - -#include <cppuhelper/implbase3.hxx> - -using namespace ::cppu; -using namespace ::rtl; -using namespace ::osl; -using namespace ::com::sun::star::uno; -using namespace ::com::sun::star::beans; -using namespace ::com::sun::star::lang; - - - -/********************** -* -**********************/ -static Property * getPropertyTable1() -{ - static Property *pTable = 0; - - if( ! pTable ) { - MutexGuard guard( Mutex::getGlobalMutex() ); - if( ! pTable ) { - static Property aTable[] = - { - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("a") ), 0, getCppuType( (OUString *)0) , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), //OUString - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("b") ), 1, getCppuCharType( ) , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), //Char - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("c") ), 2, getCppuType( (sal_Int32*)0) , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), //sal_Int32 - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("d") ), 5, getCppuType( (double*)0) , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), //double - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("e") ), 7, getCppuBooleanType() , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), //BOOL - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("f") ), 8, getCppuType( (Any*)0) , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ) //Any - }; - pTable = aTable; - } - } - return pTable; -} - - -static Property * getPropertyTable2() -{ - static Property *pTable = 0; - - if( ! pTable ) { - MutexGuard guard( ::osl::Mutex::getGlobalMutex() ); - if( ! pTable ) { - static Property aTable[] = - { - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("f") ), 8, getCppuType( (Any *)0) , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), // Any - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("b") ), 1, getCppuCharType( ), - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), // Char - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("a") ), 0, getCppuType( (OUString*)0), - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), // OUString - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("d") ), 5, getCppuType( (double*)0) , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), // Double - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("c") ), 2, getCppuType( (sal_Int32*)0), - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), // sal_Int32 - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("e") ), 7, getCppuBooleanType() , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ) // Bool - }; - pTable = aTable; - } - } - return pTable; -} - -static Property * getPropertyTable3() -{ - static Property *pTable = 0; - - if( ! pTable ) { - MutexGuard guard( ::osl::Mutex::getGlobalMutex() ); - if( ! pTable ) { - static Property aTable[] = - { - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("b") ), 1, getCppuCharType( ), - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), // Char - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("f") ), 8, getCppuType( (Any *)0) , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), // any - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("a") ), 0, getCppuType( (OUString*)0), - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ) // OUString - }; - pTable = aTable; - } - } - return pTable; -} - - -static Property * getPropertyTable4() -{ - static Property *pTable = 0; - - if( ! pTable ) { - MutexGuard guard( ::osl::Mutex::getGlobalMutex() ); - if( ! pTable ) { - static Property aTable[] = - { - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("a") ), 0, getCppuType( (OUString*)0), - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), // OUString - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("b") ), 1, getCppuCharType( ), - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ), // Char - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("f") ), 2, getCppuType( (Any *)0) , - PropertyAttribute::READONLY | PropertyAttribute::MAYBEVOID ) // Any - }; - pTable = aTable; - } - } - return pTable; -} - - - -/********************** -* -* Note : all Property names must be in the 127 ASCII subset ! -* -**********************/ - - -void test_PropertyArrayHelper() -{ - // Test getProperties() and getCount() - { - OPropertyArrayHelper a1( getPropertyTable1(), 6 ); - OSL_ENSURE( 6 == a1.getCount(), "not all properties inserted" ); - Sequence< Property > aProps = a1.getProperties(); - Property * pP = aProps.getArray(); - OSL_ENSURE( 6 == aProps.getLength(), "getProperties() gives not all properties" ); - for( int i = 0; i < 6; i++ ) - { - OSL_ENSURE( pP[i].Name == getPropertyTable1()[i].Name , "Name not correct" ); - OSL_ENSURE( pP[i].Handle == getPropertyTable1()[i].Handle, "Handle not correct" ); - OSL_ENSURE( pP[i].Attributes == getPropertyTable1()[i].Attributes, "Attributes not correct" ); - OSL_ENSURE( pP[i].Type == getPropertyTable1()[i].Type, "Type not correct" ); - } - } - - // Test sorting - { - OPropertyArrayHelper a1( getPropertyTable2(), 6, sal_False ); - Sequence< Property > aProps = a1.getProperties(); - Property * pP = aProps.getArray(); - OSL_ENSURE( 6 == aProps.getLength(), "getProperties() gives not all properties" ); - - // table to switch to sorted - int a[] = { 2 , 1 , 4, 3, 5, 0 }; - for( int i = 0; i < 6; i++ ) - { - OSL_ENSURE( pP[i].Name == getPropertyTable2()[a[i]].Name , "Name not correct" ); - OSL_ENSURE( pP[i].Handle == getPropertyTable2()[a[i]].Handle, "Handle not correct" ); - OSL_ENSURE( pP[i].Attributes == getPropertyTable2()[a[i]].Attributes, "Attributes not correct" ); - OSL_ENSURE( pP[i].Type == getPropertyTable2()[a[i]].Type, "Type not correct" ); - } - } - - // Test sorting - { - OPropertyArrayHelper a1( getPropertyTable3(), 3, sal_False ); - Sequence< Property > aProps = a1.getProperties(); - Property * pP = aProps.getArray(); - OSL_ENSURE( 3 == aProps.getLength(), "getProperties() gives not all properties" ); - // table to switch to sorted - int a[] = { 2 , 0 , 1 }; - for( int i = 0; i < 3; i++ ) - { - OSL_ENSURE( pP[i].Name == getPropertyTable3()[a[i]].Name , "Name not correct" ); - OSL_ENSURE( pP[i].Handle == getPropertyTable3()[a[i]].Handle, "Handle not correct" ); - OSL_ENSURE( pP[i].Attributes == getPropertyTable3()[a[i]].Attributes, "Attributes not correct" ); - OSL_ENSURE( pP[i].Type == getPropertyTable3()[a[i]].Type, "Type not correct" ); - } - } - - // Test getPropertyByName and hasPropertyByName - { - OPropertyArrayHelper a1( getPropertyTable1(), 6 ); - for( int i = 0; i < 6; i++ ) - { - OSL_ENSURE( a1.hasPropertyByName( getPropertyTable1()[i].Name ), "hasPropertyByName not correct" ); - Property aP = a1.getPropertyByName( getPropertyTable1()[i].Name ); - OSL_ENSURE( aP.Name == getPropertyTable1()[i].Name , "Name not correct" ); - OSL_ENSURE( aP.Handle == getPropertyTable1()[i].Handle, "Handle not correct" ); - OSL_ENSURE( aP.Attributes == getPropertyTable1()[i].Attributes, "Attributes not correct" ); - OSL_ENSURE( aP.Type == getPropertyTable1()[i].Type, "Type not correct" ); - } - - OSL_ENSURE( !a1.hasPropertyByName( OUString( RTL_CONSTASCII_USTRINGPARAM("never exist") ) ), "hasPropertyByName not correct" ); - try - { - a1.getPropertyByName( OUString( RTL_CONSTASCII_USTRINGPARAM("never exist") ) ); - OSL_FAIL( "exeption not thrown" ); - } - catch( UnknownPropertyException & ) - { - } - } - - // Test getHandleByName - { - OPropertyArrayHelper a1( getPropertyTable1(), 6 ); - for( int i = 0; i < 6; i++ ) - { - sal_Int32 Handle = a1.getHandleByName( getPropertyTable1()[i].Name ); - OSL_ENSURE( Handle == getPropertyTable1()[i].Handle, "Handle not correct" ); - } - sal_Int32 Handle = a1.getHandleByName( OUString( RTL_CONSTASCII_USTRINGPARAM("asdaf") ) ); - OSL_ENSURE( Handle == -1, "Handle not correct" ); - } - - // Test fillPropertyMembersByHandle - { - OPropertyArrayHelper a1( getPropertyTable1(), 6 ); - int i; - for( i = 0; i < 6; i++ ) - { - sal_Int16 nAttributes; - OUString aPropName; - sal_Bool b = a1.fillPropertyMembersByHandle( &aPropName, &nAttributes, getPropertyTable1()[i].Handle ); - OSL_ENSURE( b, "fillPropertyMembersByHandle: handle not found" ); - OSL_ENSURE( nAttributes == getPropertyTable1()[i].Attributes, "fillPropertyMembersByHandle: Attributes not correct" ); - OSL_ENSURE( aPropName == getPropertyTable1()[i].Name , "fillPropertyMembersByHandle: Name not correct" ); - } - OSL_ENSURE( !a1.fillPropertyMembersByHandle( NULL, NULL, 66666 ), "fillPropertyMembersByHandle: handle found" ); - // optimized table - OPropertyArrayHelper a4( getPropertyTable4(), 3 ); - for( i = 0; i < 3; i++ ) - { - sal_Int16 nAttributes; - OUString aPropName; - sal_Bool b = a1.fillPropertyMembersByHandle( &aPropName, &nAttributes, getPropertyTable4()[i].Handle ); - OSL_ENSURE( b, "fillPropertyMembersByHandle: handle not found" ); - OSL_ENSURE( nAttributes == getPropertyTable1()[i].Attributes, "fillPropertyMembersByHandle: Attributes not correct" ); - OSL_ENSURE( aPropName == getPropertyTable1()[i].Name , "fillPropertyMembersByHandle: Name not correct" ); - } - OSL_ENSURE( !a4.fillPropertyMembersByHandle( NULL, NULL, 66666 ), "fillPropertyMembersByHandle: handle found" ); - } - - // Test fillHandles - { - OPropertyArrayHelper a1( getPropertyTable1(), 6 ); - Sequence< OUString > aS( 4 ); - sal_Int32 Handles[4]; - // muss sortiert sein - aS.getArray()[0] = OUString( RTL_CONSTASCII_USTRINGPARAM("a") ); - aS.getArray()[1] = OUString( RTL_CONSTASCII_USTRINGPARAM("d") ); - aS.getArray()[2] = OUString( RTL_CONSTASCII_USTRINGPARAM("f") ); - aS.getArray()[3] = OUString( RTL_CONSTASCII_USTRINGPARAM("t") ); - sal_Int32 nHitCount = a1.fillHandles( Handles, aS ); - OSL_ENSURE( nHitCount == 3, "wrong number of hits " ); - OSL_ENSURE( Handles[0] == getPropertyTable1()[0].Handle, "Handle not correct" ); - OSL_ENSURE( Handles[1] == getPropertyTable1()[3].Handle, "Handle not correct" ); - OSL_ENSURE( Handles[2] == getPropertyTable1()[5].Handle, "Handle not correct" ); - OSL_ENSURE( Handles[3] == -1, "Handle not correct" ); - } -} - - - - -//---------------------------------------------------- -// test_OPropertySetHelper -//---------------------------------------------------- -struct MutexContainer -{ - Mutex aMutex; -}; -class test_OPropertySetHelper : - public MutexContainer, - public OBroadcastHelper , - public OPropertySetHelper, - public OWeakObject -{ -public: - - test_OPropertySetHelper( Property * p, sal_Int32 n ) - : MutexContainer() - , OBroadcastHelper( ((MutexContainer *)this)->aMutex ) -// , OPropertySetHelper( *SAL_STATIC_CAST(OBroadcastHelper *,this)) - // MSCI 4 bug ! : - // OBroadcastHelper == OBroadcastHelperVar<OMultiTypeInterfaceContainerHelper> - , OPropertySetHelper( - *SAL_STATIC_CAST(OBroadcastHelper *,this)) - , bBOOL( sal_False ) - , nINT16( 0 ) - , nINT32( 0 ) - , pBasicProps( p ) - , nPropCount( n ) - { - } - - - ~test_OPropertySetHelper() - { - } - - void dispose() - { - // see comphlp.cxx - sal_Bool bDoDispose = sal_False; - { - MutexGuard aGuard( rBHelper.rMutex ); - if( !rBHelper.bDisposed && !rBHelper.bInDispose ) - { - rBHelper.bInDispose = sal_True; - bDoDispose = sal_True; - } - } - if( bDoDispose ) - { - disposing(); - EventObject aEvt; - aEvt.Source = Reference < XInterface > ( SAL_STATIC_CAST( OWeakObject * ,this) ); - - rBHelper.aLC.disposeAndClear( aEvt ); - rBHelper.bDisposed = sal_True; - rBHelper.bInDispose = sal_False; - } - } - - // XInterface - Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type & rType ) throw(RuntimeException) - { - Any aRet( OPropertySetHelper::queryInterface( rType ) ); - return (aRet.hasValue() ? aRet : OWeakObject::queryInterface( rType )); - } - void SAL_CALL acquire() throw() - { OWeakObject::acquire(); } - void SAL_CALL release() throw() - { OWeakObject::release(); } - - // XPropertySet - Reference < XPropertySetInfo > SAL_CALL getPropertySetInfo()throw(RuntimeException); - - using OPropertySetHelper::getFastPropertyValue; - - sal_Bool bBOOL; - sal_Int16 nINT16; - sal_Int32 nINT32; - Property * pBasicProps; - sal_Int32 nPropCount; -protected: - IPropertyArrayHelper & SAL_CALL getInfoHelper() throw(RuntimeException); - sal_Bool SAL_CALL convertFastPropertyValue( - Any & rConvertedValue, Any & rOldValue, - sal_Int32 nHandle, const Any& rValue ) - throw(IllegalArgumentException); - void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const Any& rValue ) throw(RuntimeException); - void SAL_CALL getFastPropertyValue( Any& rValue, sal_Int32 nHandle ) const throw(RuntimeException); -}; - -//---------------------------------------------------------------------- -//------ The Properties of this implementation ------------------------- -//---------------------------------------------------------------------- -// Id must be the index into the array -#define PROPERTY_BOOL 0 -#define PROPERTY_INT16 1 -#define PROPERTY_INT32 2 - -// Max number of properties -#define PROPERTY_COUNT 4 -// Names of Properties -/** - * All Properties of this implementation. Must be sorted by name. - */ -Property * getBasicProps() -{ - static Property *pTable = 0; - - if( ! pTable ) { - MutexGuard guard( ::osl::Mutex::getGlobalMutex() ); - if( ! pTable ) { - - static Property aBasicProps[PROPERTY_COUNT] = - { - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ) , PROPERTY_BOOL , getCppuBooleanType(), PropertyAttribute::READONLY ), - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ) , PROPERTY_INT16, - getCppuType( (sal_Int16*)0 ), PropertyAttribute::BOUND | PropertyAttribute::CONSTRAINED ), - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ) , PROPERTY_INT32, getCppuType( (sal_Int32*)0 ), PropertyAttribute::BOUND ), - Property( OUString( RTL_CONSTASCII_USTRINGPARAM("TEST") ) , 55 , getCppuType( (sal_Int32*)0), PropertyAttribute::BOUND ) - }; - pTable = aBasicProps; - } - } - return pTable; -} - - -//---------------------------------------------------- -// test_OPropertySetHelper_Listener -//---------------------------------------------------- -class test_OPropertySetHelper_Listener - : public WeakImplHelper3< XPropertyChangeListener, XPropertiesChangeListener, XVetoableChangeListener > -{ -public: - sal_Int32 nDisposing; - Mutex aMutex; - Any * pExceptedListenerValues; - sal_Int32 nCount; - sal_Int32 nCurrent; - - test_OPropertySetHelper_Listener( Any * p = 0, sal_Int32 n = 0 ) - : nDisposing( 0 ) - , pExceptedListenerValues( p ) - , nCount( n ) - , nCurrent( 0 ) - { - } - ~test_OPropertySetHelper_Listener() - { - } - - sal_Int32 getRefCount() const - { return m_refCount; } - - // XEventListener - void SAL_CALL disposing(const EventObject& /*evt*/) throw ( RuntimeException) - { - MutexGuard aGuard( aMutex ); - nDisposing++; - } - - // XPropertyChangeListener - void SAL_CALL propertyChange(const PropertyChangeEvent& evt) throw (RuntimeException) - { - if( !pExceptedListenerValues ) - return; - MutexGuard aGuard( aMutex ); - OSL_ENSURE( nCurrent +1 < nCount, "PropertySetHelper: too many listener calls" ); - - switch( evt.PropertyHandle ) - { - case PROPERTY_BOOL: - { - OSL_FAIL( "PropertySetHelper: BOOL cannot change" ); - OSL_ENSURE( evt.PropertyName == OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ), "PropertySetHelper: wrong name" ); - } - break; - - case PROPERTY_INT16: - { - OSL_ENSURE( evt.PropertyName == OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), "PropertySetHelper: wrong name" ); - - OSL_ENSURE( pExceptedListenerValues[nCurrent].getValueType().getTypeClass() == TypeClass_SHORT , - "PropertySetHelper: wrong data type" ); - - sal_Int16 nInt16(0), nOldInt16(0); - pExceptedListenerValues[nCurrent] >>= nInt16; - evt.OldValue >>= nOldInt16; - OSL_ENSURE( nInt16 == nOldInt16, "PropertySetHelper: wrong old value" ); - - - pExceptedListenerValues[nCurrent+1] >>= nInt16; - evt.NewValue >>= nOldInt16; - OSL_ENSURE( nInt16 == nOldInt16 , "PropertySetHelper: wrong new value" ); - } - break; - - case PROPERTY_INT32: - { - OSL_ENSURE( evt.PropertyName == OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ), "PropertySetHelper: wrong name" ); - - sal_Int32 nInt32(0),nOldInt32(0); - - pExceptedListenerValues[nCurrent] >>= nInt32; - evt.OldValue >>= nOldInt32; - OSL_ENSURE( nInt32 == nOldInt32 , "PropertySetHelper: wrong old value" ); - - pExceptedListenerValues[nCurrent+1] >>= nInt32; - evt.NewValue >>= nOldInt32; - OSL_ENSURE( nInt32 == nOldInt32 , "PropertySetHelper: wrong new value" ); - } - break; - - default: - OSL_FAIL( "XPropeSetHelper: invalid property handle" ); - } - nCurrent += 2; - } - - // XVetoableChangeListener - void SAL_CALL vetoableChange(const PropertyChangeEvent& evt) throw (PropertyVetoException, RuntimeException) - { - if( !pExceptedListenerValues ) - return; - MutexGuard aGuard( aMutex ); - OSL_ENSURE( nCurrent +1 < nCount, "PropertySetHelper: too many listener calls" ); - - switch( evt.PropertyHandle ) - { - case PROPERTY_BOOL: - { - OSL_FAIL( "PropertySetHelper: BOOL cannot change" ); - OSL_ENSURE( evt.PropertyName == OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ), "PropertySetHelper: wrong name" ); - } - break; - - case PROPERTY_INT16: - { - OSL_ENSURE( evt.PropertyName == OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), "PropertySetHelper: wrong name" ); - - sal_Int16 nInt16(0), nOldInt16(0); - pExceptedListenerValues[nCurrent] >>= nInt16; - evt.OldValue >>= nOldInt16; - - OSL_ENSURE( nInt16 == nOldInt16,"PropertySetHelper: wrong old value" ); - - pExceptedListenerValues[nCurrent+1] >>= nInt16; - evt.NewValue >>= nOldInt16; - OSL_ENSURE( nInt16 == nOldInt16 , "PropertySetHelper: wrong new value" ); - - if( nOldInt16 == 100 ) - { - nCurrent += 2; - throw PropertyVetoException(); - } - } - break; - - case PROPERTY_INT32: - { - OSL_ENSURE( evt.PropertyName == OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ), "PropertySetHelper: wrong name" ); - - sal_Int32 nInt32(0),nOldInt32(0); - pExceptedListenerValues[nCurrent] >>= nInt32; - evt.OldValue >>= nOldInt32; - OSL_ENSURE( nInt32 == nOldInt32 , "PropertySetHelper: wrong old value" ); - - pExceptedListenerValues[nCurrent+1] >>= nInt32; - evt.NewValue >>= nOldInt32; - OSL_ENSURE( nInt32 == nOldInt32 , "PropertySetHelper: wrong new value" ); - } - break; - - default: - OSL_FAIL( "XPropeSetHelper: invalid property handle" ); - } - nCurrent += 2; - } - - // XPropertiesChangeListener - void SAL_CALL propertiesChange(const Sequence< PropertyChangeEvent >& evtSeq) throw (RuntimeException) - { - if( !pExceptedListenerValues ) - return; - MutexGuard aGuard( aMutex ); - for( sal_Int32 i = 0; i < evtSeq.getLength(); i++ ) - { - const PropertyChangeEvent & evt = evtSeq.getConstArray()[i]; - OSL_ENSURE( nCurrent +1 < nCount, "PropertySetHelper: too many listener calls" ); - - switch( evt.PropertyHandle ) - { - case PROPERTY_BOOL: - { - OSL_FAIL( "PropertySetHelper: BOOL cannot change" ); - OSL_ENSURE( evt.PropertyName == OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ), "PropertySetHelper: wrong name" ); - } - break; - - case PROPERTY_INT16: - { - OSL_ENSURE( evt.PropertyName == OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), "PropertySetHelper: wrong name" ); - - sal_Int16 nInt16(0), nOldInt16(0); - pExceptedListenerValues[nCurrent] >>= nInt16; - evt.OldValue >>= nOldInt16; - OSL_ENSURE( nInt16 == nOldInt16 , "PropertySetHelper: wrong old value" ); - - - pExceptedListenerValues[nCurrent+1] >>= nInt16; - evt.NewValue >>= nOldInt16; - OSL_ENSURE( nInt16 == nOldInt16 , "PropertySetHelper: wrong new value" ); - } - break; - - case PROPERTY_INT32: - { - OSL_ENSURE( evt.PropertyName == OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ), "PropertySetHelper: wrong name" ); - - - sal_Int32 nInt32(0),nOldInt32(0); - pExceptedListenerValues[nCurrent] >>= nInt32; - evt.OldValue >>= nOldInt32; - OSL_ENSURE( nInt32 == nOldInt32 , "PropertySetHelper: wrong old value" ); - - pExceptedListenerValues[nCurrent+1] >>= nInt32; - evt.NewValue >>= nOldInt32; - OSL_ENSURE( nInt32 == nOldInt32 , "PropertySetHelper: wrong new value" ); - } - break; - - default: - OSL_FAIL( "XPropeSetHelper: invalid property handle" ); - } - nCurrent += 2; - } - } -}; - -/** - * Create a table that map names to index values. - */ -IPropertyArrayHelper & test_OPropertySetHelper::getInfoHelper() throw(RuntimeException) -{ - // no multi thread protection - static OPropertyArrayHelper aInfo( pBasicProps, nPropCount ); - return aInfo; -} - -// XPropertySet -Reference < XPropertySetInfo > test_OPropertySetHelper::getPropertySetInfo() - throw(RuntimeException) -{ - // no multi thread protection - static Reference < XPropertySetInfo > xInfo( createPropertySetInfo( getInfoHelper() ) ); - return xInfo; -} - -// Return sal_True, value changed -sal_Bool test_OPropertySetHelper::convertFastPropertyValue -( - Any & rConvertedValue, - Any & rOldValue, - sal_Int32 nHandle, - const Any& rValue -)throw(IllegalArgumentException) -{ - switch( nHandle ) - { - case PROPERTY_BOOL: - { - sal_Bool b; - convertPropertyValue( b , rValue ); - if( b != bBOOL ) - { - - rConvertedValue.setValue( &b , ::getCppuBooleanType() ); - rOldValue.setValue( & bBOOL , ::getCppuBooleanType() ); - return sal_True; - } - else - return sal_False; - } - - case PROPERTY_INT16: - { - sal_Int16 n16; - convertPropertyValue( n16 , rValue ); - - if( n16 != nINT16 ) - { - rConvertedValue <<= n16; - rOldValue <<= nINT16; - return sal_True; - } - else - return sal_False; - } - - case PROPERTY_INT32: - { - sal_Int32 n32; - convertPropertyValue( n32 , rValue ); - if( n32 != nINT32 ) - { - rConvertedValue <<= n32; - rOldValue <<= nINT32; - return sal_True; - } - else - return sal_False; - } - - default: - OSL_ENSURE( nHandle == -1, "invalid property handle" ); - return sal_False; - } -} - -/** - * only set the value. - */ -void test_OPropertySetHelper::setFastPropertyValue_NoBroadcast -( - sal_Int32 nHandle, - const Any& rValue -)throw(RuntimeException) -{ - switch( nHandle ) - { - case PROPERTY_BOOL: - OSL_ENSURE( rValue.getValueType().getTypeClass() == TypeClass_BOOLEAN, "invalid type" ); - bBOOL = *((sal_Bool*)rValue.getValue()); - break; - - case PROPERTY_INT16: - OSL_ENSURE( rValue.getValueType().getTypeClass() == TypeClass_SHORT, "invalid type" ); - rValue >>= nINT16; - break; - - case PROPERTY_INT32: - OSL_ENSURE( rValue.getValueType().getTypeClass() == TypeClass_LONG, "invalid type" ); - rValue >>= nINT32; - break; - - default: - OSL_ENSURE( nHandle == -1, "invalid property handle" ); - } -} - -//-------------------------- -void test_OPropertySetHelper::getFastPropertyValue( Any & rRet, sal_Int32 nHandle ) const - throw(RuntimeException) -{ - switch( nHandle ) - { - case PROPERTY_BOOL: - rRet.setValue( &bBOOL , getCppuBooleanType() ); - break; - - case PROPERTY_INT16: - rRet <<= nINT16; - break; - - case PROPERTY_INT32: - rRet <<= nINT32; - break; - - default: - OSL_ENSURE( nHandle == -1, "invalid property handle" ); - } -} - - -void test_PropertySetHelper() -{ - test_PropertyArrayHelper(); - - test_OPropertySetHelper * pPS; - - Reference < XPropertySet > xPS; - Reference < XPropertyChangeListener > xPS_L; - test_OPropertySetHelper_Listener * pPS_L; - - Reference < XInterface > x; - - for( int z = 0; z < 2; z++ ) - { - // first test aBasicProps Handles are { 0, 1, 2, 55 } - // first test getBasicProps() Handles are { 0, 1, 2 } - xPS = pPS = new test_OPropertySetHelper( getBasicProps(), PROPERTY_COUNT - z ); - xPS_L = static_cast< XPropertyChangeListener * >( pPS_L = new test_OPropertySetHelper_Listener() ); - - // Test queryInterface - Reference < XPropertySet > rProp( xPS , UNO_QUERY ); - OSL_ENSURE( rProp.is() , "PropertySetHelper: XPropertySet nor supported" ); - - Reference < XMultiPropertySet > rMulti( xPS , UNO_QUERY ); - OSL_ENSURE( rMulti.is() , "PropertySetHelper: XMultiPropertySet nor supported" ); - - Reference < XFastPropertySet > rFast( xPS , UNO_QUERY ); - OSL_ENSURE( rFast.is() , "PropertySetHelper: XFastPropertySet nor supported" ); - - x = Reference < XInterface > (); - - // Test add-remove listener - { - Reference < XPropertiesChangeListener > x1( xPS_L, UNO_QUERY ); - Reference < XVetoableChangeListener > x2( xPS_L, UNO_QUERY ); - - xPS->addPropertyChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), xPS_L ); - Sequence<OUString> szPN( 3 ); - szPN.getArray()[0] = OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ); - szPN.getArray()[1] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ); - szPN.getArray()[2] = OUString( RTL_CONSTASCII_USTRINGPARAM("Does not exist") ); // must ne ignored by the addPropertiesChangeListener method - pPS->addPropertiesChangeListener( szPN, x1 ); - - szPN = Sequence<OUString>(); - pPS->addPropertiesChangeListener( szPN, x1 ); - pPS->addVetoableChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), x2 ); - - xPS->removePropertyChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), xPS_L ); - pPS->removePropertiesChangeListener( x1 ); - pPS->removePropertiesChangeListener( x1 ); - pPS->removeVetoableChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), x2 ); - - // this exception must thrown - try - { - xPS->addPropertyChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("Does not exist") ), xPS_L ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( UnknownPropertyException & /*e*/ ) - { - - } - - try - { - xPS->addVetoableChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("Does not exist") ), x2 ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( UnknownPropertyException & /*e*/ ) - { - - } - - } - OSL_ENSURE( pPS_L->getRefCount() == 1, "PropertySetHelper: wrong reference count" ); - - // Test disposing - { - Reference < XPropertiesChangeListener > x1( xPS_L, UNO_QUERY ); - Reference < XVetoableChangeListener > x2( xPS_L, UNO_QUERY ); - - xPS->addPropertyChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), xPS_L ); - Sequence<OUString> szPN( 2 ); - szPN.getArray()[0] = OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ); - szPN.getArray()[1] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ); - pPS->addPropertiesChangeListener( szPN, x1 ); - szPN = Sequence<OUString>(); - pPS->addPropertiesChangeListener( szPN, x1 ); - pPS->addVetoableChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), x2 ); - pPS->dispose(); - } - OSL_ENSURE( pPS_L->nDisposing == 4 , "PropertySetHelper: wrong disposing count" ); - OSL_ENSURE( pPS_L->getRefCount() == 1 , "PropertySetHelper: wrong reference count" ); - pPS_L->nDisposing = 0; - xPS = pPS = new test_OPropertySetHelper( getBasicProps(), PROPERTY_COUNT - z ); - - // Test set- and get- (Fast) propertyValue - { - // set read only property - try - { - // Readonly raises a vetoable exception - sal_Bool b = sal_True; - Any aBool; - aBool.setValue( &b , getCppuBooleanType() ); - xPS->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ), aBool ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( PropertyVetoException & /*e*/ ) - { - } - - try - { - // Readonly raises a vetoable exception - sal_Bool b = sal_True; - Any aBool; - aBool.setValue( &b , getCppuBooleanType() ); - // BOOL i s0 - pPS->setFastPropertyValue( PROPERTY_BOOL, aBool ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( PropertyVetoException & /*e*/ ) - { - } - - // set unknown property - try - { - sal_Bool b = sal_True; - Any aBool; - aBool.setValue( &b , getCppuBooleanType() ); - xPS->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("Does not exist") ), aBool ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( UnknownPropertyException & /*e*/ ) - { - } - - try - { - sal_Bool b = sal_True; - Any aBool; - aBool.setValue( &b , getCppuBooleanType() ); - pPS->setFastPropertyValue( 3, aBool ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( UnknownPropertyException & /*e*/ ) - { - } - - // get unknown property - try - { - Any aBool; - aBool = xPS->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("Does not exist") ) ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( UnknownPropertyException & /*e*/ ) - { - } - - try - { - Any aBool; - aBool = ((XFastPropertySet *)pPS)->getFastPropertyValue( 3 ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( UnknownPropertyException & /*e*/ ) - { - } - - // set property with invalid type - try - { - Any aBool; - xPS->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ), aBool ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( IllegalArgumentException & /*e*/ ) - { - } - - try - { - Any aBool; - pPS->setFastPropertyValue( PROPERTY_INT32, aBool ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( IllegalArgumentException & /*e*/ ) - { - } - - // narrowing conversion is not allowed! - try - { - Any aINT32; - aINT32 <<= (sal_Int32 ) 16; - xPS->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), aINT32 ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( IllegalArgumentException & /*e*/ ) - { - } - - - try - { - Any aINT32; - aINT32 <<= (sal_Int32) 16; - pPS->setFastPropertyValue( PROPERTY_INT16, aINT32 ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( IllegalArgumentException & /*e*/ ) - { - } - - - Any aValue; - aValue = xPS->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ) ); - sal_Bool b = *( (sal_Bool*)aValue.getValue()); - OSL_ENSURE( ! b, "PropertySetHelper: wrong BOOL value" ); - aValue = ((XFastPropertySet *)pPS)->getFastPropertyValue( PROPERTY_BOOL ); - - b = *((sal_Bool*)aValue.getValue()); - OSL_ENSURE( !b, "PropertySetHelper: wrong BOOL value" ); - - sal_Int16 n16(0); - aValue <<=(sal_Int16)22; - xPS->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), aValue ); - aValue = xPS->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ) ); - aValue >>= n16; - OSL_ENSURE( 22 == n16 , "PropertySetHelper: wrong INT16 value" ); - aValue <<= (sal_Int16)44; - ((XFastPropertySet *)pPS)->setFastPropertyValue( PROPERTY_INT16, aValue ); - - aValue = ((XFastPropertySet *)pPS)->getFastPropertyValue( PROPERTY_INT16 ); - aValue >>= n16; - OSL_ENSURE( 44 == n16, "PropertySetHelper: wrong INT16 value" ); - - // widening conversion - aValue <<= (sal_Int16)55; - xPS->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ), aValue ); - aValue = xPS->getPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ) ); - sal_Int32 n32(0); - aValue >>= n32; - OSL_ENSURE( 55 == n32 , "PropertySetHelper: wrong INT32 value" ); - aValue <<= (sal_Int16)66; - ((XFastPropertySet *)pPS)->setFastPropertyValue( PROPERTY_INT32, aValue ); - aValue = ((XFastPropertySet *)pPS)->getFastPropertyValue( PROPERTY_INT32 ); - aValue >>= n32; - OSL_ENSURE( 66 == n32, "PropertySetHelper: wrong INT32 value" ); - - Sequence< OUString >valueNames = Sequence<OUString>( 3 ); - valueNames.getArray()[0] = OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ); - valueNames.getArray()[1] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ); - valueNames.getArray()[2] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ); - Sequence< Any > aValues = pPS->getPropertyValues( valueNames ); - - b = *((sal_Bool*)aValues.getConstArray()[0].getValue()); - aValues.getConstArray()[1] >>= n16; - aValues.getConstArray()[2] >>= n32; - - OSL_ENSURE( !b, "PropertySetHelper: wrong BOOL value" ); - OSL_ENSURE( 44 == n16, "PropertySetHelper: wrong INT16 value" ); - OSL_ENSURE( 66 == n32, "PropertySetHelper: wrong INT32 value" ); - } - pPS->nINT32 = 0; - pPS->nINT16 = 0; - - // Test add-remove listener - { - Reference < XVetoableChangeListener > x2( xPS_L, UNO_QUERY ); - - xPS->addPropertyChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), xPS_L ); - pPS->addVetoableChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), x2 ); - - pPS_L->nCount = 10; - Sequence< Any > aSeq( pPS_L->nCount ); - pPS_L->nCurrent = 0; - - pPS_L->pExceptedListenerValues = aSeq.getArray(); - - pPS_L->pExceptedListenerValues[0] <<= (sal_Int16) 0; // old value vetoable - pPS_L->pExceptedListenerValues[1] <<= (sal_Int16) 22; // new value vetoable - pPS_L->pExceptedListenerValues[2] <<= (sal_Int16) 0; // old value bound - pPS_L->pExceptedListenerValues[3] <<= (sal_Int16) 22; // new value bound - pPS_L->pExceptedListenerValues[4] <<= (sal_Int16) 22; // old value vetoable - pPS_L->pExceptedListenerValues[5] <<= (sal_Int16) 44; // new value vetoable - pPS_L->pExceptedListenerValues[6] <<= (sal_Int16) 22; // old value bound - pPS_L->pExceptedListenerValues[7] <<= (sal_Int16) 44; // new value bound - pPS_L->pExceptedListenerValues[8] <<= (sal_Int16) 44; // old value vetoable - pPS_L->pExceptedListenerValues[9] <<= (sal_Int16) 100; // new value vetoable exception - - Any aValue; - aValue <<= (sal_Int16)22; - xPS->setPropertyValue( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), aValue ); - aValue <<= (sal_Int16) 44; - ((XFastPropertySet *)pPS)->setFastPropertyValue( PROPERTY_INT16, aValue ); - aValue <<= (sal_Int16)100;// exception - - try - { - ((XFastPropertySet *)pPS)->setFastPropertyValue( PROPERTY_INT16, aValue ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch( PropertyVetoException & /*e*/ ) - { - } - - OSL_ENSURE( pPS_L->nCount == pPS_L->nCurrent, "not all listeners called" ); - pPS->nINT32 = 0; - pPS->nINT16 = 0; - pPS_L->nCount = 0; - pPS_L->nCurrent = 0; - pPS_L->pExceptedListenerValues = NULL; - xPS->removePropertyChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), xPS_L ); - pPS->removeVetoableChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), x2 ); - } - - // Test multi property set listener - { - Reference < XPropertiesChangeListener > x1( xPS_L, UNO_QUERY ); - Reference < XVetoableChangeListener > x2( xPS_L, UNO_QUERY ); - - pPS->addVetoableChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ) , x2 ); - Sequence<OUString> szPN( 4 ); - szPN.getArray()[0] = OUString( RTL_CONSTASCII_USTRINGPARAM("BOOL") ); - szPN.getArray()[1] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ); - szPN.getArray()[2] = OUString( RTL_CONSTASCII_USTRINGPARAM("Does not exist") ); // must ne ignored by the addPropertiesChangeListener method - szPN.getArray()[3] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ); - pPS->addPropertiesChangeListener( szPN, x1 ); - - pPS_L->nCount = 6; - Sequence< Any > aSeq( pPS_L->nCount ); - pPS_L->nCurrent = 0; - pPS_L->pExceptedListenerValues = aSeq.getArray(); - pPS_L->pExceptedListenerValues[0] <<= (sal_Int16) 0; // old value vetoable - pPS_L->pExceptedListenerValues[1] <<= (sal_Int16 ) 22; // new value vetoable - // INT32 is not constrained - pPS_L->pExceptedListenerValues[2] <<= (sal_Int16) 0; // old value bound - pPS_L->pExceptedListenerValues[3] <<= (sal_Int16) 22; // new value bound - pPS_L->pExceptedListenerValues[4] <<= (sal_Int32) 0; // old value bound - pPS_L->pExceptedListenerValues[5] <<= (sal_Int32) 44; // new value bound - - szPN = Sequence<OUString>( 2 ); - szPN.getArray()[0] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ); - szPN.getArray()[1] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT32") ); - Sequence< Any > aValues( 2 ); - aValues.getArray()[0] <<= (sal_Int16) 22; - aValues.getArray()[1] <<= (sal_Int16) 44; - pPS->setPropertyValues( szPN, aValues ); - OSL_ENSURE( pPS_L->nCount == pPS_L->nCurrent, "not all listeners called" ); - - //firePropertiesChangeEvent - pPS->nINT16 = 8; - pPS->nINT32 = 5; - pPS_L->nCount = 4; - pPS_L->nCurrent = 0; - pPS_L->pExceptedListenerValues[0] <<= (sal_Int16) 8; // old value - pPS_L->pExceptedListenerValues[1] <<= (sal_Int16) 8; // new value - pPS_L->pExceptedListenerValues[2] <<= (sal_Int32) 5; // old value - pPS_L->pExceptedListenerValues[3] <<= (sal_Int32) 5; // new value - pPS->firePropertiesChangeEvent( szPN, pPS_L ); - OSL_ENSURE( pPS_L->nCount == pPS_L->nCurrent, "not all listeners called" ); - - - //vetoable exception with multible - szPN.getArray()[0] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ); - szPN.getArray()[1] = OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ); - pPS->nINT32 = 0; - pPS->nINT16 = 0; - pPS_L->nCount = 4; - pPS_L->nCurrent = 0; - pPS_L->pExceptedListenerValues[0] <<= (sal_Int16) 0; // old value vetoable - pPS_L->pExceptedListenerValues[1] <<= (sal_Int16) 44; // new value vetoable - pPS_L->pExceptedListenerValues[2] <<= (sal_Int16) 0; // old value vetoable - pPS_L->pExceptedListenerValues[3] <<= (sal_Int16) 100; // new value vetoable - - try - { - aValues.getArray()[0] <<= (sal_Int16)44; - aValues.getArray()[1] <<= (sal_Int16)100; - pPS->setPropertyValues( szPN, aValues ); - OSL_FAIL( "PropertySetHelper: exeption not thrown" ); - } - catch ( PropertyVetoException & /*e*/ ) - { - } - - OSL_ENSURE( pPS_L->nCount == pPS_L->nCurrent, "not all listeners called" ); - pPS->removePropertiesChangeListener( x1 ); - pPS->removeVetoableChangeListener( OUString( RTL_CONSTASCII_USTRINGPARAM("INT16") ), x2 ); - } - } -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/test/testproptyphlp.cxx b/cppuhelper/test/testproptyphlp.cxx deleted file mode 100644 index 852fa33ba..000000000 --- a/cppuhelper/test/testproptyphlp.cxx +++ /dev/null @@ -1,87 +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_cppuhelper.hxx" -#include <cppuhelper/proptypehlp.hxx> - -#include <com/sun/star/beans/Property.hpp> - -using namespace ::com::sun::star::uno; -using namespace ::cppu; - -void testPropertyTypeHelper() -{ - Any a; - - a <<= ( sal_Int8 ) 25; - - sal_Int32 i; - convertPropertyValue( i , a ); - OSL_ASSERT( 25 == i ); - - sal_Int16 i16; - convertPropertyValue( i16 , a ); - OSL_ASSERT( 25 == i16 ); - - sal_Int8 i8; - convertPropertyValue( i8 , a ); - OSL_ASSERT( 25 == i8 ); - - sal_uInt32 i32; - convertPropertyValue( i32 , a ); - OSL_ASSERT( 25 == i32 ); - - double d; - convertPropertyValue( d , a ); - OSL_ASSERT( 25. == d ); - - float f; - convertPropertyValue( f , a ); - OSL_ASSERT( 25. == f ); - - ::com::sun::star::beans::Property prop; - - prop.Name = rtl::OUString( RTL_CONSTASCII_USTRINGPARAM("Huhu") ); - prop.Handle = 5; - prop.Attributes = 3; - - a <<= prop; - - ::com::sun::star::beans::Property prop2; - convertPropertyValue( prop2 , a ); - OSL_ASSERT( prop.Handle == prop2.Handle && prop.Name == prop2.Name && prop.Attributes == prop2.Attributes ); - - - ::rtl::OUString ow; - a <<= prop.Name; - convertPropertyValue( ow , a ); - OSL_ASSERT( ow == prop.Name ); -} - -/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/cppuhelper/unotypes/cppuhelper/detail/XExceptionThrower.idl b/cppuhelper/unotypes/cppuhelper/detail/XExceptionThrower.idl deleted file mode 100644 index eb328c1d8..000000000 --- a/cppuhelper/unotypes/cppuhelper/detail/XExceptionThrower.idl +++ /dev/null @@ -1,47 +0,0 @@ -/************************************************************************* - * - * 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. - * - ************************************************************************/ - -#if ! defined INCLUDED_cppuhelper_detail_XExceptionThrower_idl -#define INCLUDED_cppuhelper_detail_XExceptionThrower_idl - -#include <com/sun/star/uno/Exception.idl> -#include <com/sun/star/uno/XInterface.idl> - - -module cppuhelper { module detail { - -interface XExceptionThrower : com::sun::star::uno::XInterface -{ - void throwException( [in] any exc ) - raises (com::sun::star::uno::Exception); - void rethrowException() - raises (com::sun::star::uno::Exception); -}; - -}; }; - -#endif diff --git a/cppuhelper/unotypes/makefile.mk b/cppuhelper/unotypes/makefile.mk deleted file mode 100644 index f58a7ebf1..000000000 --- a/cppuhelper/unotypes/makefile.mk +++ /dev/null @@ -1,52 +0,0 @@ -#************************************************************************* -# -# 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. -# -#************************************************************************* - -PRJ = .. - -PRJNAME = cppuhelper -TARGET = private_types - -.INCLUDE : settings.mk - -UNOUCRRDB = $(BIN)$/$(TARGET).rdb -UNOUCRDEP = $(UNOUCRRDB) -UNOUCROUT = $(OUT)$/inc$/private - -CPPUMAKERFLAGS += -C -X$(SOLARBINDIR)$/types.rdb - -UNOTYPES = \ - cppuhelper.detail.XExceptionThrower - -ALLIDLFILES = \ - .$/cppuhelper$/detail$/XExceptionThrower.idl - -.INCLUDE : target.mk - -$(UNOUCRRDB) : $(ALLIDLFILES) $(SOLARBINDIR)$/types.rdb - $(IDLC) -I. -I$(SOLARIDLDIR) -O$(UCR) $(ALLIDLFILES) - $(REGMERGE) $@ /UCR $(UCR)$/{$(?:f:s/.idl/.urd/)} - touch $@ |