summaryrefslogtreecommitdiff
path: root/filter/source/config/cache/basecontainer.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'filter/source/config/cache/basecontainer.hxx')
-rw-r--r--filter/source/config/cache/basecontainer.hxx24
1 files changed, 10 insertions, 14 deletions
diff --git a/filter/source/config/cache/basecontainer.hxx b/filter/source/config/cache/basecontainer.hxx
index dee054d90731..f1f63b10bc42 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 <comphelper/multicontainer2.hxx>
+#include <comphelper/interfacecontainer4.hxx>
#include <cppuhelper/implbase.hxx>
#include <cppuhelper/weakref.hxx>
#include <rtl/ustring.hxx>
@@ -49,8 +49,7 @@ namespace filter::config {
present by this base class!) was full initialized inside our own
ctor as first!
*/
-class BaseContainer : public BaseLock
- , public ::cppu::WeakImplHelper< css::lang::XServiceInfo ,
+class BaseContainer : public ::cppu::WeakImplHelper< css::lang::XServiceInfo ,
css::container::XNameContainer , // => XNameReplace => XNameAccess => XElementAccess
css::container::XContainerQuery ,
css::util::XFlushable >
@@ -59,9 +58,7 @@ class BaseContainer : public BaseLock
// member
protected:
-
- // TODO
- css::uno::WeakReference< css::util::XRefreshable > m_xRefreshBroadcaster;
+ mutable std::mutex m_aMutex;
/** @short the implementation name of our derived class, which we provide
at the interface XServiceInfo of our class... */
@@ -93,7 +90,7 @@ class BaseContainer : public BaseLock
FilterCache::EItemType m_eType;
/** @short holds all listener, which are registered at this instance. */
- comphelper::OMultiTypeInterfaceContainerHelper2 m_lListener;
+ comphelper::OInterfaceContainerHelper4<css::util::XFlushListener> m_lListener;
// native interface
@@ -145,10 +142,9 @@ class BaseContainer : public BaseLock
specify, which sub container of the used filter cache
must be wrapped by this container interface.
*/
- void init(const css::uno::Reference< css::uno::XComponentContext >& rxContext ,
- const OUString& sImplementationName,
- const css::uno::Sequence< OUString >& lServiceNames ,
- FilterCache::EItemType eType );
+ void init( const OUString& sImplementationName,
+ const css::uno::Sequence< OUString >& lServiceNames ,
+ FilterCache::EItemType eType );
// helper
@@ -159,7 +155,7 @@ class BaseContainer : public BaseLock
/** @short check if the underlying configuration data was already loaded
and do it if necessary automatically.
*/
- void impl_loadOnDemand();
+ void impl_loadOnDemand(std::unique_lock<std::mutex>& rGuard);
/** @short it creates the global instance m_pFilterCache, which is a copy
@@ -171,7 +167,7 @@ class BaseContainer : public BaseLock
@throws css::uno::RuntimeException
*/
- void impl_initFlushMode();
+ void impl_initFlushMode(std::unique_lock<std::mutex>& rGuard);
/** @short returns a pointer to the current used cache member.
@@ -192,7 +188,7 @@ class BaseContainer : public BaseLock
aLock.clear();
// after this point p can't b e guaranteed any longer!
*/
- FilterCache* impl_getWorkingCache() const;
+ FilterCache* impl_getWorkingCache(std::unique_lock<std::mutex>& rGuard) const;
// uno interface