-rw-r--r-- | libopie2/opiecore/xmltree.cc | 1 | ||||
-rw-r--r-- | libopie2/opiecore/xmltree.h | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/libopie2/opiecore/xmltree.cc b/libopie2/opiecore/xmltree.cc index 408e3c6..27db5b3 100644 --- a/libopie2/opiecore/xmltree.cc +++ b/libopie2/opiecore/xmltree.cc @@ -1,74 +1,75 @@ /* This file is part of the KDE project Copyright (C) 2001 Simon Hausmann <hausmann@kde.org> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #include <qpe/stringutil.h> #include <opie/xmltree.h> #include <qxml.h> #include <assert.h> +using namespace Opie; XMLElement::XMLElement() : m_parent( 0 ), m_next( 0 ), m_prev( 0 ), m_first( 0 ), m_last( 0 ) { } XMLElement::~XMLElement() { XMLElement *n = m_first; while ( n ) { XMLElement *tmp = n; n = n->m_next; delete tmp; } } void XMLElement::appendChild( XMLElement *child ) { if ( child->m_parent ) child->m_parent->removeChild( child ); child->m_parent = this; if ( m_last ) m_last->m_next = child; child->m_prev = m_last; if ( !m_first ) m_first = child; m_last = child; } void XMLElement::insertAfter( XMLElement *newChild, XMLElement *refChild ) { assert( newChild != refChild ); if ( refChild == m_last ) { appendChild( newChild ); return; } assert( refChild ); assert( refChild->m_parent ); diff --git a/libopie2/opiecore/xmltree.h b/libopie2/opiecore/xmltree.h index ed93c23..4a6b6d9 100644 --- a/libopie2/opiecore/xmltree.h +++ b/libopie2/opiecore/xmltree.h @@ -1,112 +1,117 @@ /* This file is part of the KDE project Copyright (C) 2000,2001 Simon Hausmann <hausmann@kde.org> This library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with this library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ #ifndef __bookmarks_h__ #define __bookmarks_h__ #include <qstring.h> #include <qmap.h> #include <qtextstream.h> +namespace Opie +{ + /** * A small xml lib written by Simon Hausmann. */ class XMLElement { public: typedef QMap<QString, QString> AttributeMap; /** * The constructor of XMLElement */ XMLElement(); ~XMLElement(); /** appendChild appends a child to the XMLElement behind the last element. * The ownership of the child get's transfered to the * this XMLElement. * If child is already the child of another parent * it's get removed from the other parent first. */ void appendChild( XMLElement *child ); /** inserts newChild after refChild. If newChild is the child * of another parent the child will get removed. * The ownership of child gets transfered. * */ void insertAfter( XMLElement *newChild, XMLElement *refChild ); /** same as insertAfter but the element get's inserted before refChild. * */ void insertBefore( XMLElement *newChild, XMLElement *refChild ); /** removeChild removes the child from the XMLElement. * The ownership gets dropped. You need to delete the * child yourself. */ void removeChild( XMLElement *child ); /** parent() returns the parent of this XMLElement * If there is no parent 0l gets returned */ XMLElement *parent() const { return m_parent; } XMLElement *firstChild() const { return m_first; } XMLElement *nextChild() const { return m_next; } XMLElement *prevChild() const { return m_prev; } XMLElement *lastChild() const { return m_last; } void setTagName( const QString &tag ) { m_tag = tag; } QString tagName() const { return m_tag; } void setValue( const QString &val ) { m_value = val; } QString value() const { return m_value; } void setAttributes( const AttributeMap &attrs ) { m_attributes = attrs; } AttributeMap attributes() const { return m_attributes; } AttributeMap &attributes() { return m_attributes; } QString attribute( const QString & ) const; void setAttribute( const QString &attr, const QString &value ); void save( QTextStream &stream, uint indent = 0 ); XMLElement *namedItem( const QString &name ); XMLElement *clone() const; static XMLElement *load( const QString &fileName ); private: QString m_tag; QString m_value; AttributeMap m_attributes; XMLElement *m_parent; XMLElement *m_next; XMLElement *m_prev; XMLElement *m_first; XMLElement *m_last; XMLElement( const XMLElement &rhs ); XMLElement &operator=( const XMLElement &rhs ); }; +} // namespace Opie + #endif |