summaryrefslogtreecommitdiff
path: root/configmgr2/source/rootaccess.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'configmgr2/source/rootaccess.hxx')
-rw-r--r--configmgr2/source/rootaccess.hxx35
1 files changed, 27 insertions, 8 deletions
diff --git a/configmgr2/source/rootaccess.hxx b/configmgr2/source/rootaccess.hxx
index ea67ff2aa2de..3cf8e0620f5c 100644
--- a/configmgr2/source/rootaccess.hxx
+++ b/configmgr2/source/rootaccess.hxx
@@ -32,12 +32,13 @@
#include "sal/config.h"
+#include <set>
+
#include "com/sun/star/lang/WrappedTargetException.hpp"
#include "com/sun/star/uno/RuntimeException.hpp"
#include "com/sun/star/util/ChangesSet.hpp"
#include "com/sun/star/util/XChangesBatch.hpp"
#include "com/sun/star/util/XChangesNotifier.hpp"
-#include "cppuhelper/implbase2.hxx"
#include "rtl/ref.hxx"
#include "rtl/ustring.hxx"
#include "sal/types.h"
@@ -54,19 +55,25 @@ namespace com { namespace sun { namespace star {
namespace configmgr {
+class Broadcaster;
class Node;
+struct Modifications;
-typedef
- cppu::ImplInheritanceHelper2<
- Access, com::sun::star::util::XChangesNotifier,
- com::sun::star::util::XChangesBatch >
- RootAccessBase;
-
-class RootAccess: public RootAccessBase {
+class RootAccess:
+ public Access, public com::sun::star::util::XChangesNotifier,
+ public com::sun::star::util::XChangesBatch
+{
public:
RootAccess(
rtl::OUString const & path, rtl::OUString const & locale, bool update);
+ virtual void initGlobalBroadcaster(
+ Modifications const & localModifications, Broadcaster * broadcaster);
+
+ virtual void SAL_CALL acquire() throw ();
+
+ virtual void SAL_CALL release() throw ();
+
rtl::OUString getLocale() const;
bool isUpdate() const;
@@ -91,6 +98,11 @@ private:
virtual void addSupportedServiceNames(
std::vector< rtl::OUString > * services);
+ virtual void initDisposeBroadcaster(Broadcaster * broadcaster);
+
+ virtual void initLocalBroadcaster(
+ Modifications const & localModifications, Broadcaster * broadcaster);
+
virtual com::sun::star::uno::Any SAL_CALL queryInterface(
com::sun::star::uno::Type const & aType)
throw (com::sun::star::uno::RuntimeException);
@@ -116,12 +128,19 @@ private:
virtual com::sun::star::util::ChangesSet SAL_CALL getPendingChanges()
throw (com::sun::star::uno::RuntimeException);
+ typedef
+ std::multiset<
+ com::sun::star::uno::Reference<
+ com::sun::star::util::XChangesListener > >
+ ChangesListeners;
+
rtl::OUString path_;
rtl::OUString locale_;
bool update_;
bool finalized_;
rtl::Reference< Node > node_;
rtl::OUString name_;
+ ChangesListeners changesListeners_;
};
}