summaryrefslogtreecommitdiff
path: root/configmgr/source/inc/treeactions.hxx
diff options
context:
space:
mode:
authorJörg Barfurth <jb@openoffice.org>2000-12-20 11:14:21 +0000
committerJörg Barfurth <jb@openoffice.org>2000-12-20 11:14:21 +0000
commit91480223cbf15c16ef6d8f3cc7f2a9e80ce01dce (patch)
treed307b8241f6d993dc946c0e64709d0b88002aef8 /configmgr/source/inc/treeactions.hxx
parentb5d75f25a0ec990bca47838f230ec47ee544ec09 (diff)
#81540# Improved node-id handling in the Cache when doing updates or notifications
Diffstat (limited to 'configmgr/source/inc/treeactions.hxx')
-rw-r--r--configmgr/source/inc/treeactions.hxx35
1 files changed, 33 insertions, 2 deletions
diff --git a/configmgr/source/inc/treeactions.hxx b/configmgr/source/inc/treeactions.hxx
index cfcdad143fd2..850412b9dae8 100644
--- a/configmgr/source/inc/treeactions.hxx
+++ b/configmgr/source/inc/treeactions.hxx
@@ -2,9 +2,9 @@
*
* $RCSfile: treeactions.hxx,v $
*
- * $Revision: 1.6 $
+ * $Revision: 1.7 $
*
- * last change: $Author: dg $ $Date: 2000-11-30 09:01:47 $
+ * last change: $Author: jb $ $Date: 2000-12-20 12:14:20 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -75,6 +75,37 @@
namespace configmgr
{
//..........................................................................
+//==========================================================================
+//= OIdPropagator
+//==========================================================================
+/** propagates a node id to a subtree and its descendants
+*/
+class OIdPropagator : private NodeModification
+{
+ ::rtl::OUString sId;
+
+ OIdPropagator(const ::rtl::OUString& _rId) : sId(_rId) { }
+ virtual void handle(ValueNode& _rValueNode);
+ virtual void handle(ISubtree& _rSubtree);
+
+public:
+ static void propagateIdToChildren(ISubtree& rTree);
+ static void propagateIdToTree( ::rtl::OUString const& aId, ISubtree& rTree);
+};
+
+//==========================================================================
+//= OIdRemover
+//==========================================================================
+/** propagates a node id to a subtree and its descendants
+*/
+class OIdRemover : private NodeModification
+{
+ virtual void handle(ValueNode& _rValueNode);
+ virtual void handle(ISubtree& _rSubtree);
+
+public:
+ static void removeIds(INode& rNode);
+};
//==========================================================================
//= OChangeActionCounter