diff options
Diffstat (limited to 'filter/source/config/cache/basecontainer.hxx')
-rw-r--r-- | filter/source/config/cache/basecontainer.hxx | 24 |
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 |