diff options
author | Jörg Barfurth <jb@openoffice.org> | 2000-12-20 11:14:21 +0000 |
---|---|---|
committer | Jörg Barfurth <jb@openoffice.org> | 2000-12-20 11:14:21 +0000 |
commit | 91480223cbf15c16ef6d8f3cc7f2a9e80ce01dce (patch) | |
tree | d307b8241f6d993dc946c0e64709d0b88002aef8 /configmgr/source/inc/treeactions.hxx | |
parent | b5d75f25a0ec990bca47838f230ec47ee544ec09 (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.hxx | 35 |
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 |