From ff1d2ba5010821bb4f526dc7a51a99b9e6c4dd25 Mon Sep 17 00:00:00 2001 From: Michael Meeks Date: Thu, 26 Jun 2014 14:24:20 +0100 Subject: configmgr: hide NodeMap implementation. Change-Id: I57c81b5ec7a6541a825e42f9b68e7c5fa98f316f --- configmgr/source/node.hxx | 5 ++--- configmgr/source/nodemap.hxx | 31 +++++++++++++++++++++++++++---- configmgr/source/valueparser.cxx | 2 +- 3 files changed, 30 insertions(+), 8 deletions(-) diff --git a/configmgr/source/node.hxx b/configmgr/source/node.hxx index 6537973f7841..8bd000c7e207 100644 --- a/configmgr/source/node.hxx +++ b/configmgr/source/node.hxx @@ -25,11 +25,10 @@ #include #include -#include "nodemap.hxx" - - namespace configmgr { +class NodeMap; + class Node: public salhelper::SimpleReferenceObject { public: enum Kind { diff --git a/configmgr/source/nodemap.hxx b/configmgr/source/nodemap.hxx index a304cc214f14..7b8d126e63f1 100644 --- a/configmgr/source/nodemap.hxx +++ b/configmgr/source/nodemap.hxx @@ -23,13 +23,36 @@ #include #include #include - +#include namespace configmgr { -class Node; - -typedef std::map< OUString, rtl::Reference< Node > > NodeMap; +typedef std::map< OUString, rtl::Reference< Node > > NodeMapImpl; +class NodeMap +{ + NodeMapImpl aImpl; + public: + typedef NodeMapImpl::iterator iterator; + typedef NodeMapImpl::const_iterator const_iterator; + typedef NodeMapImpl::value_type value_type; + + NodeMap() {} + ~NodeMap() {} + void clear() { aImpl.clear(); } + bool empty() { return aImpl.empty(); } + void erase(const iterator &it) { aImpl.erase(it); } + void erase(const OUString &aStr) { aImpl.erase(aStr); } + iterator find(const OUString &aStr) { return aImpl.find( aStr ); } + + const_iterator find(const OUString &aStr) const { return aImpl.find( aStr ); } + rtl::Reference &operator[](const OUString &aStr) { return aImpl[aStr]; } + iterator begin() { return aImpl.begin(); } + const_iterator begin() const { return aImpl.begin(); } + + iterator end() { return aImpl.end(); } + const_iterator end() const { return aImpl.end(); } + std::pair insert(const value_type &vt) { return aImpl.insert(vt); } +}; void cloneNodeMap(NodeMap const & source, NodeMap * target); diff --git a/configmgr/source/valueparser.cxx b/configmgr/source/valueparser.cxx index a12d0729f79a..183b51009dd3 100644 --- a/configmgr/source/valueparser.cxx +++ b/configmgr/source/valueparser.cxx @@ -359,7 +359,7 @@ bool ValueParser::endElement() { if (i == members.end()) { pLVNode = new LocalizedValueNode(layer_); members.insert( - NodeMap::value_type(localizedName_, pLVNode)); + NodeMap::value_type(localizedName_, pLVNode )); } else { pLVNode = static_cast< LocalizedValueNode * >(i->second.get()); } -- cgit