//
//     Copyright 2006 Jim Bublitz <jbublitz@nwinternet.com>
//     Earlier copyrights 1998 - 2005 Jim Bublitz and/or Phil Thompson
//     may also apply


//                 Generated by preSip
//            module khtml  version KDE 3.5.3


// This software is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as
// published by the Free Software Foundation; either version 2 of
// the License, or (at your option) any later version.
//
// This software 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 General Public License for more details.
//
// You should have received a copy of the GNU General Public
// License along with this library; see the file COPYING.
// If not, write to the Free Software Foundation, Inc.,
// 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

namespace DOM
{

class NamedNodeMap
{
%TypeHeaderCode
#include <dom_node.h>
%End


public:
                         NamedNodeMap ();
                         NamedNodeMap (const DOM::NamedNodeMap&);
    ulong                length () const;
    DOM::Node            getNamedItem (const DOM::DOMString&) const;
    DOM::Node            setNamedItem (const DOM::Node&);
    DOM::Node            removeNamedItem (const DOM::DOMString&);
    DOM::Node            item (ulong) const;
    DOM::Node            getNamedItemNS (const DOM::DOMString&, const DOM::DOMString&) const;
    DOM::Node            setNamedItemNS (const DOM::Node&);
    DOM::Node            removeNamedItemNS (const DOM::DOMString&, const DOM::DOMString&);
//ig     NamedNodeMapImpl*    handle () const;
    bool                 isNull () const;

protected:
//ig                          NamedNodeMap (NamedNodeMapImpl*);

};  // class NamedNodeMap


class Node
{
%TypeHeaderCode
#include <dom_node.h>
%End


public:
                         Node ();
                         Node (const DOM::Node&);
//ig                          Node (NodeImpl*);
    bool                 operator == (const DOM::Node&);
    bool                 operator != (const DOM::Node&);

    enum NodeType
    {
        ELEMENT_NODE, 
        ATTRIBUTE_NODE, 
        TEXT_NODE, 
        CDATA_SECTION_NODE, 
        ENTITY_REFERENCE_NODE, 
        ENTITY_NODE, 
        PROCESSING_INSTRUCTION_NODE, 
        COMMENT_NODE, 
        DOCUMENT_NODE, 
        DOCUMENT_TYPE_NODE, 
        DOCUMENT_FRAGMENT_NODE, 
        NOTATION_NODE
    };

    DOM::DOMString       nodeName () const;
    DOM::DOMString       nodeValue () const;
    void                 setNodeValue (const DOM::DOMString&);
    ushort               nodeType () const;
    DOM::Node            parentNode () const;
    DOM::NodeList        childNodes () const;
    DOM::Node            firstChild () const;
    DOM::Node            lastChild () const;
    DOM::Node            previousSibling () const;
    DOM::Node            nextSibling () const;
    DOM::NamedNodeMap    attributes () const;
    DOM::Document        ownerDocument () const;
    DOM::Node            insertBefore (const DOM::Node&, const DOM::Node&);
    DOM::Node            replaceChild (const DOM::Node&, const DOM::Node&);
    DOM::Node            removeChild (const DOM::Node&);
    DOM::Node            appendChild (const DOM::Node&);
    bool                 hasChildNodes ();
    DOM::Node            cloneNode (bool);
    void                 normalize ();
    bool                 isSupported (const DOM::DOMString&, const DOM::DOMString&) const;
    DOM::DOMString       namespaceURI () const;
    DOM::DOMString       prefix () const;
    void                 setPrefix (const DOM::DOMString&);
    DOM::DOMString       localName () const;
    bool                 hasAttributes ();
    void                 addEventListener (const DOM::DOMString&, DOM::EventListener*, const bool);
    void                 removeEventListener (const DOM::DOMString&, DOM::EventListener*, bool);
    bool                 dispatchEvent (const DOM::Event&);
    ulong                elementId () const;
    bool                 isNull () const;
//ig     NodeImpl*            handle () const;
    ulong                index () const;
    QString              toHTML ();
    void                 applyChanges ();
    void                 getCursor (int, int&, int&, int&);
    QRect                getRect ();

protected:

};  // class Node


class NodeList
{
%TypeHeaderCode
#include <dom_node.h>
%End


public:
                         NodeList ();
                         NodeList (const DOM::NodeList&);
    ulong                length () const;
    DOM::Node            item (ulong) const;
//ig     NodeListImpl*        handle () const;
    bool                 isNull () const;

protected:
//ig                          NodeList (const NodeListImpl*);

};  // class NodeList

//ig typedef ulonglong DOMTimeStamp;
};  // namespace DOM

