From 0f92ed12ff8a0f46e80ff8cfc030c476d371c19b Mon Sep 17 00:00:00 2001 From: Jonathan Beck Date: Tue, 10 Nov 2009 18:30:43 +0100 Subject: Remove wrongly exposed SetParent method. --- src/Array.cpp | 4 ++-- src/Dictionary.cpp | 2 +- src/Node.cpp | 15 --------------- src/Structure.cpp | 15 +++++++++++++++ 4 files changed, 18 insertions(+), 18 deletions(-) (limited to 'src') diff --git a/src/Array.cpp b/src/Array.cpp index a847ae2..3069314 100644 --- a/src/Array.cpp +++ b/src/Array.cpp @@ -101,7 +101,7 @@ void Array::Append(Node* node) if (node) { Node* clone = node->Clone(); - clone->SetParent(this); + UpdateNodeParent(clone); plist_array_append_item(_node, clone->GetPlist()); _array.push_back(clone); } @@ -112,7 +112,7 @@ void Array::Insert(Node* node, unsigned int pos) if (node) { Node* clone = node->Clone(); - clone->SetParent(this); + UpdateNodeParent(clone); plist_array_insert_item(_node, clone->GetPlist(), pos); std::vector::iterator it = _array.begin(); it += pos; diff --git a/src/Dictionary.cpp b/src/Dictionary.cpp index 62ed433..8b5565f 100644 --- a/src/Dictionary.cpp +++ b/src/Dictionary.cpp @@ -147,7 +147,7 @@ Dictionary::iterator Dictionary::Insert(const std::string& key, Node* node) if (node) { Node* clone = node->Clone(); - clone->SetParent(this); + UpdateNodeParent(clone); plist_dict_insert_item(_node, key.c_str(), clone->GetPlist()); delete _map[key]; _map[key] = clone; diff --git a/src/Node.cpp b/src/Node.cpp index 8ed3c6a..b0cc96a 100644 --- a/src/Node.cpp +++ b/src/Node.cpp @@ -96,19 +96,4 @@ Node* Node::GetParent() return _parent; } -void Node::SetParent(Node* parent) -{ - //Unlink node first - if ( NULL != _parent ) - { - plist_type type = plist_get_node_type(_parent); - if (PLIST_ARRAY ==type || PLIST_DICT == type ) - { - Structure* s = static_cast(_parent); - s->Remove(this); - } - } - _parent = parent; -} - }; diff --git a/src/Structure.cpp b/src/Structure.cpp index 872d396..cf7c611 100644 --- a/src/Structure.cpp +++ b/src/Structure.cpp @@ -70,5 +70,20 @@ std::vector Structure::ToBin() return ret; } +void Structure::UpdateNodeParent(Node* node) +{ + //Unlink node first + if ( NULL != node->_parent ) + { + plist_type type = plist_get_node_type(node->_parent); + if (PLIST_ARRAY ==type || PLIST_DICT == type ) + { + Structure* s = static_cast(node->_parent); + s->Remove(node); + } + } + node->_parent = this; +} + }; -- cgit v1.1-32-gdbae