summaryrefslogtreecommitdiff
path: root/configmgr/source/treecache/cachemulticaster.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'configmgr/source/treecache/cachemulticaster.hxx')
-rw-r--r--configmgr/source/treecache/cachemulticaster.hxx42
1 files changed, 18 insertions, 24 deletions
diff --git a/configmgr/source/treecache/cachemulticaster.hxx b/configmgr/source/treecache/cachemulticaster.hxx
index 7500cd7cbc..6fcb7fc13b 100644
--- a/configmgr/source/treecache/cachemulticaster.hxx
+++ b/configmgr/source/treecache/cachemulticaster.hxx
@@ -28,64 +28,58 @@
*
************************************************************************/
-/* PLEASE DON'T DELETE ANY COMMENT LINES, ALSO IT'S UNNECESSARY. */
-
-
#ifndef CONFIGMGR_BACKEND_CACHEMULTICASTER_HXX
#define CONFIGMGR_BACKEND_CACHEMULTICASTER_HXX
-#include "cacheddataprovider.hxx"
-#include <osl/mutex.hxx>
+#include "sal/config.h"
-#ifndef INCLUDED_LIST
#include <list>
-#define INCLUDED_LIST
-#endif
+
+#include "osl/mutex.hxx"
+#include "rtl/ref.hxx"
+
+#include "utility.hxx"
namespace configmgr
{
-// ---------------------------------------------------------------------------
+ class TreeManager;
+
namespace backend
{
+ class ComponentRequest;
+ class UpdateRequest;
// ---------------------------------------------------------------------------
/** Interface providing a multicasting service for changes to the cache
- managed by a <type>ICachedDataProvider</type>
+ managed by a <type>CacheController</type>
*/
- class CacheChangeMulticaster : public ICachedDataNotifier
+ class CacheChangeMulticaster
{
public:
CacheChangeMulticaster();
virtual ~CacheChangeMulticaster();
- // ICachedDataNotifier implementation
- public:
- /// notify all registered listeners and close down this notifier
- virtual void dispose(ICachedDataProvider & _rProvider) CFG_NOTHROW();
-
/** notify a new component to all registered listeners.
<p> Must be called after the component has been created in the cache.</p>
*/
- virtual void notifyCreated(ComponentRequest const & _aComponentName) CFG_NOTHROW();
+ void notifyCreated(ComponentRequest const & _aComponentName) SAL_THROW(());
/** notify changed data to all registered listeners.
<p> Must be called after the change has been applied to the cache
and before any subsequent changes to the same component.</p>
*/
- virtual void notifyChanged(UpdateRequest const & _anUpdate) CFG_NOTHROW();
+ void notifyChanged(UpdateRequest const & _anUpdate) SAL_THROW(());
// notification support.
/// register a listener for observing changes to the cached data
- virtual void addListener(ListenerRef _xListener) CFG_NOTHROW();
+ void addListener(rtl::Reference<TreeManager> _xListener) SAL_THROW(());
/// unregister a listener previously registered
- virtual void removeListener(ListenerRef _xListener) CFG_NOTHROW();
+ void removeListener(rtl::Reference<TreeManager> _xListener) SAL_THROW(());
private:
- typedef std::list<ListenerRef> ListenerList;
-
- ListenerList copyListenerList();
+ std::list< rtl::Reference<TreeManager> > copyListenerList();
osl::Mutex m_aMutex;
- ListenerList m_aListeners;
+ std::list< rtl::Reference<TreeManager> > m_aListeners;
};
// ---------------------------------------------------------------------------
} // namespace backend