[Libreoffice-commits] core.git: avmedia/source chart2/inc chart2/source comphelper/source embeddedobj/source extensions/source filter/source fpicker/source framework/inc framework/source include/comphelper include/framework include/svtools package/source sfx2/source sw/source UnoControls/inc UnoControls/source
Noel Grandin (via logerrit)
logerrit at kemper.freedesktop.org
Sat Aug 7 19:35:12 UTC 2021
UnoControls/inc/basecontainercontrol.hxx | 3
UnoControls/inc/multiplexer.hxx | 4
UnoControls/source/base/basecontainercontrol.cxx | 8
UnoControls/source/base/multiplexer.cxx | 8
UnoControls/source/controls/OConnectionPointContainerHelper.cxx | 5
UnoControls/source/controls/OConnectionPointHelper.cxx | 7
UnoControls/source/inc/OConnectionPointContainerHelper.hxx | 6
avmedia/source/macavf/window.hxx | 4
avmedia/source/win/window.cxx | 16 -
avmedia/source/win/window.hxx | 4
chart2/inc/ChartView.hxx | 4
chart2/source/controller/main/ChartController_Window.cxx | 4
chart2/source/inc/LifeTime.hxx | 4
chart2/source/model/main/ChartModel.cxx | 4
chart2/source/model/main/ChartModel_Persistence.cxx | 8
chart2/source/tools/LifeTime.cxx | 8
chart2/source/view/main/ChartView.cxx | 4
comphelper/source/container/interfacecontainer2.cxx | 116 ++++++++
embeddedobj/source/commonembedding/embedobj.cxx | 6
embeddedobj/source/commonembedding/miscobj.cxx | 17 -
embeddedobj/source/general/dummyobject.cxx | 17 -
embeddedobj/source/inc/commonembobj.hxx | 6
embeddedobj/source/inc/dummyobject.hxx | 8
embeddedobj/source/inc/oleembobj.hxx | 6
embeddedobj/source/msole/olecomponent.cxx | 18 -
embeddedobj/source/msole/olecomponent.hxx | 6
embeddedobj/source/msole/oleembed.cxx | 14 -
embeddedobj/source/msole/olemisc.cxx | 24 -
extensions/source/bibliography/framectr.cxx | 4
filter/source/config/cache/basecontainer.cxx | 4
filter/source/config/cache/basecontainer.hxx | 4
filter/source/config/cache/configflush.cxx | 4
filter/source/config/cache/configflush.hxx | 4
fpicker/source/win32/VistaFilePickerEventHandler.cxx | 4
fpicker/source/win32/VistaFilePickerEventHandler.hxx | 4
framework/inc/helper/uiconfigelementwrapperbase.hxx | 3
framework/inc/helper/uielementwrapperbase.hxx | 3
framework/inc/services/layoutmanager.hxx | 4
framework/inc/uielement/statusbarmanager.hxx | 4
framework/inc/uielement/toolbarmanager.hxx | 4
framework/source/fwe/helper/titlehelper.cxx | 4
framework/source/layoutmanager/layoutmanager.cxx | 6
framework/source/services/desktop.cxx | 12
framework/source/services/frame.cxx | 14 -
framework/source/uiconfiguration/imagemanagerimpl.cxx | 4
framework/source/uiconfiguration/imagemanagerimpl.hxx | 4
framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx | 7
framework/source/uiconfiguration/uiconfigurationmanager.cxx | 7
include/comphelper/multicontainer2.hxx | 139 ++++++++++
include/framework/desktop.hxx | 3
include/framework/titlehelper.hxx | 4
include/svtools/statusbarcontroller.hxx | 4
include/svtools/toolboxcontroller.hxx | 4
package/source/xstor/owriteablestream.cxx | 7
package/source/xstor/xstorage.cxx | 11
sfx2/source/doc/printhelper.cxx | 8
sfx2/source/doc/sfxbasemodel.cxx | 22 -
sfx2/source/view/sfxbasecontroller.cxx | 7
sw/source/core/unocore/unoidx.cxx | 5
sw/source/core/unocore/unotbl.cxx | 6
60 files changed, 464 insertions(+), 199 deletions(-)
New commits:
commit 86abf3a682b424dc0fcbccf030f5a0b9bfb81d8c
Author: Noel Grandin <noelgrandin at gmail.com>
AuthorDate: Sat Aug 7 09:24:46 2021 +0200
Commit: Noel Grandin <noel.grandin at collabora.co.uk>
CommitDate: Sat Aug 7 21:34:33 2021 +0200
create comphelper::OMultiTypeInterfaceContainerHelper2 and use it
based on OInterfaceContainerHelper2 which is considerably
faster than the original OInterfaceContainerHelper
Change-Id: I9c8b6d0e5382018824bf7188a26343703abf2d51
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/120161
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/UnoControls/inc/basecontainercontrol.hxx b/UnoControls/inc/basecontainercontrol.hxx
index fe0d87f2d8cb..507dd2be394a 100644
--- a/UnoControls/inc/basecontainercontrol.hxx
+++ b/UnoControls/inc/basecontainercontrol.hxx
@@ -24,6 +24,7 @@
#include "basecontrol.hxx"
#include <com/sun/star/awt/XControlContainer.hpp>
+#include <comphelper/multicontainer2.hxx>
namespace unocontrols {
@@ -144,7 +145,7 @@ private:
// list of pointer of "struct IMPL_ControlInfo" to hold child-controls
::std::vector< IMPL_ControlInfo > maControlInfoList;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListeners;
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListeners;
};
diff --git a/UnoControls/inc/multiplexer.hxx b/UnoControls/inc/multiplexer.hxx
index 3fc19c126114..58bd1563fb0a 100644
--- a/UnoControls/inc/multiplexer.hxx
+++ b/UnoControls/inc/multiplexer.hxx
@@ -28,7 +28,7 @@
#include <com/sun/star/awt/XFocusListener.hpp>
#include <cppuhelper/weak.hxx>
#include <cppuhelper/weakref.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
namespace com::sun::star::awt { class XWindow; }
namespace com::sun::star::awt { struct KeyEvent; }
@@ -223,7 +223,7 @@ private:
::osl::Mutex m_aMutex;
css::uno::Reference< css::awt::XWindow > m_xPeer; /// The source of the events. Normally this is the peer object.
css::uno::WeakReference< css::awt::XWindow > m_xControl;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerHolder;
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerHolder;
};
diff --git a/UnoControls/source/base/basecontainercontrol.cxx b/UnoControls/source/base/basecontainercontrol.cxx
index dbcfb77bbc2e..a440505149ed 100644
--- a/UnoControls/source/base/basecontainercontrol.cxx
+++ b/UnoControls/source/base/basecontainercontrol.cxx
@@ -219,7 +219,7 @@ void SAL_CALL BaseContainerControl::addControl ( const OUString& rName, const Re
}
// Send message to all listener
- OInterfaceContainerHelper* pInterfaceContainer = m_aListeners.getContainer( cppu::UnoType<XContainerListener>::get());
+ comphelper::OInterfaceContainerHelper2* pInterfaceContainer = m_aListeners.getContainer( cppu::UnoType<XContainerListener>::get());
if (!pInterfaceContainer)
return;
@@ -231,7 +231,7 @@ void SAL_CALL BaseContainerControl::addControl ( const OUString& rName, const Re
aEvent.Element <<= rControl;
// Get all listener
- OInterfaceIteratorHelper aIterator (*pInterfaceContainer);
+ comphelper::OInterfaceIteratorHelper2 aIterator (*pInterfaceContainer);
// Send event
while ( aIterator.hasMoreElements() )
@@ -266,7 +266,7 @@ void SAL_CALL BaseContainerControl::removeControl ( const Reference< XControl >
maControlInfoList.erase(maControlInfoList.begin() + n);
// Send message to all other listener
- OInterfaceContainerHelper * pInterfaceContainer = m_aListeners.getContainer( cppu::UnoType<XContainerListener>::get());
+ comphelper::OInterfaceContainerHelper2 * pInterfaceContainer = m_aListeners.getContainer( cppu::UnoType<XContainerListener>::get());
if (pInterfaceContainer)
{
@@ -275,7 +275,7 @@ void SAL_CALL BaseContainerControl::removeControl ( const Reference< XControl >
aEvent.Source = *this;
aEvent.Element <<= rControl;
- OInterfaceIteratorHelper aIterator (*pInterfaceContainer);
+ comphelper::OInterfaceIteratorHelper2 aIterator (*pInterfaceContainer);
while ( aIterator.hasMoreElements() )
{
diff --git a/UnoControls/source/base/multiplexer.cxx b/UnoControls/source/base/multiplexer.cxx
index 6e737c7f9b26..c7bf65c170c1 100644
--- a/UnoControls/source/base/multiplexer.cxx
+++ b/UnoControls/source/base/multiplexer.cxx
@@ -38,11 +38,11 @@ namespace unocontrols {
#define MULTIPLEX( INTERFACE, METHOD, EVENTTYP, EVENT ) \
\
/* First get all interfaces from container with right type.*/ \
- OInterfaceContainerHelper* pContainer = m_aListenerHolder.getContainer( cppu::UnoType<INTERFACE>::get() ); \
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerHolder.getContainer( cppu::UnoType<INTERFACE>::get() ); \
/* Do the follow only, if elements in container exist.*/ \
if( !pContainer ) \
return; \
- OInterfaceIteratorHelper aIterator( *pContainer ); \
+ comphelper::OInterfaceIteratorHelper2 aIterator( *pContainer ); \
EVENTTYP aLocalEvent = EVENT; \
/* Remark: The control is the event source not the peer.*/ \
/* We must change the source of the event. */ \
@@ -156,7 +156,7 @@ void OMRCListenerMultiplexerHelper::setPeer( const Reference< XWindow >& xPeer )
if( m_xPeer.is() )
{
// get all types from the listener added to the peer
- const Sequence< Type > aContainedTypes = m_aListenerHolder.getContainedTypes();
+ const std::vector< Type > aContainedTypes = m_aListenerHolder.getContainedTypes();
// loop over all listener types and remove the listeners from the peer
for( const auto& rContainedType : aContainedTypes )
impl_unadviseFromPeer( m_xPeer, rContainedType );
@@ -165,7 +165,7 @@ void OMRCListenerMultiplexerHelper::setPeer( const Reference< XWindow >& xPeer )
if( m_xPeer.is() )
{
// get all types from the listener added to the peer
- const Sequence< Type > aContainedTypes = m_aListenerHolder.getContainedTypes();
+ const std::vector< Type > aContainedTypes = m_aListenerHolder.getContainedTypes();
// loop over all listener types and add the listeners to the peer
for( const auto& rContainedType : aContainedTypes )
impl_adviseToPeer( m_xPeer, rContainedType );
diff --git a/UnoControls/source/controls/OConnectionPointContainerHelper.cxx b/UnoControls/source/controls/OConnectionPointContainerHelper.cxx
index d0e9d30b611b..bf687a0df5d6 100644
--- a/UnoControls/source/controls/OConnectionPointContainerHelper.cxx
+++ b/UnoControls/source/controls/OConnectionPointContainerHelper.cxx
@@ -22,6 +22,7 @@
#include <OConnectionPointHelper.hxx>
#include <cppuhelper/queryinterface.hxx>
+#include <comphelper/sequence.hxx>
// namespaces
@@ -94,7 +95,7 @@ void SAL_CALL OConnectionPointContainerHelper::release() noexcept
Sequence< Type > SAL_CALL OConnectionPointContainerHelper::getConnectionPointTypes()
{
// Container is threadsafe himself !
- return m_aMultiTypeContainer.getContainedTypes();
+ return comphelper::containerToSequence(m_aMultiTypeContainer.getContainedTypes());
}
// XConnectionPointContainer
@@ -105,7 +106,7 @@ Reference< XConnectionPoint > SAL_CALL OConnectionPointContainerHelper::queryCon
Reference< XConnectionPoint > xConnectionPoint;
// Get all elements of the container, which have the searched type.
- OInterfaceContainerHelper* pSpecialContainer = m_aMultiTypeContainer.getContainer( aType );
+ comphelper::OInterfaceContainerHelper2* pSpecialContainer = m_aMultiTypeContainer.getContainer( aType );
if ( pSpecialContainer && pSpecialContainer->getLength() > 0 )
{
// Ready for multithreading
diff --git a/UnoControls/source/controls/OConnectionPointHelper.cxx b/UnoControls/source/controls/OConnectionPointHelper.cxx
index f44aef51aab1..b6ddaaa513a0 100644
--- a/UnoControls/source/controls/OConnectionPointHelper.cxx
+++ b/UnoControls/source/controls/OConnectionPointHelper.cxx
@@ -23,6 +23,7 @@
#include <com/sun/star/lang/InvalidListenerException.hpp>
#include <cppuhelper/queryinterface.hxx>
+#include <comphelper/sequence.hxx>
// namespaces
@@ -188,13 +189,13 @@ Sequence< Reference< XInterface > > SAL_CALL OConnectionPointHelper::getConnecti
// Set default return value, if method failed.
Sequence< Reference< XInterface > > seqReturnConnections;
// Get reference to private member of OConnectionPointHelperContainer!
- OMultiTypeInterfaceContainerHelper& aSharedContainer = m_pContainerImplementation->impl_getMultiTypeContainer();
+ comphelper::OMultiTypeInterfaceContainerHelper2& aSharedContainer = m_pContainerImplementation->impl_getMultiTypeContainer();
// Get pointer to specialized container which hold all interfaces of searched type.
- OInterfaceContainerHelper* pSpecialContainer = aSharedContainer.getContainer( m_aInterfaceType );
+ comphelper::OInterfaceContainerHelper2* pSpecialContainer = aSharedContainer.getContainer( m_aInterfaceType );
// Get elements of searched type, if some else exist.
if ( pSpecialContainer != nullptr )
{
- seqReturnConnections = pSpecialContainer->getElements();
+ seqReturnConnections = comphelper::containerToSequence(pSpecialContainer->getElements());
}
// Don't forget this!
impl_UnlockContainer();
diff --git a/UnoControls/source/inc/OConnectionPointContainerHelper.hxx b/UnoControls/source/inc/OConnectionPointContainerHelper.hxx
index 54eed76e6ce1..c1e46b457f79 100644
--- a/UnoControls/source/inc/OConnectionPointContainerHelper.hxx
+++ b/UnoControls/source/inc/OConnectionPointContainerHelper.hxx
@@ -21,7 +21,7 @@
#include <com/sun/star/lang/XConnectionPointContainer.hpp>
#include <cppuhelper/weak.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
namespace com::sun::star::lang { class XConnectionPoint; }
@@ -92,11 +92,11 @@ public:
// Is necessary to get container member at OConnectionPoint-instance.
// Impl methods are not threadsafe!
// "Parent" function must do this.
- ::cppu::OMultiTypeInterfaceContainerHelper& impl_getMultiTypeContainer() { return m_aMultiTypeContainer; }
+ comphelper::OMultiTypeInterfaceContainerHelper2& impl_getMultiTypeContainer() { return m_aMultiTypeContainer; }
private:
::osl::Mutex& m_aSharedMutex;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aMultiTypeContainer; // Container to hold listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aMultiTypeContainer; // Container to hold listener
};
}
diff --git a/avmedia/source/macavf/window.hxx b/avmedia/source/macavf/window.hxx
index cfaae6f47d3b..14fdaf389811 100644
--- a/avmedia/source/macavf/window.hxx
+++ b/avmedia/source/macavf/window.hxx
@@ -21,7 +21,7 @@
#include "macavfcommon.hxx"
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include <com/sun/star/media/XPlayerWindow.hpp>
@@ -92,7 +92,7 @@ public:
private:
::osl::Mutex maMutex;
- ::cppu::OMultiTypeInterfaceContainerHelper maListeners;
+ comphelper::OMultiTypeInterfaceContainerHelper2 maListeners;
css::media::ZoomLevel meZoomLevel;
Player& mrPlayer;
int mnPointerType;
diff --git a/avmedia/source/win/window.cxx b/avmedia/source/win/window.cxx
index b7aa28ba26d5..4f4ef47456e6 100644
--- a/avmedia/source/win/window.cxx
+++ b/avmedia/source/win/window.cxx
@@ -423,11 +423,11 @@ void SAL_CALL Window::removeEventListener( const uno::Reference< lang::XEventLis
void Window::fireMousePressedEvent( const css::awt::MouseEvent& rEvt )
{
- ::cppu::OInterfaceContainerHelper* pContainer = maListeners.getContainer( cppu::UnoType<awt::XMouseListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = maListeners.getContainer( cppu::UnoType<awt::XMouseListener>::get());
if( pContainer )
{
- ::cppu::OInterfaceIteratorHelper aIter( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 aIter( *pContainer );
while( aIter.hasMoreElements() )
static_cast< awt::XMouseListener* >( aIter.next() )->mousePressed( rEvt );
@@ -436,11 +436,11 @@ void Window::fireMousePressedEvent( const css::awt::MouseEvent& rEvt )
void Window::fireMouseReleasedEvent( const css::awt::MouseEvent& rEvt )
{
- ::cppu::OInterfaceContainerHelper* pContainer = maListeners.getContainer( cppu::UnoType<awt::XMouseListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = maListeners.getContainer( cppu::UnoType<awt::XMouseListener>::get());
if( pContainer )
{
- ::cppu::OInterfaceIteratorHelper aIter( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 aIter( *pContainer );
while( aIter.hasMoreElements() )
static_cast< awt::XMouseListener* >( aIter.next() )->mouseReleased( rEvt );
@@ -449,11 +449,11 @@ void Window::fireMouseReleasedEvent( const css::awt::MouseEvent& rEvt )
void Window::fireMouseMovedEvent( const css::awt::MouseEvent& rEvt )
{
- ::cppu::OInterfaceContainerHelper* pContainer = maListeners.getContainer( cppu::UnoType<awt::XMouseMotionListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = maListeners.getContainer( cppu::UnoType<awt::XMouseMotionListener>::get());
if( pContainer )
{
- ::cppu::OInterfaceIteratorHelper aIter( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 aIter( *pContainer );
while( aIter.hasMoreElements() )
static_cast< awt::XMouseMotionListener* >( aIter.next() )->mouseMoved( rEvt );
@@ -462,11 +462,11 @@ void Window::fireMouseMovedEvent( const css::awt::MouseEvent& rEvt )
void Window::fireSetFocusEvent( const css::awt::FocusEvent& rEvt )
{
- ::cppu::OInterfaceContainerHelper* pContainer = maListeners.getContainer( cppu::UnoType<awt::XFocusListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = maListeners.getContainer( cppu::UnoType<awt::XFocusListener>::get());
if( pContainer )
{
- ::cppu::OInterfaceIteratorHelper aIter( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 aIter( *pContainer );
while( aIter.hasMoreElements() )
static_cast< awt::XFocusListener* >( aIter.next() )->focusGained( rEvt );
diff --git a/avmedia/source/win/window.hxx b/avmedia/source/win/window.hxx
index c13bd8b62ea4..39d5aec626c4 100644
--- a/avmedia/source/win/window.hxx
+++ b/avmedia/source/win/window.hxx
@@ -25,7 +25,7 @@
#include "wincommon.hxx"
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include <com/sun/star/media/XPlayerWindow.hpp>
@@ -96,7 +96,7 @@ public:
private:
::osl::Mutex maMutex;
- ::cppu::OMultiTypeInterfaceContainerHelper maListeners;
+ comphelper::OMultiTypeInterfaceContainerHelper2 maListeners;
css::media::ZoomLevel meZoomLevel;
Player& mrPlayer;
HWND mnFrameWnd;
diff --git a/chart2/inc/ChartView.hxx b/chart2/inc/ChartView.hxx
index 437d49527974..2634288daed7 100644
--- a/chart2/inc/ChartView.hxx
+++ b/chart2/inc/ChartView.hxx
@@ -20,7 +20,7 @@
#include <chartview/ExplicitValueProvider.hxx>
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include <svl/lstner.hxx>
#include <com/sun/star/awt/Size.hpp>
@@ -229,7 +229,7 @@ private: //member
std::vector< std::unique_ptr<VCoordinateSystem> > m_aVCooSysList;
- ::cppu::OMultiTypeInterfaceContainerHelper
+ comphelper::OMultiTypeInterfaceContainerHelper2
m_aListenerContainer;
bool m_bViewDirty; //states whether the view needs to be rebuild
diff --git a/chart2/source/controller/main/ChartController_Window.cxx b/chart2/source/controller/main/ChartController_Window.cxx
index 024cbe5bf589..c7af79a03da8 100644
--- a/chart2/source/controller/main/ChartController_Window.cxx
+++ b/chart2/source/controller/main/ChartController_Window.cxx
@@ -1751,13 +1751,13 @@ void SAL_CALL ChartController::removeSelectionChangeListener( const uno::Referen
void ChartController::impl_notifySelectionChangeListeners()
{
- ::cppu::OInterfaceContainerHelper* pIC = m_aLifeTimeManager.m_aListenerContainer
+ ::comphelper::OInterfaceContainerHelper2* pIC = m_aLifeTimeManager.m_aListenerContainer
.getContainer( cppu::UnoType<view::XSelectionChangeListener>::get() );
if( pIC )
{
uno::Reference< view::XSelectionSupplier > xSelectionSupplier(this);
lang::EventObject aEvent( xSelectionSupplier );
- ::cppu::OInterfaceIteratorHelper aIt( *pIC );
+ ::comphelper::OInterfaceIteratorHelper2 aIt( *pIC );
while( aIt.hasMoreElements() )
{
static_cast< view::XSelectionChangeListener* >( aIt.next() )->selectionChanged( aEvent );
diff --git a/chart2/source/inc/LifeTime.hxx b/chart2/source/inc/LifeTime.hxx
index 082300df3c80..613d92314f96 100644
--- a/chart2/source/inc/LifeTime.hxx
+++ b/chart2/source/inc/LifeTime.hxx
@@ -20,7 +20,7 @@
#include <osl/mutex.hxx>
#include <osl/conditn.hxx>
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include "charttoolsdllapi.hxx"
namespace com::sun::star::lang { class XComponent; }
@@ -45,7 +45,7 @@ public:
bool dispose();
public:
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer;
+ ::comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer;
protected:
SAL_DLLPRIVATE virtual bool impl_canStartApiCall();
diff --git a/chart2/source/model/main/ChartModel.cxx b/chart2/source/model/main/ChartModel.cxx
index b36d2becb6f3..c6aea8b186d9 100644
--- a/chart2/source/model/main/ChartModel.cxx
+++ b/chart2/source/model/main/ChartModel.cxx
@@ -243,12 +243,12 @@ uno::Reference< frame::XController > ChartModel::impl_getCurrentController()
void ChartModel::impl_notifyCloseListeners()
{
- ::cppu::OInterfaceContainerHelper* pIC = m_aLifeTimeManager.m_aListenerContainer
+ ::comphelper::OInterfaceContainerHelper2* pIC = m_aLifeTimeManager.m_aListenerContainer
.getContainer( cppu::UnoType<util::XCloseListener>::get());
if( pIC )
{
lang::EventObject aEvent( static_cast< lang::XComponent*>(this) );
- ::cppu::OInterfaceIteratorHelper aIt( *pIC );
+ ::comphelper::OInterfaceIteratorHelper2 aIt( *pIC );
while( aIt.hasMoreElements() )
{
static_cast< util::XCloseListener* >( aIt.next() )->notifyClosing( aEvent );
diff --git a/chart2/source/model/main/ChartModel_Persistence.cxx b/chart2/source/model/main/ChartModel_Persistence.cxx
index b3166c32bd9b..efb4d0b44c31 100644
--- a/chart2/source/model/main/ChartModel_Persistence.cxx
+++ b/chart2/source/model/main/ChartModel_Persistence.cxx
@@ -646,12 +646,12 @@ void ChartModel::impl_notifyModifiedListeners()
//always notify the view first!
ChartViewHelper::setViewToDirtyState( this );
- ::cppu::OInterfaceContainerHelper* pIC = m_aLifeTimeManager.m_aListenerContainer
+ ::comphelper::OInterfaceContainerHelper2* pIC = m_aLifeTimeManager.m_aListenerContainer
.getContainer( cppu::UnoType<util::XModifyListener>::get());
if( pIC )
{
lang::EventObject aEvent( static_cast< lang::XComponent*>(this) );
- ::cppu::OInterfaceIteratorHelper aIt( *pIC );
+ ::comphelper::OInterfaceIteratorHelper2 aIt( *pIC );
while( aIt.hasMoreElements() )
{
static_cast< util::XModifyListener* >( aIt.next() )->modified( aEvent );
@@ -781,11 +781,11 @@ Reference< embed::XStorage > SAL_CALL ChartModel::getDocumentStorage()
void ChartModel::impl_notifyStorageChangeListeners()
{
- ::cppu::OInterfaceContainerHelper* pIC = m_aLifeTimeManager.m_aListenerContainer
+ ::comphelper::OInterfaceContainerHelper2* pIC = m_aLifeTimeManager.m_aListenerContainer
.getContainer( cppu::UnoType<document::XStorageChangeListener>::get());
if( pIC )
{
- ::cppu::OInterfaceIteratorHelper aIt( *pIC );
+ ::comphelper::OInterfaceIteratorHelper2 aIt( *pIC );
while( aIt.hasMoreElements() )
{
static_cast< document::XStorageChangeListener* >( aIt.next() )
diff --git a/chart2/source/tools/LifeTime.cxx b/chart2/source/tools/LifeTime.cxx
index c705405c8913..7a84f4f648c6 100644
--- a/chart2/source/tools/LifeTime.cxx
+++ b/chart2/source/tools/LifeTime.cxx
@@ -218,12 +218,12 @@ bool CloseableLifeTimeManager::g_close_startTryClose(bool bDeliverOwnership)
if(xCloseable.is())
{
//--call queryClosing on all registered close listeners
- ::cppu::OInterfaceContainerHelper* pIC = m_aListenerContainer.getContainer(
+ ::comphelper::OInterfaceContainerHelper2* pIC = m_aListenerContainer.getContainer(
cppu::UnoType<util::XCloseListener>::get());
if( pIC )
{
lang::EventObject aEvent( xCloseable );
- ::cppu::OInterfaceIteratorHelper aIt( *pIC );
+ ::comphelper::OInterfaceIteratorHelper2 aIt( *pIC );
while( aIt.hasMoreElements() )
{
static_cast< util::XCloseListener* >( aIt.next() )
@@ -327,12 +327,12 @@ void CloseableLifeTimeManager::impl_doClose()
if(xCloseable.is())
{
//--call notifyClosing on all registered close listeners
- ::cppu::OInterfaceContainerHelper* pIC = m_aListenerContainer.getContainer(
+ ::comphelper::OInterfaceContainerHelper2* pIC = m_aListenerContainer.getContainer(
cppu::UnoType<util::XCloseListener>::get());
if( pIC )
{
lang::EventObject aEvent( xCloseable );
- ::cppu::OInterfaceIteratorHelper aIt( *pIC );
+ ::comphelper::OInterfaceIteratorHelper2 aIt( *pIC );
while( aIt.hasMoreElements() )
{
static_cast< util::XCloseListener* >( aIt.next() )->notifyClosing( aEvent );
diff --git a/chart2/source/view/main/ChartView.cxx b/chart2/source/view/main/ChartView.cxx
index a5db1f26b69d..99b1ce5ee99c 100644
--- a/chart2/source/view/main/ChartView.cxx
+++ b/chart2/source/view/main/ChartView.cxx
@@ -2614,12 +2614,12 @@ void ChartView::impl_notifyModeChangeListener( const OUString& rNewMode )
{
try
{
- ::cppu::OInterfaceContainerHelper* pIC = m_aListenerContainer
+ comphelper::OInterfaceContainerHelper2* pIC = m_aListenerContainer
.getContainer( cppu::UnoType<util::XModeChangeListener>::get());
if( pIC )
{
util::ModeChangeEvent aEvent( static_cast< uno::XWeak* >( this ), rNewMode );
- ::cppu::OInterfaceIteratorHelper aIt( *pIC );
+ comphelper::OInterfaceIteratorHelper2 aIt( *pIC );
while( aIt.hasMoreElements() )
{
static_cast< util::XModeChangeListener* >( aIt.next() )->modeChanged( aEvent );
diff --git a/comphelper/source/container/interfacecontainer2.cxx b/comphelper/source/container/interfacecontainer2.cxx
index 1524600affd0..151f298d19c0 100644
--- a/comphelper/source/container/interfacecontainer2.cxx
+++ b/comphelper/source/container/interfacecontainer2.cxx
@@ -19,6 +19,7 @@
#include <comphelper/interfacecontainer2.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <osl/diagnose.h>
#include <osl/mutex.hxx>
@@ -285,6 +286,121 @@ void OInterfaceContainerHelper2::clear()
}
+
+// specialized class for type
+
+OMultiTypeInterfaceContainerHelper2::OMultiTypeInterfaceContainerHelper2( Mutex & rMutex_ )
+ : rMutex( rMutex_ )
+{
+}
+
+OMultiTypeInterfaceContainerHelper2::~OMultiTypeInterfaceContainerHelper2()
+{
+}
+
+std::vector< css::uno::Type > OMultiTypeInterfaceContainerHelper2::getContainedTypes() const
+{
+ ::osl::MutexGuard aGuard( rMutex );
+ std::vector< Type > aInterfaceTypes;
+ aInterfaceTypes.reserve( m_aMap.size() );
+ for (const auto& rItem : m_aMap)
+ {
+ // are interfaces added to this container?
+ if( rItem.second->getLength() )
+ // yes, put the type in the array
+ aInterfaceTypes.push_back(rItem.first);
+ }
+ return aInterfaceTypes;
+}
+
+OMultiTypeInterfaceContainerHelper2::t_type2ptr::iterator OMultiTypeInterfaceContainerHelper2::findType(const Type & rKey )
+{
+ return std::find_if(m_aMap.begin(), m_aMap.end(),
+ [&rKey](const t_type2ptr::value_type& rItem) { return rItem.first == rKey; });
+}
+
+OMultiTypeInterfaceContainerHelper2::t_type2ptr::const_iterator OMultiTypeInterfaceContainerHelper2::findType(const Type & rKey ) const
+{
+ return std::find_if(m_aMap.begin(), m_aMap.end(),
+ [&rKey](const t_type2ptr::value_type& rItem) { return rItem.first == rKey; });
+}
+
+OInterfaceContainerHelper2 * OMultiTypeInterfaceContainerHelper2::getContainer( const Type & rKey ) const
+{
+ ::osl::MutexGuard aGuard( rMutex );
+
+ auto iter = findType( rKey );
+ if( iter != m_aMap.end() )
+ return (*iter).second.get();
+ return nullptr;
+}
+
+sal_Int32 OMultiTypeInterfaceContainerHelper2::addInterface(
+ const Type & rKey, const Reference< XInterface > & rListener )
+{
+ ::osl::MutexGuard aGuard( rMutex );
+ auto iter = findType( rKey );
+ if( iter == m_aMap.end() )
+ {
+ OInterfaceContainerHelper2 * pLC = new OInterfaceContainerHelper2( rMutex );
+ m_aMap.emplace_back(rKey, pLC);
+ return pLC->addInterface( rListener );
+ }
+ return (*iter).second->addInterface( rListener );
+}
+
+sal_Int32 OMultiTypeInterfaceContainerHelper2::removeInterface(
+ const Type & rKey, const Reference< XInterface > & rListener )
+{
+ ::osl::MutexGuard aGuard( rMutex );
+
+ // search container with id nUik
+ auto iter = findType( rKey );
+ // container found?
+ if( iter != m_aMap.end() )
+ return (*iter).second->removeInterface( rListener );
+
+ // no container with this id. Always return 0
+ return 0;
+}
+
+void OMultiTypeInterfaceContainerHelper2::disposeAndClear( const EventObject & rEvt )
+{
+ t_type2ptr::size_type nSize = 0;
+ std::unique_ptr<OInterfaceContainerHelper2 *[]> ppListenerContainers;
+ {
+ ::osl::MutexGuard aGuard( rMutex );
+ nSize = m_aMap.size();
+ if( nSize )
+ {
+ typedef OInterfaceContainerHelper2* ppp;
+ ppListenerContainers.reset(new ppp[nSize]);
+
+ t_type2ptr::size_type i = 0;
+ for (const auto& rItem : m_aMap)
+ {
+ ppListenerContainers[i++] = rItem.second.get();
+ }
+ }
+ }
+
+ // 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 );
+ }
+}
+
+void OMultiTypeInterfaceContainerHelper2::clear()
+{
+ ::osl::MutexGuard aGuard( rMutex );
+
+ for (auto& rItem : m_aMap)
+ rItem.second->clear();
+}
+
+
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/embeddedobj/source/commonembedding/embedobj.cxx b/embeddedobj/source/commonembedding/embedobj.cxx
index 5b4c1da23fd5..933ddb60a3db 100644
--- a/embeddedobj/source/commonembedding/embedobj.cxx
+++ b/embeddedobj/source/commonembedding/embedobj.cxx
@@ -37,7 +37,7 @@
#include <com/sun/star/embed/EmbedMisc.hpp>
#include <cppuhelper/exc_hlp.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <comphelper/lok.hxx>
#include <sal/log.hxx>
@@ -129,13 +129,13 @@ void OCommonEmbeddedObject::StateChangeNotification_Impl( bool bBeforeChange, sa
if ( !m_pInterfaceContainer )
return;
- ::cppu::OInterfaceContainerHelper* pContainer = m_pInterfaceContainer->getContainer(
+ comphelper::OInterfaceContainerHelper2* pContainer = m_pInterfaceContainer->getContainer(
cppu::UnoType<embed::XStateChangeListener>::get());
if ( pContainer == nullptr )
return;
lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >( this ) );
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
// should be locked after the method is finished successfully
rGuard.clear();
diff --git a/embeddedobj/source/commonembedding/miscobj.cxx b/embeddedobj/source/commonembedding/miscobj.cxx
index ab9f2b53c0ff..8d2cb7332a40 100644
--- a/embeddedobj/source/commonembedding/miscobj.cxx
+++ b/embeddedobj/source/commonembedding/miscobj.cxx
@@ -29,6 +29,7 @@
#include <com/sun/star/ucb/SimpleFileAccess.hpp>
#include <com/sun/star/io/TempFile.hpp>
+#include <comphelper/multicontainer2.hxx>
#include <comphelper/storagehelper.hxx>
#include <cppuhelper/queryinterface.hxx>
@@ -355,7 +356,7 @@ void OCommonEmbeddedObject::PostEvent_Impl( const OUString& aEventName )
if ( !m_pInterfaceContainer )
return;
- ::cppu::OInterfaceContainerHelper* pIC = m_pInterfaceContainer->getContainer(
+ comphelper::OInterfaceContainerHelper2* pIC = m_pInterfaceContainer->getContainer(
cppu::UnoType<document::XEventListener>::get());
if( !pIC )
return;
@@ -366,7 +367,7 @@ void OCommonEmbeddedObject::PostEvent_Impl( const OUString& aEventName )
// For now all the events are sent as object events
// aEvent.Source = ( xSource.is() ? xSource
// : uno::Reference< uno::XInterface >( static_cast< ::cppu::OWeakObject* >( this ) ) );
- ::cppu::OInterfaceIteratorHelper aIt( *pIC );
+ comphelper::OInterfaceIteratorHelper2 aIt( *pIC );
while( aIt.hasMoreElements() )
{
try
@@ -486,7 +487,7 @@ void SAL_CALL OCommonEmbeddedObject::addStateChangeListener( const uno::Referenc
throw lang::DisposedException(); // TODO
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer.reset(new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex ));
+ m_pInterfaceContainer.reset(new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex ));
m_pInterfaceContainer->addInterface( cppu::UnoType<embed::XStateChangeListener>::get(),
xListener );
@@ -514,11 +515,11 @@ void SAL_CALL OCommonEmbeddedObject::close( sal_Bool bDeliverOwnership )
if ( m_pInterfaceContainer )
{
- ::cppu::OInterfaceContainerHelper* pContainer =
+ comphelper::OInterfaceContainerHelper2* pContainer =
m_pInterfaceContainer->getContainer( cppu::UnoType<util::XCloseListener>::get());
if ( pContainer != nullptr )
{
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
@@ -536,7 +537,7 @@ void SAL_CALL OCommonEmbeddedObject::close( sal_Bool bDeliverOwnership )
cppu::UnoType<util::XCloseListener>::get());
if ( pContainer != nullptr )
{
- ::cppu::OInterfaceIteratorHelper pCloseIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pCloseIterator(*pContainer);
while (pCloseIterator.hasMoreElements())
{
try
@@ -606,7 +607,7 @@ void SAL_CALL OCommonEmbeddedObject::addCloseListener( const uno::Reference< uti
throw lang::DisposedException(); // TODO
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer.reset(new ::cppu::OMultiTypeInterfaceContainerHelper(m_aMutex));
+ m_pInterfaceContainer.reset(new comphelper::OMultiTypeInterfaceContainerHelper2(m_aMutex));
m_pInterfaceContainer->addInterface( cppu::UnoType<util::XCloseListener>::get(), xListener );
}
@@ -628,7 +629,7 @@ void SAL_CALL OCommonEmbeddedObject::addEventListener( const uno::Reference< doc
throw lang::DisposedException(); // TODO
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer.reset(new ::cppu::OMultiTypeInterfaceContainerHelper(m_aMutex));
+ m_pInterfaceContainer.reset(new comphelper::OMultiTypeInterfaceContainerHelper2(m_aMutex));
m_pInterfaceContainer->addInterface( cppu::UnoType<document::XEventListener>::get(), xListener );
}
diff --git a/embeddedobj/source/general/dummyobject.cxx b/embeddedobj/source/general/dummyobject.cxx
index e37aca939b9b..8bd43fc488ae 100644
--- a/embeddedobj/source/general/dummyobject.cxx
+++ b/embeddedobj/source/general/dummyobject.cxx
@@ -30,6 +30,7 @@
#include <com/sun/star/lang/IllegalArgumentException.hpp>
#include <com/sun/star/lang/NoSupportException.hpp>
+#include <comphelper/multicontainer2.hxx>
#include <dummyobject.hxx>
@@ -60,7 +61,7 @@ void ODummyEmbeddedObject::PostEvent_Impl( const OUString& aEventName )
if ( !m_pInterfaceContainer )
return;
- ::cppu::OInterfaceContainerHelper* pIC = m_pInterfaceContainer->getContainer(
+ comphelper::OInterfaceContainerHelper2* pIC = m_pInterfaceContainer->getContainer(
cppu::UnoType<document::XEventListener>::get());
if( !pIC )
return;
@@ -71,7 +72,7 @@ void ODummyEmbeddedObject::PostEvent_Impl( const OUString& aEventName )
// For now all the events are sent as object events
// aEvent.Source = ( xSource.is() ? xSource
// : uno::Reference< uno::XInterface >( static_cast< ::cppu::OWeakObject* >( this ) ) );
- ::cppu::OInterfaceIteratorHelper aIt( *pIC );
+ comphelper::OInterfaceIteratorHelper2 aIt( *pIC );
while( aIt.hasMoreElements() )
{
try
@@ -506,7 +507,7 @@ void SAL_CALL ODummyEmbeddedObject::addStateChangeListener( const uno::Reference
return;
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer.reset(new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex ));
+ m_pInterfaceContainer.reset(new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex ));
m_pInterfaceContainer->addInterface( cppu::UnoType<embed::XStateChangeListener>::get(),
xListener );
@@ -534,11 +535,11 @@ void SAL_CALL ODummyEmbeddedObject::close( sal_Bool bDeliverOwnership )
if ( m_pInterfaceContainer )
{
- ::cppu::OInterfaceContainerHelper* pContainer =
+ comphelper::OInterfaceContainerHelper2* pContainer =
m_pInterfaceContainer->getContainer( cppu::UnoType<util::XCloseListener>::get());
if ( pContainer != nullptr )
{
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
@@ -556,7 +557,7 @@ void SAL_CALL ODummyEmbeddedObject::close( sal_Bool bDeliverOwnership )
cppu::UnoType<util::XCloseListener>::get());
if ( pContainer != nullptr )
{
- ::cppu::OInterfaceIteratorHelper pCloseIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pCloseIterator(*pContainer);
while (pCloseIterator.hasMoreElements())
{
try
@@ -584,7 +585,7 @@ void SAL_CALL ODummyEmbeddedObject::addCloseListener( const uno::Reference< util
return;
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer.reset(new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex ));
+ m_pInterfaceContainer.reset(new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex ));
m_pInterfaceContainer->addInterface( cppu::UnoType<util::XCloseListener>::get(), xListener );
}
@@ -606,7 +607,7 @@ void SAL_CALL ODummyEmbeddedObject::addEventListener( const uno::Reference< docu
return;
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer.reset(new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex ));
+ m_pInterfaceContainer.reset(new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex ));
m_pInterfaceContainer->addInterface( cppu::UnoType<document::XEventListener>::get(), xListener );
}
diff --git a/embeddedobj/source/inc/commonembobj.hxx b/embeddedobj/source/inc/commonembobj.hxx
index b055adc4a9f1..4b087ccc7601 100644
--- a/embeddedobj/source/inc/commonembobj.hxx
+++ b/embeddedobj/source/inc/commonembobj.hxx
@@ -54,8 +54,8 @@ namespace com::sun::star {
}
}
-namespace cppu {
- class OMultiTypeInterfaceContainerHelper;
+namespace comphelper {
+ class OMultiTypeInterfaceContainerHelper2;
}
namespace comphelper {
@@ -86,7 +86,7 @@ protected:
rtl::Reference<DocumentHolder> m_xDocHolder;
- std::unique_ptr<::cppu::OMultiTypeInterfaceContainerHelper> m_pInterfaceContainer;
+ std::unique_ptr<::comphelper::OMultiTypeInterfaceContainerHelper2> m_pInterfaceContainer;
bool m_bReadOnly;
diff --git a/embeddedobj/source/inc/dummyobject.hxx b/embeddedobj/source/inc/dummyobject.hxx
index 17d113cb7153..cc7355668dd6 100644
--- a/embeddedobj/source/inc/dummyobject.hxx
+++ b/embeddedobj/source/inc/dummyobject.hxx
@@ -28,7 +28,7 @@
#include <com/sun/star/embed/XEmbeddedObject.hpp>
#include <com/sun/star/embed/XEmbedPersist.hpp>
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
namespace com::sun::star {
namespace embed {
@@ -43,10 +43,6 @@ namespace com::sun::star {
}
}
-namespace cppu {
- class OMultiTypeInterfaceContainerHelper;
-}
-
/**
* Represents an OLE object that has native data (next to the replacement
* image), but we don't understand that data.
@@ -56,7 +52,7 @@ class ODummyEmbeddedObject : public ::cppu::WeakImplHelper
, css::embed::XEmbedPersist >
{
::osl::Mutex m_aMutex;
- std::unique_ptr<cppu::OMultiTypeInterfaceContainerHelper>
+ std::unique_ptr<comphelper::OMultiTypeInterfaceContainerHelper2>
m_pInterfaceContainer;
bool m_bDisposed;
diff --git a/embeddedobj/source/inc/oleembobj.hxx b/embeddedobj/source/inc/oleembobj.hxx
index 7eea3d407e7d..d0884871deb4 100644
--- a/embeddedobj/source/inc/oleembobj.hxx
+++ b/embeddedobj/source/inc/oleembobj.hxx
@@ -39,8 +39,8 @@
#include <osl/thread.h>
#include <memory>
-namespace cppu {
- class OMultiTypeInterfaceContainerHelper;
+namespace comphelper {
+ class OMultiTypeInterfaceContainerHelper2;
}
class VerbExecutionController
@@ -122,7 +122,7 @@ class OleEmbeddedObject : public ::cppu::WeakImplHelper
rtl::Reference<OleComponent> m_pOleComponent;
- std::unique_ptr<::cppu::OMultiTypeInterfaceContainerHelper> m_pInterfaceContainer;
+ std::unique_ptr<::comphelper::OMultiTypeInterfaceContainerHelper2> m_pInterfaceContainer;
bool m_bReadOnly;
diff --git a/embeddedobj/source/msole/olecomponent.cxx b/embeddedobj/source/msole/olecomponent.cxx
index b0c4fc62c1ac..3834d4098170 100644
--- a/embeddedobj/source/msole/olecomponent.cxx
+++ b/embeddedobj/source/msole/olecomponent.cxx
@@ -32,7 +32,7 @@
#include <com/sun/star/awt/XRequestCallback.hpp>
#include "platform.h"
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include <comphelper/mimeconfighelper.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/windowserrorstring.hxx>
@@ -1460,11 +1460,11 @@ void SAL_CALL OleComponent::close( sal_Bool bDeliverOwnership )
if (m_pInterfaceContainer)
{
- ::cppu::OInterfaceContainerHelper* pContainer
+ comphelper::OInterfaceContainerHelper2* pContainer
= m_pInterfaceContainer->getContainer(cppu::UnoType<util::XCloseListener>::get());
if (pContainer != nullptr)
{
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
@@ -1483,7 +1483,7 @@ void SAL_CALL OleComponent::close( sal_Bool bDeliverOwnership )
= m_pInterfaceContainer->getContainer(cppu::UnoType<util::XCloseListener>::get());
if (pContainer != nullptr)
{
- ::cppu::OInterfaceIteratorHelper pCloseIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pCloseIterator(*pContainer);
while (pCloseIterator.hasMoreElements())
{
try
@@ -1511,7 +1511,7 @@ void SAL_CALL OleComponent::addCloseListener( const uno::Reference< util::XClose
throw lang::DisposedException(); // TODO
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer = new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex );
+ m_pInterfaceContainer = new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex );
m_pInterfaceContainer->addInterface( cppu::UnoType<util::XCloseListener>::get(), xListener );
}
@@ -1682,7 +1682,7 @@ void SAL_CALL OleComponent::addEventListener( const uno::Reference< lang::XEvent
throw lang::DisposedException(); // TODO
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer = new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex );
+ m_pInterfaceContainer = new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex );
m_pInterfaceContainer->addInterface( cppu::UnoType<lang::XEventListener>::get(), xListener );
}
@@ -1743,11 +1743,11 @@ void SAL_CALL OleComponent::setModified( sal_Bool bModified )
if ( bModified && m_pInterfaceContainer )
{
- ::cppu::OInterfaceContainerHelper* pContainer =
+ comphelper::OInterfaceContainerHelper2* pContainer =
m_pInterfaceContainer->getContainer( cppu::UnoType<util::XModifyListener>::get());
if ( pContainer != nullptr )
{
- ::cppu::OInterfaceIteratorHelper pIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pContainer );
while ( pIterator.hasMoreElements() )
{
try
@@ -1771,7 +1771,7 @@ void SAL_CALL OleComponent::addModifyListener( const css::uno::Reference < css::
throw lang::DisposedException(); // TODO
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer = new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex );
+ m_pInterfaceContainer = new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex );
m_pInterfaceContainer->addInterface( cppu::UnoType<util::XModifyListener>::get(), xListener );
}
diff --git a/embeddedobj/source/msole/olecomponent.hxx b/embeddedobj/source/msole/olecomponent.hxx
index 08f1cbed696f..5a96b64fcbfc 100644
--- a/embeddedobj/source/msole/olecomponent.hxx
+++ b/embeddedobj/source/msole/olecomponent.hxx
@@ -34,8 +34,8 @@
#include <com/sun/star/uno/XComponentContext.hpp>
#include <rtl/ref.hxx>
-namespace cppu {
- class OMultiTypeInterfaceContainerHelper;
+namespace comphelper {
+ class OMultiTypeInterfaceContainerHelper2;
}
class OleWrapperClientSite;
@@ -48,7 +48,7 @@ class OleComponent : public ::cppu::WeakImplHelper< css::util::XCloseable, css::
css::datatransfer::XTransferable >
{
::osl::Mutex m_aMutex;
- ::cppu::OMultiTypeInterfaceContainerHelper* m_pInterfaceContainer;
+ comphelper::OMultiTypeInterfaceContainerHelper2* m_pInterfaceContainer;
bool m_bDisposed;
bool m_bModified;
diff --git a/embeddedobj/source/msole/oleembed.cxx b/embeddedobj/source/msole/oleembed.cxx
index 8c23a4429895..ba678d4dfb87 100644
--- a/embeddedobj/source/msole/oleembed.cxx
+++ b/embeddedobj/source/msole/oleembed.cxx
@@ -47,7 +47,7 @@
#include <com/sun/star/system/SystemShellExecuteFlags.hpp>
#include <cppuhelper/exc_hlp.hxx>
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include <comphelper/mimeconfighelper.hxx>
#include <sal/log.hxx>
#include <tools/diagnose_ex.h>
@@ -125,13 +125,13 @@ void OleEmbeddedObject::MoveListeners()
// move state change listeners
{
- ::cppu::OInterfaceContainerHelper* pStateChangeContainer =
+ comphelper::OInterfaceContainerHelper2* pStateChangeContainer =
m_pInterfaceContainer->getContainer( cppu::UnoType<embed::XStateChangeListener>::get());
if ( pStateChangeContainer != nullptr )
{
if ( m_xWrappedObject.is() )
{
- ::cppu::OInterfaceIteratorHelper pIterator( *pStateChangeContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pStateChangeContainer );
while ( pIterator.hasMoreElements() )
{
try
@@ -149,13 +149,13 @@ void OleEmbeddedObject::MoveListeners()
// move event listeners
{
- ::cppu::OInterfaceContainerHelper* pEventContainer =
+ comphelper::OInterfaceContainerHelper2* pEventContainer =
m_pInterfaceContainer->getContainer( cppu::UnoType<document::XEventListener>::get());
if ( pEventContainer != nullptr )
{
if ( m_xWrappedObject.is() )
{
- ::cppu::OInterfaceIteratorHelper pIterator( *pEventContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pEventContainer );
while ( pIterator.hasMoreElements() )
{
try
@@ -173,13 +173,13 @@ void OleEmbeddedObject::MoveListeners()
// move close listeners
{
- ::cppu::OInterfaceContainerHelper* pCloseContainer =
+ comphelper::OInterfaceContainerHelper2* pCloseContainer =
m_pInterfaceContainer->getContainer( cppu::UnoType<util::XCloseListener>::get());
if ( pCloseContainer != nullptr )
{
if ( m_xWrappedObject.is() )
{
- ::cppu::OInterfaceIteratorHelper pIterator( *pCloseContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pCloseContainer );
while ( pIterator.hasMoreElements() )
{
try
diff --git a/embeddedobj/source/msole/olemisc.cxx b/embeddedobj/source/msole/olemisc.cxx
index f85c845e31a8..a4045f34b4f2 100644
--- a/embeddedobj/source/msole/olemisc.cxx
+++ b/embeddedobj/source/msole/olemisc.cxx
@@ -28,7 +28,7 @@
#include <com/sun/star/lang/XComponent.hpp>
#include <com/sun/star/lang/DisposedException.hpp>
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include <comphelper/sequenceashashmap.hxx>
#include <oleembobj.hxx>
@@ -156,14 +156,14 @@ void OleEmbeddedObject::MakeEventListenerNotification_Impl( const OUString& aEve
if ( !m_pInterfaceContainer )
return;
- ::cppu::OInterfaceContainerHelper* pContainer =
- m_pInterfaceContainer->getContainer(
+ comphelper::OInterfaceContainerHelper2* pContainer =
+ m_pInterfaceContainer->getContainer(
cppu::UnoType<document::XEventListener>::get());
if ( pContainer == nullptr )
return;
document::EventObject aEvent( static_cast< ::cppu::OWeakObject* >( this ), aEventName );
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
@@ -181,12 +181,12 @@ void OleEmbeddedObject::StateChangeNotification_Impl( bool bBeforeChange, sal_In
{
if ( m_pInterfaceContainer )
{
- ::cppu::OInterfaceContainerHelper* pContainer = m_pInterfaceContainer->getContainer(
+ comphelper::OInterfaceContainerHelper2* pContainer = m_pInterfaceContainer->getContainer(
cppu::UnoType<embed::XStateChangeListener>::get());
if ( pContainer != nullptr )
{
lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >( this ) );
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
@@ -399,7 +399,7 @@ void SAL_CALL OleEmbeddedObject::addStateChangeListener( const uno::Reference< e
throw lang::DisposedException(); // TODO
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer.reset(new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex ));
+ m_pInterfaceContainer.reset(new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex ));
m_pInterfaceContainer->addInterface( cppu::UnoType<embed::XStateChangeListener>::get(),
xListener );
@@ -446,11 +446,11 @@ void SAL_CALL OleEmbeddedObject::close( sal_Bool bDeliverOwnership )
if ( m_pInterfaceContainer )
{
- ::cppu::OInterfaceContainerHelper* pContainer =
+ comphelper::OInterfaceContainerHelper2* pContainer =
m_pInterfaceContainer->getContainer( cppu::UnoType<util::XCloseListener>::get());
if ( pContainer != nullptr )
{
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
@@ -468,7 +468,7 @@ void SAL_CALL OleEmbeddedObject::close( sal_Bool bDeliverOwnership )
cppu::UnoType<util::XCloseListener>::get());
if ( pContainer != nullptr )
{
- ::cppu::OInterfaceIteratorHelper pCloseIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pCloseIterator(*pContainer);
while (pCloseIterator.hasMoreElements())
{
try
@@ -504,7 +504,7 @@ void SAL_CALL OleEmbeddedObject::addCloseListener( const uno::Reference< util::X
throw lang::DisposedException(); // TODO
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer.reset(new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex ));
+ m_pInterfaceContainer.reset(new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex ));
m_pInterfaceContainer->addInterface( cppu::UnoType<util::XCloseListener>::get(), xListener );
}
@@ -549,7 +549,7 @@ void SAL_CALL OleEmbeddedObject::addEventListener( const uno::Reference< documen
throw lang::DisposedException(); // TODO
if ( !m_pInterfaceContainer )
- m_pInterfaceContainer.reset(new ::cppu::OMultiTypeInterfaceContainerHelper( m_aMutex ));
+ m_pInterfaceContainer.reset(new comphelper::OMultiTypeInterfaceContainerHelper2( m_aMutex ));
m_pInterfaceContainer->addInterface( cppu::UnoType<document::XEventListener>::get(), xListener );
}
diff --git a/extensions/source/bibliography/framectr.cxx b/extensions/source/bibliography/framectr.cxx
index e83580689435..8c1d6eefddc3 100644
--- a/extensions/source/bibliography/framectr.cxx
+++ b/extensions/source/bibliography/framectr.cxx
@@ -38,7 +38,7 @@
#include <com/sun/star/sdb/RowChangeAction.hpp>
#include <com/sun/star/frame/CommandGroup.hpp>
#include <com/sun/star/datatransfer/clipboard/XClipboard.hpp>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <sot/exchange.hxx>
#include <sot/formats.hxx>
@@ -121,7 +121,7 @@ class BibFrameCtrl_Impl : public cppu::WeakImplHelper < XFrameActionListener >
{
public:
Mutex aMutex;
- OMultiTypeInterfaceContainerHelper aLC;
+ comphelper::OMultiTypeInterfaceContainerHelper2 aLC;
BibFrameController_Impl* pController;
diff --git a/filter/source/config/cache/basecontainer.cxx b/filter/source/config/cache/basecontainer.cxx
index 71eb4f931399..4047f4df2719 100644
--- a/filter/source/config/cache/basecontainer.cxx
+++ b/filter/source/config/cache/basecontainer.cxx
@@ -451,11 +451,11 @@ void SAL_CALL BaseContainer::flush()
// Further it's not a good idea to hold the own lock
// if an outside object is called :-)
css::lang::EventObject aSource (static_cast< css::util::XFlushable* >(this));
- ::cppu::OInterfaceContainerHelper* pContainer = m_lListener.getContainer(cppu::UnoType<css::util::XFlushListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_lListener.getContainer(cppu::UnoType<css::util::XFlushListener>::get());
if (!pContainer)
return;
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
diff --git a/filter/source/config/cache/basecontainer.hxx b/filter/source/config/cache/basecontainer.hxx
index 001c304ffaed..dee054d90731 100644
--- a/filter/source/config/cache/basecontainer.hxx
+++ b/filter/source/config/cache/basecontainer.hxx
@@ -27,7 +27,7 @@
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/container/XContainerQuery.hpp>
#include <com/sun/star/util/XFlushable.hpp>
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/implbase.hxx>
#include <cppuhelper/weakref.hxx>
#include <rtl/ustring.hxx>
@@ -93,7 +93,7 @@ class BaseContainer : public BaseLock
FilterCache::EItemType m_eType;
/** @short holds all listener, which are registered at this instance. */
- ::cppu::OMultiTypeInterfaceContainerHelper m_lListener;
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_lListener;
// native interface
diff --git a/filter/source/config/cache/configflush.cxx b/filter/source/config/cache/configflush.cxx
index 5643e2d0ccf4..017fd8b19bb1 100644
--- a/filter/source/config/cache/configflush.cxx
+++ b/filter/source/config/cache/configflush.cxx
@@ -59,11 +59,11 @@ void SAL_CALL ConfigFlush::refresh()
// Further it's not a good idea to hold the own lock
// if an outside object is called :-)
css::lang::EventObject aSource (static_cast< css::util::XRefreshable* >(this));
- ::cppu::OInterfaceContainerHelper* pContainer = m_lListener.getContainer(cppu::UnoType<css::util::XRefreshListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_lListener.getContainer(cppu::UnoType<css::util::XRefreshListener>::get());
if (!pContainer)
return;
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
diff --git a/filter/source/config/cache/configflush.hxx b/filter/source/config/cache/configflush.hxx
index 05edb639c886..20b1c14caae6 100644
--- a/filter/source/config/cache/configflush.hxx
+++ b/filter/source/config/cache/configflush.hxx
@@ -21,7 +21,7 @@
#include "cacheitem.hxx"
#include <com/sun/star/util/XRefreshable.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/implbase.hxx>
@@ -41,7 +41,7 @@ class ConfigFlush final : public BaseLock
>
{
/** @short holds all listener, which are registered at this instance. */
- ::cppu::OMultiTypeInterfaceContainerHelper m_lListener;
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_lListener;
// native interface
diff --git a/fpicker/source/win32/VistaFilePickerEventHandler.cxx b/fpicker/source/win32/VistaFilePickerEventHandler.cxx
index c7946b0216bc..97c0c9fbd41e 100644
--- a/fpicker/source/win32/VistaFilePickerEventHandler.cxx
+++ b/fpicker/source/win32/VistaFilePickerEventHandler.cxx
@@ -279,11 +279,11 @@ void doRequest(Request& rRequest)
void VistaFilePickerEventHandler::impl_sendEvent( EEventType eEventType,
::sal_Int16 nControlID)
{
- ::cppu::OInterfaceContainerHelper* pContainer = m_lListener.getContainer( cppu::UnoType<css::ui::dialogs::XFilePickerListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_lListener.getContainer( cppu::UnoType<css::ui::dialogs::XFilePickerListener>::get());
if ( ! pContainer)
return;
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
diff --git a/fpicker/source/win32/VistaFilePickerEventHandler.hxx b/fpicker/source/win32/VistaFilePickerEventHandler.hxx
index 71199cd07b45..b27ef7326f35 100644
--- a/fpicker/source/win32/VistaFilePickerEventHandler.hxx
+++ b/fpicker/source/win32/VistaFilePickerEventHandler.hxx
@@ -28,7 +28,7 @@
#include <com/sun/star/uno/Reference.hxx>
#include <cppuhelper/basemutex.hxx>
-#include <cppuhelper/interfacecontainer.h>
+#include <comphelper/multicontainer2.hxx>
#include <osl/interlck.h>
namespace fpicker{
@@ -182,7 +182,7 @@ class VistaFilePickerEventHandler : public ::cppu::BaseMutex
* be locked during this time. If we call our listener back now synchronously ..
* we will block on SolarMutex.acquire() forever .-))
*/
- ::cppu::OMultiTypeInterfaceContainerHelper m_lListener;
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_lListener;
};
} // namespace vista
diff --git a/framework/inc/helper/uiconfigelementwrapperbase.hxx b/framework/inc/helper/uiconfigelementwrapperbase.hxx
index a58c187c0945..5b561bef5db5 100644
--- a/framework/inc/helper/uiconfigelementwrapperbase.hxx
+++ b/framework/inc/helper/uiconfigelementwrapperbase.hxx
@@ -30,6 +30,7 @@
#include <com/sun/star/lang/XComponent.hpp>
#include <rtl/ustring.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/basemutex.hxx>
#include <cppuhelper/propshlp.hxx>
#include <cppuhelper/implbase.hxx>
@@ -132,7 +133,7 @@ class UIConfigElementWrapperBase : private cppu::BaseMutex,
css::uno::Reference< css::container::XIndexAccess > m_xConfigData;
css::uno::WeakReference< css::frame::XFrame > m_xWeakFrame;
css::uno::Reference< css::awt::XMenuBar > m_xMenuBar;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
};
} // namespace framework
diff --git a/framework/inc/helper/uielementwrapperbase.hxx b/framework/inc/helper/uielementwrapperbase.hxx
index 71fc8d0784ae..573755f2020d 100644
--- a/framework/inc/helper/uielementwrapperbase.hxx
+++ b/framework/inc/helper/uielementwrapperbase.hxx
@@ -26,6 +26,7 @@
#include <com/sun/star/util/XUpdatable.hpp>
#include <rtl/ustring.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/basemutex.hxx>
#include <cppuhelper/propshlp.hxx>
#include <cppuhelper/implbase.hxx>
@@ -98,7 +99,7 @@ class UIElementWrapperBase : private cppu::BaseMutex,
static css::uno::Sequence< css::beans::Property > impl_getStaticPropertyDescriptor();
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
OUString m_aResourceURL;
css::uno::WeakReference< css::frame::XFrame > m_xWeakFrame;
sal_Int16 m_nType;
diff --git a/framework/inc/services/layoutmanager.hxx b/framework/inc/services/layoutmanager.hxx
index 0274492db1d3..189be410bfc9 100644
--- a/framework/inc/services/layoutmanager.hxx
+++ b/framework/inc/services/layoutmanager.hxx
@@ -35,7 +35,7 @@
#include <cppuhelper/basemutex.hxx>
#include <cppuhelper/propshlp.hxx>
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <comphelper/propertycontainer.hxx>
#include <comphelper/uno3.hxx>
@@ -261,7 +261,7 @@ namespace framework
std::unique_ptr<GlobalSettings> m_pGlobalSettings;
OUString m_aModuleIdentifier;
Timer m_aAsyncLayoutTimer;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; // container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; // container for ALL Listener
rtl::Reference< ToolbarLayoutManager > m_xToolbarManager;
friend class detail::InfoHelperBuilder;
diff --git a/framework/inc/uielement/statusbarmanager.hxx b/framework/inc/uielement/statusbarmanager.hxx
index c4b2876277ad..99cf94ea1d59 100644
--- a/framework/inc/uielement/statusbarmanager.hxx
+++ b/framework/inc/uielement/statusbarmanager.hxx
@@ -26,7 +26,7 @@
#include <com/sun/star/uno/XComponentContext.hpp>
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <vcl/status.hxx>
#include <vcl/vclptr.hxx>
#include <map>
@@ -93,7 +93,7 @@ class StatusBarManager final: public ::cppu::WeakImplHelper<
css::uno::Reference< css::frame::XFrame > m_xFrame;
StatusBarControllerMap m_aControllerMap;
osl::Mutex m_mutex;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
css::uno::Reference< css::uno::XComponentContext > m_xContext;
css::uno::Reference< css::frame::XUIControllerFactory > m_xStatusbarControllerFactory;
};
diff --git a/framework/inc/uielement/toolbarmanager.hxx b/framework/inc/uielement/toolbarmanager.hxx
index 6de526423d38..a12528415184 100644
--- a/framework/inc/uielement/toolbarmanager.hxx
+++ b/framework/inc/uielement/toolbarmanager.hxx
@@ -37,7 +37,7 @@
#include <rtl/ustring.hxx>
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <tools/link.hxx>
#include <vcl/weld.hxx>
@@ -229,7 +229,7 @@ class ToolBarManager final : public ToolbarManager_Base
css::uno::Reference< css::frame::XFrame > m_xFrame;
ToolBarControllerMap m_aControllerMap;
osl::Mutex m_mutex;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
css::uno::Reference< css::uno::XComponentContext > m_xContext;
css::uno::Reference< css::frame::XUIControllerFactory > m_xToolbarControllerFactory;
css::uno::Reference< css::ui::XImageManager > m_xModuleImageManager;
diff --git a/framework/source/fwe/helper/titlehelper.cxx b/framework/source/fwe/helper/titlehelper.cxx
index ae9c1f348b0e..246032945512 100644
--- a/framework/source/fwe/helper/titlehelper.cxx
+++ b/framework/source/fwe/helper/titlehelper.cxx
@@ -283,11 +283,11 @@ void TitleHelper::impl_sendTitleChangedEvent ()
if( ! aEvent.Source.is() )
return;
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListener.getContainer( cppu::UnoType<css::frame::XTitleChangeListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListener.getContainer( cppu::UnoType<css::frame::XTitleChangeListener>::get());
if ( ! pContainer)
return;
- ::cppu::OInterfaceIteratorHelper pIt( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 pIt( *pContainer );
while ( pIt.hasMoreElements() )
{
try
diff --git a/framework/source/layoutmanager/layoutmanager.cxx b/framework/source/layoutmanager/layoutmanager.cxx
index a717de1fa00f..4d821b4e08ae 100644
--- a/framework/source/layoutmanager/layoutmanager.cxx
+++ b/framework/source/layoutmanager/layoutmanager.cxx
@@ -2580,12 +2580,12 @@ void SAL_CALL LayoutManager::removeLayoutManagerEventListener( const uno::Refere
void LayoutManager::implts_notifyListeners(short nEvent, const uno::Any& rInfoParam)
{
- lang::EventObject aSource( static_cast< ::cppu::OWeakObject*>(this) );
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<frame::XLayoutManagerListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<frame::XLayoutManagerListener>::get());
if (pContainer==nullptr)
return;
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ lang::EventObject aSource( static_cast< ::cppu::OWeakObject*>(this) );
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
diff --git a/framework/source/services/desktop.cxx b/framework/source/services/desktop.cxx
index 0315ab1bae70..ea2f0cac77f5 100644
--- a/framework/source/services/desktop.cxx
+++ b/framework/source/services/desktop.cxx
@@ -1554,13 +1554,13 @@ bool Desktop::impl_sendQueryTerminationEvent(Desktop::TTerminateListenerList& lC
{
TransactionGuard aTransaction( m_aTransactionManager, E_HARDEXCEPTIONS );
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::frame::XTerminateListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::frame::XTerminateListener>::get());
if ( ! pContainer )
return true;
css::lang::EventObject aEvent( static_cast< ::cppu::OWeakObject* >(this) );
- ::cppu::OInterfaceIteratorHelper aIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 aIterator( *pContainer );
while ( aIterator.hasMoreElements() )
{
try
@@ -1612,11 +1612,11 @@ void Desktop::impl_sendTerminateToClipboard()
{
TransactionGuard aTransaction( m_aTransactionManager, E_HARDEXCEPTIONS );
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::frame::XTerminateListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::frame::XTerminateListener>::get());
if ( ! pContainer )
return;
- ::cppu::OInterfaceIteratorHelper aIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 aIterator( *pContainer );
while ( aIterator.hasMoreElements() )
{
try
@@ -1650,13 +1650,13 @@ void Desktop::impl_sendNotifyTerminationEvent()
{
TransactionGuard aTransaction( m_aTransactionManager, E_HARDEXCEPTIONS );
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::frame::XTerminateListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::frame::XTerminateListener>::get());
if ( ! pContainer )
return;
css::lang::EventObject aEvent( static_cast< ::cppu::OWeakObject* >(this) );
- ::cppu::OInterfaceIteratorHelper aIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 aIterator( *pContainer );
while ( aIterator.hasMoreElements() )
{
try
diff --git a/framework/source/services/frame.cxx b/framework/source/services/frame.cxx
index f74dad8f5fd3..c373c5fa1162 100644
--- a/framework/source/services/frame.cxx
+++ b/framework/source/services/frame.cxx
@@ -68,7 +68,7 @@
#include <cppuhelper/basemutex.hxx>
#include <cppuhelper/compbase.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <cppuhelper/weak.hxx>
#include <sal/log.hxx>
@@ -377,7 +377,7 @@ private:
/// helper for XFrames, XIndexAccess and XElementAccess interfaces
css::uno::Reference< css::frame::XFrames > m_xFramesHelper;
/// container for ALL Listener
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer;
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer;
/// parent of this frame
css::uno::Reference< css::frame::XFramesSupplier > m_xParent;
/// containerwindow of this frame for embedded components
@@ -1671,10 +1671,10 @@ void SAL_CALL XFrameImpl::close( sal_Bool bDeliverOwnership )
// internal operations too...
// Note: container is threadsafe himself.
css::lang::EventObject aSource (static_cast< ::cppu::OWeakObject*>(this));
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::util::XCloseListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::util::XCloseListener>::get());
if (pContainer!=nullptr)
{
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
@@ -1708,7 +1708,7 @@ void SAL_CALL XFrameImpl::close( sal_Bool bDeliverOwnership )
pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::util::XCloseListener>::get());
if (pContainer!=nullptr)
{
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
@@ -2947,7 +2947,7 @@ void XFrameImpl::implts_sendFrameActionEvent( const css::frame::FrameAction& aAc
// Get container for right listener.
// FOLLOW LINES ARE THREADSAFE!!!
// ( OInterfaceContainerHelper2 is synchronized with m_aListenerContainer! )
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer(
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerContainer.getContainer(
cppu::UnoType<css::frame::XFrameActionListener>::get());
if( pContainer == nullptr )
@@ -2957,7 +2957,7 @@ void XFrameImpl::implts_sendFrameActionEvent( const css::frame::FrameAction& aAc
css::frame::FrameActionEvent aFrameActionEvent( static_cast< ::cppu::OWeakObject* >(this), this, aAction );
// Get iterator for access to listener.
- ::cppu::OInterfaceIteratorHelper aIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 aIterator( *pContainer );
// Send message to all listener.
while( aIterator.hasMoreElements() )
{
diff --git a/framework/source/uiconfiguration/imagemanagerimpl.cxx b/framework/source/uiconfiguration/imagemanagerimpl.cxx
index ecd4d18b2391..04ec4db065e1 100644
--- a/framework/source/uiconfiguration/imagemanagerimpl.cxx
+++ b/framework/source/uiconfiguration/imagemanagerimpl.cxx
@@ -1161,12 +1161,12 @@ void ImageManagerImpl::removeConfigurationListener( const uno::Reference< css::u
void ImageManagerImpl::implts_notifyContainerListener( const ConfigurationEvent& aEvent, NotifyOp eOp )
{
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer(
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerContainer.getContainer(
cppu::UnoType<css::ui::XUIConfigurationListener>::get());
if ( pContainer == nullptr )
return;
- ::cppu::OInterfaceIteratorHelper pIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pContainer );
while ( pIterator.hasMoreElements() )
{
try
diff --git a/framework/source/uiconfiguration/imagemanagerimpl.hxx b/framework/source/uiconfiguration/imagemanagerimpl.hxx
index 3621be9fb489..9bc6f4eb7077 100644
--- a/framework/source/uiconfiguration/imagemanagerimpl.hxx
+++ b/framework/source/uiconfiguration/imagemanagerimpl.hxx
@@ -27,7 +27,7 @@
#include <com/sun/star/embed/XTransactedObject.hpp>
#include <cppuhelper/weak.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <rtl/ustring.hxx>
#include <rtl/ref.hxx>
@@ -171,7 +171,7 @@ namespace framework
OUString m_aModuleIdentifier;
OUString m_aResourceString;
osl::Mutex m_mutex;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
o3tl::enumarray<vcl::ImageType,std::unique_ptr<ImageList>> m_pUserImageList;
o3tl::enumarray<vcl::ImageType,bool> m_bUserImageListModified;
bool m_bUseGlobal;
diff --git a/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx b/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
index 8aeea629694a..02954c18dfd6 100644
--- a/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
+++ b/framework/source/uiconfiguration/moduleuiconfigurationmanager.cxx
@@ -54,6 +54,7 @@
#include <cppuhelper/supportsservice.hxx>
#include <vcl/svapp.hxx>
#include <sal/log.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <comphelper/sequenceashashmap.hxx>
#include <comphelper/servicehelper.hxx>
#include <memory>
@@ -211,7 +212,7 @@ private:
css::uno::Reference< css::embed::XTransactedObject > m_xUserRootCommit;
css::uno::Reference< css::uno::XComponentContext > m_xContext;
osl::Mutex m_mutex;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
rtl::Reference< ImageManager > m_xModuleImageManager;
css::uno::Reference< css::ui::XAcceleratorConfiguration > m_xModuleAcceleratorManager;
};
@@ -1610,11 +1611,11 @@ sal_Bool SAL_CALL ModuleUIConfigurationManager::isReadOnly()
void ModuleUIConfigurationManager::implts_notifyContainerListener( const ui::ConfigurationEvent& aEvent, NotifyOp eOp )
{
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::ui::XUIConfigurationListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::ui::XUIConfigurationListener>::get());
if ( pContainer == nullptr )
return;
- ::cppu::OInterfaceIteratorHelper pIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pContainer );
while ( pIterator.hasMoreElements() )
{
try
diff --git a/framework/source/uiconfiguration/uiconfigurationmanager.cxx b/framework/source/uiconfiguration/uiconfigurationmanager.cxx
index e210eb9d2ab5..038c0585ae53 100644
--- a/framework/source/uiconfiguration/uiconfigurationmanager.cxx
+++ b/framework/source/uiconfiguration/uiconfigurationmanager.cxx
@@ -48,6 +48,7 @@
#include <cppuhelper/implbase.hxx>
#include <cppuhelper/supportsservice.hxx>
#include <comphelper/propertysequence.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <comphelper/sequence.hxx>
#include <comphelper/servicehelper.hxx>
#include <vcl/svapp.hxx>
@@ -189,7 +190,7 @@ private:
OUString m_aPropUIName;
css::uno::Reference< css::uno::XComponentContext > m_xContext;
osl::Mutex m_mutex;
- cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
rtl::Reference< ImageManager > m_xImageManager;
css::uno::Reference< css::ui::XAcceleratorConfiguration > m_xAccConfig;
};
@@ -1334,11 +1335,11 @@ sal_Bool SAL_CALL UIConfigurationManager::isReadOnly()
void UIConfigurationManager::implts_notifyContainerListener( const ConfigurationEvent& aEvent, NotifyOp eOp )
{
- ::cppu::OInterfaceContainerHelper* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::ui::XUIConfigurationListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aListenerContainer.getContainer( cppu::UnoType<css::ui::XUIConfigurationListener>::get());
if ( pContainer == nullptr )
return;
- ::cppu::OInterfaceIteratorHelper pIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pContainer );
while ( pIterator.hasMoreElements() )
{
try
diff --git a/include/comphelper/multicontainer2.hxx b/include/comphelper/multicontainer2.hxx
new file mode 100644
index 000000000000..35f0fd9686ef
--- /dev/null
+++ b/include/comphelper/multicontainer2.hxx
@@ -0,0 +1,139 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * This file is part of the LibreOffice project.
+ *
+ * This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/.
+ *
+ * This file incorporates work covered by the following license notice:
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed
+ * with this work for additional information regarding copyright
+ * ownership. The ASF licenses this file to you under the Apache
+ * License, Version 2.0 (the "License"); you may not use this file
+ * except in compliance with the License. You may obtain a copy of
+ * the License at http://www.apache.org/licenses/LICENSE-2.0 .
+ */
+
+#pragma once
+
+#include <sal/config.h>
+
+#include <osl/diagnose.h>
+#include <osl/mutex.hxx>
+#include <com/sun/star/lang/EventObject.hpp>
+#include <com/sun/star/lang/DisposedException.hpp>
+#include <com/sun/star/uno/Sequence.hxx>
+#include <comphelper/comphelperdllapi.h>
+#include <comphelper/interfacecontainer2.hxx>
+#include <cstddef>
+#include <functional>
+#include <memory>
+#include <vector>
+#include <utility>
+
+namespace com::sun::star::uno
+{
+class XInterface;
+}
+
+/** */ //for docpp
+namespace comphelper
+{
+/** Specialized class for key type css::uno::Type,
+ without explicit usage of STL symbols.
+*/
+class COMPHELPER_DLLPUBLIC OMultiTypeInterfaceContainerHelper2
+{
+public:
+ /**
+ 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.
+ */
+ OMultiTypeInterfaceContainerHelper2(::osl::Mutex& rMutex);
+ /**
+ Delete all containers.
+ */
+ ~OMultiTypeInterfaceContainerHelper2();
+
+ /**
+ Return all id's under which at least one interface is added.
+ */
+ std::vector<css::uno::Type> getContainedTypes() const;
+
+ /**
+ Return the container created under this key.
+ @return the container created under this key. If the container
+ was not created, null was returned.
+ */
+ OInterfaceContainerHelper2* getContainer(const css::uno::Type& rKey) const;
+
+ /** 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 addInterface(const css::uno::Type& rKey,
+ const css::uno::Reference<css::uno::XInterface>& r);
+
+ /** 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 removeInterface(const css::uno::Type& rKey,
+ const css::uno::Reference<css::uno::XInterface>& rxIFace);
+
+ /**
+ Call disposing on all object in the container that
+ support XEventListener. Then clear the container.
+ */
+ void disposeAndClear(const css::lang::EventObject& rEvt);
+ /**
+ Remove all elements of all containers. Does not delete the container.
+ */
+ void clear();
+
+ typedef css::uno::Type keyType;
+
+private:
+ typedef std::vector<std::pair<css::uno::Type, std::unique_ptr<OInterfaceContainerHelper2>>>
+ t_type2ptr;
+
+ t_type2ptr::iterator findType(const css::uno::Type& rKey);
+ t_type2ptr::const_iterator findType(const css::uno::Type& rKey) const;
+
+ t_type2ptr m_aMap;
+ ::osl::Mutex& rMutex;
+
+ OMultiTypeInterfaceContainerHelper2(const OMultiTypeInterfaceContainerHelper2&) = delete;
+ OMultiTypeInterfaceContainerHelper2& operator=(const OMultiTypeInterfaceContainerHelper2&)
+ = delete;
+};
+
+} // namespace comphelper
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/include/framework/desktop.hxx b/include/framework/desktop.hxx
index 254a1520bb3e..bd094ee90298 100644
--- a/include/framework/desktop.hxx
+++ b/include/framework/desktop.hxx
@@ -46,6 +46,7 @@
#include <com/sun/star/frame/XDispatchRecorderSupplier.hpp>
#include <com/sun/star/uno/XComponentContext.hpp>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/basemutex.hxx>
#include <cppuhelper/compbase.hxx>
#include <cppuhelper/propshlp.hxx>
@@ -394,7 +395,7 @@ class FWK_DLLPUBLIC Desktop final : private cppu::BaseMutex,
css::uno::Reference< css::uno::XComponentContext > m_xContext; /// reference to factory, which has create this instance
FrameContainer m_aChildTaskContainer; /// array of child tasks (children of desktop are tasks; and tasks are also frames - But pure frames are not accepted!)
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
css::uno::Reference< css::frame::XFrames > m_xFramesHelper; /// helper for XFrames, XIndexAccess, XElementAccess and implementation of a childcontainer!
css::uno::Reference< css::frame::XDispatchProvider > m_xDispatchHelper; /// helper to dispatch something for new tasks, created by "_blank"!
ELoadState m_eLoadState; /// hold information about state of asynchron loading of component for loadComponentFromURL()!
diff --git a/include/framework/titlehelper.hxx b/include/framework/titlehelper.hxx
index 93322818955d..474d709339e2 100644
--- a/include/framework/titlehelper.hxx
+++ b/include/framework/titlehelper.hxx
@@ -29,7 +29,7 @@
#include <cppuhelper/basemutex.hxx>
#include <cppuhelper/weakref.hxx>
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <rtl/ustrbuf.hxx>
@@ -187,7 +187,7 @@ class FWK_DLLPUBLIC TitleHelper final : private ::cppu::BaseMutex
::sal_Int32 m_nLeasedNumber;
/** contains all title change listener */
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListener;
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListener;
};
} // namespace framework
diff --git a/include/svtools/statusbarcontroller.hxx b/include/svtools/statusbarcontroller.hxx
index f62feabc0e01..fee4b2869b25 100644
--- a/include/svtools/statusbarcontroller.hxx
+++ b/include/svtools/statusbarcontroller.hxx
@@ -22,7 +22,7 @@
#include <svtools/svtdllapi.h>
#include <com/sun/star/frame/XStatusbarController.hpp>
#include <cppuhelper/weak.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/basemutex.hxx>
#include <tools/gen.hxx>
#include <unordered_map>
@@ -122,7 +122,7 @@ class SVT_DLLPUBLIC StatusbarController :
css::uno::Reference< css::uno::XComponentContext > m_xContext;
OUString m_aCommandURL;
URLToDispatchMap m_aListenerMap;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
mutable css::uno::Reference< css::util::XURLTransformer > m_xURLTransformer;
css::uno::Reference< css::ui::XStatusbarItem > m_xStatusbarItem;
};
diff --git a/include/svtools/toolboxcontroller.hxx b/include/svtools/toolboxcontroller.hxx
index c8d0e8c8e7de..f2068306438e 100644
--- a/include/svtools/toolboxcontroller.hxx
+++ b/include/svtools/toolboxcontroller.hxx
@@ -27,7 +27,7 @@
#include <com/sun/star/util/XUpdatable.hpp>
#include <com/sun/star/uno/Sequence.hxx>
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <comphelper/broadcasthelper.hxx>
#include <comphelper/proparrhlp.hxx>
#include <comphelper/propertycontainer.hxx>
@@ -181,7 +181,7 @@ class SVT_DLLPUBLIC ToolboxController :
css::uno::Reference< css::uno::XComponentContext > m_xContext;
OUString m_aCommandURL;
URLToDispatchMap m_aListenerMap;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenerContainer; /// container for ALL Listener
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer; /// container for ALL Listener
css::uno::Reference< css::awt::XWindow > m_xParentWindow;
css::uno::Reference< css::util::XURLTransformer > m_xUrlTransformer;
diff --git a/package/source/xstor/owriteablestream.cxx b/package/source/xstor/owriteablestream.cxx
index 1b13d49c79db..89daf8ccafdb 100644
--- a/package/source/xstor/owriteablestream.cxx
+++ b/package/source/xstor/owriteablestream.cxx
@@ -44,6 +44,7 @@
#include <comphelper/processfactory.hxx>
#include <comphelper/storagehelper.hxx>
#include <comphelper/ofopxmlhelper.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <comphelper/refcountedmutex.hxx>
#include <comphelper/sequence.hxx>
@@ -66,7 +67,7 @@ struct WSInternalData_Impl
{
rtl::Reference<comphelper::RefCountedMutex> m_xSharedMutex;
::std::unique_ptr< ::cppu::OTypeCollection> m_pTypeCollection;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenersContainer; // list of listeners
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenersContainer; // list of listeners
sal_Int32 m_nStorageType;
// the mutex reference MUST NOT be empty
@@ -3008,13 +3009,13 @@ void OWriteStream::BroadcastTransaction( sal_Int8 nMessage )
lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >(this) );
- ::cppu::OInterfaceContainerHelper* pContainer =
+ comphelper::OInterfaceContainerHelper2* pContainer =
m_pData->m_aListenersContainer.getContainer(
cppu::UnoType<embed::XTransactionListener>::get());
if ( !pContainer )
return;
- ::cppu::OInterfaceIteratorHelper pIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pContainer );
while ( pIterator.hasMoreElements( ) )
{
OSL_ENSURE( nMessage >= 1 && nMessage <= 4, "Wrong internal notification code is used!" );
diff --git a/package/source/xstor/xstorage.cxx b/package/source/xstor/xstorage.cxx
index f7e86b4234ad..470ec4468130 100644
--- a/package/source/xstor/xstorage.cxx
+++ b/package/source/xstor/xstorage.cxx
@@ -56,6 +56,7 @@
#include <comphelper/storagehelper.hxx>
#include <comphelper/ofopxmlhelper.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <tools/diagnose_ex.h>
#include "xstorage.hxx"
@@ -75,7 +76,7 @@ using namespace ::com::sun::star;
struct StorInternalData_Impl
{
rtl::Reference<comphelper::RefCountedMutex> m_xSharedMutex;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aListenersContainer; // list of listeners
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenersContainer; // list of listeners
::std::unique_ptr< ::cppu::OTypeCollection> m_pTypeCollection;
bool m_bIsRoot;
sal_Int32 m_nStorageType; // the mode in which the storage is used
@@ -1921,12 +1922,12 @@ void OStorage::BroadcastModifiedIfNecessary()
lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >(this) );
- ::cppu::OInterfaceContainerHelper* pContainer =
+ comphelper::OInterfaceContainerHelper2* pContainer =
m_pData->m_aListenersContainer.getContainer(
cppu::UnoType<util::XModifyListener>::get());
if ( pContainer )
{
- ::cppu::OInterfaceIteratorHelper pIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pContainer );
while ( pIterator.hasMoreElements( ) )
{
static_cast<util::XModifyListener*>( pIterator.next( ) )->modified( aSource );
@@ -1953,13 +1954,13 @@ void OStorage::BroadcastTransaction( sal_Int8 nMessage )
lang::EventObject aSource( static_cast< ::cppu::OWeakObject* >(this) );
- ::cppu::OInterfaceContainerHelper* pContainer =
+ comphelper::OInterfaceContainerHelper2* pContainer =
m_pData->m_aListenersContainer.getContainer(
cppu::UnoType<embed::XTransactionListener>::get());
if ( !pContainer )
return;
- ::cppu::OInterfaceIteratorHelper pIterator( *pContainer );
+ comphelper::OInterfaceIteratorHelper2 pIterator( *pContainer );
while ( pIterator.hasMoreElements( ) )
{
OSL_ENSURE( nMessage >= 1 && nMessage <= 4, "Wrong internal notification code is used!" );
diff --git a/sfx2/source/doc/printhelper.cxx b/sfx2/source/doc/printhelper.cxx
index 6ed21500a2a9..cb4fd94571be 100644
--- a/sfx2/source/doc/printhelper.cxx
+++ b/sfx2/source/doc/printhelper.cxx
@@ -39,7 +39,7 @@
#include <tools/urlobj.hxx>
#include <tools/diagnose_ex.h>
#include <ucbhelper/content.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <osl/mutex.hxx>
#include <cppuhelper/implbase.hxx>
#include <vcl/settings.hxx>
@@ -59,7 +59,7 @@ using namespace ::com::sun::star::uno;
struct IMPL_PrintListener_DataContainer : public SfxListener
{
SfxObjectShellRef m_pObjectShell;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aInterfaceContainer;
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aInterfaceContainer;
uno::Reference< css::view::XPrintJob> m_xPrintJob;
css::uno::Sequence< css::beans::PropertyValue > m_aPrintOptions;
@@ -778,7 +778,7 @@ void IMPL_PrintListener_DataContainer::Notify( SfxBroadcaster& rBC, const SfxHin
m_aPrintOptions = pPrintHint->GetOptions();
}
- ::cppu::OInterfaceContainerHelper* pContainer = m_aInterfaceContainer.getContainer(
+ comphelper::OInterfaceContainerHelper2* pContainer = m_aInterfaceContainer.getContainer(
cppu::UnoType<view::XPrintJobListener>::get());
if ( !pContainer )
return;
@@ -787,7 +787,7 @@ void IMPL_PrintListener_DataContainer::Notify( SfxBroadcaster& rBC, const SfxHin
aEvent.Source = m_xPrintJob;
aEvent.State = pPrintHint->GetWhich();
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
static_cast<view::XPrintJobListener*>(pIterator.next())->printJobEvent( aEvent );
}
diff --git a/sfx2/source/doc/sfxbasemodel.cxx b/sfx2/source/doc/sfxbasemodel.cxx
index c95c068463cd..50835238c40b 100644
--- a/sfx2/source/doc/sfxbasemodel.cxx
+++ b/sfx2/source/doc/sfxbasemodel.cxx
@@ -59,7 +59,7 @@
#include <comphelper/enumhelper.hxx>
#include <cppuhelper/implbase.hxx>
-#include <cppuhelper/interfacecontainer.hxx>
+#include <comphelper/multicontainer2.hxx>
#include <cppuhelper/exc_hlp.hxx>
#include <comphelper/processfactory.hxx>
#include <comphelper/sequenceashashmap.hxx>
@@ -188,7 +188,7 @@ struct IMPL_SfxBaseModel_DataContainer : public ::sfx2::IModifiableDocument
OUString m_sURL ;
OUString m_sRuntimeUID ;
OUString m_aPreusedFilterName ;
- ::cppu::OMultiTypeInterfaceContainerHelper m_aInterfaceContainer ;
+ comphelper::OMultiTypeInterfaceContainerHelper2 m_aInterfaceContainer ;
std::unordered_map<css::uno::Reference< css::drawing::XShape >,
std::vector<css::uno::Reference< css::document::XShapeEventListener >>> maShapeListeners;
Reference< XInterface > m_xParent ;
@@ -331,10 +331,10 @@ void SAL_CALL SfxPrintHelperListener_Impl::disposing( const lang::EventObject& )
void SAL_CALL SfxPrintHelperListener_Impl::printJobEvent( const view::PrintJobEvent& rEvent )
{
- ::cppu::OInterfaceContainerHelper* pContainer = m_pData->m_aInterfaceContainer.getContainer( cppu::UnoType<view::XPrintJobListener>::get());
+ ::comphelper::OInterfaceContainerHelper2* pContainer = m_pData->m_aInterfaceContainer.getContainer( cppu::UnoType<view::XPrintJobListener>::get());
if ( pContainer!=nullptr )
{
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ ::comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
static_cast<view::XPrintJobListener*>(pIterator.next())->printJobEvent( rEvent );
}
@@ -1427,10 +1427,10 @@ void SAL_CALL SfxBaseModel::close( sal_Bool bDeliverOwnership )
Reference< XInterface > xSelfHold( static_cast< ::cppu::OWeakObject* >(this) );
lang::EventObject aSource ( static_cast< ::cppu::OWeakObject* >(this) );
- ::cppu::OInterfaceContainerHelper* pContainer = m_pData->m_aInterfaceContainer.getContainer( cppu::UnoType<util::XCloseListener>::get());
+ comphelper::OInterfaceContainerHelper2* pContainer = m_pData->m_aInterfaceContainer.getContainer( cppu::UnoType<util::XCloseListener>::get());
if (pContainer!=nullptr)
{
- ::cppu::OInterfaceIteratorHelper pIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pIterator(*pContainer);
while (pIterator.hasMoreElements())
{
try
@@ -1458,7 +1458,7 @@ void SAL_CALL SfxBaseModel::close( sal_Bool bDeliverOwnership )
pContainer = m_pData->m_aInterfaceContainer.getContainer( cppu::UnoType<util::XCloseListener>::get());
if (pContainer!=nullptr)
{
- ::cppu::OInterfaceIteratorHelper pCloseIterator(*pContainer);
+ comphelper::OInterfaceIteratorHelper2 pCloseIterator(*pContainer);
while (pCloseIterator.hasMoreElements())
{
try
@@ -2900,7 +2900,7 @@ void SfxBaseModel::Notify( SfxBroadcaster& rBC ,
void SfxBaseModel::NotifyModifyListeners_Impl() const
{
... etc. - the rest is truncated
More information about the Libreoffice-commits
mailing list