Annotation of win32/gnome/gdome2-x.x.x/libgdome/gdomecore/gdome-xml-node.h, revision 1.1

1.1     ! paf         1: /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 2; tab-width: 2 -*- */
        !             2: /* gdome-xml-node.h
        !             3:  *
        !             4:  * Copyright (C) 1999 Raph Levien <raph@acm.org>
        !             5:  * Copyright (C) 2000 Mathieu Lacage <mathieu@gnu.org>
        !             6:  * Copyright (C) 2001 Paolo Casarini <paolo@casarini.org>
        !             7:  *
        !             8:  * This library is free software; you can redistribute it and/or
        !             9:  * modify it under the terms of the GNU Lesser General Public
        !            10:  * License as published by the Free Software Foundation; either
        !            11:  * version 2.1 of the License, or (at your option) any later version.
        !            12:  * 
        !            13:  * This library is distributed in the hope that it will be useful,
        !            14:  * but WITHOUT ANY WARRANTY; without even the implied warranty of
        !            15:  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
        !            16:  * Lesser General Public License for more details.
        !            17:  * 
        !            18:  * You should have received a copy of the GNU Lesser General Public
        !            19:  * License along with this library; if not, write to the Free Software
        !            20:  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
        !            21:  */
        !            22: 
        !            23: 
        !            24: /* -------------------------------------------------------------- */
        !            25: /* ---------------------------  Node  --------------------------- */
        !            26: /* -------------------------------------------------------------- */
        !            27: 
        !            28: 
        !            29: 
        !            30: #ifndef GDOME_NODE_FILE
        !            31: #define GDOME_NODE_FILE
        !            32: 
        !            33: struct _GdomeNodeVtab {
        !            34:  void                (*ref)                  (GdomeNode *self, GdomeException *exc);
        !            35:  void                (*unref)                (GdomeNode *self, GdomeException *exc);
        !            36:  gpointer            (*query_interface)      (GdomeNode *self, const char *interface,
        !            37:                                                GdomeException *exc);
        !            38:  GdomeDOMString *    (*nodeName)             (GdomeNode *self, GdomeException *exc);
        !            39:  GdomeDOMString *    (*nodeValue)            (GdomeNode *self, GdomeException *exc);
        !            40:  void                (*set_nodeValue)        (GdomeNode *self, GdomeDOMString *nodeValue,
        !            41:                                                GdomeException *exc);
        !            42:   unsigned short      (*nodeType)             (GdomeNode *self, GdomeException *exc);
        !            43:  GdomeNode *         (*parentNode)           (GdomeNode *self, GdomeException *exc);
        !            44:  GdomeNodeList *     (*childNodes)           (GdomeNode *self, GdomeException *exc);
        !            45:  GdomeNode *         (*firstChild)           (GdomeNode *self, GdomeException *exc);
        !            46:  GdomeNode *         (*lastChild)            (GdomeNode *self, GdomeException *exc);
        !            47:  GdomeNode *         (*previousSibling)      (GdomeNode *self, GdomeException *exc);
        !            48:  GdomeNode *         (*nextSibling)          (GdomeNode *self, GdomeException *exc);
        !            49:  GdomeNamedNodeMap * (*attributes)           (GdomeNode *self, GdomeException *exc);
        !            50:  GdomeDocument *     (*ownerDocument)        (GdomeNode *self, GdomeException *exc);
        !            51:  GdomeNode *         (*insertBefore)         (GdomeNode *self, GdomeNode *newChild,
        !            52:                                                GdomeNode *refChild, GdomeException *exc);
        !            53:  GdomeNode *         (*replaceChild)         (GdomeNode *self, GdomeNode *newChild,
        !            54:                                                GdomeNode *oldChild, GdomeException *exc);
        !            55:  GdomeNode *         (*removeChild)          (GdomeNode *self, GdomeNode *oldChild,
        !            56:                                                GdomeException *exc);
        !            57:  GdomeNode *         (*appendChild)          (GdomeNode *self, GdomeNode *newChild,
        !            58:                                                GdomeException *exc);
        !            59:  GdomeBoolean        (*hasChildNodes)        (GdomeNode *self, GdomeException *exc);
        !            60:  GdomeNode *         (*cloneNode)            (GdomeNode *self, GdomeBoolean deep,
        !            61:                                                GdomeException *exc);
        !            62:  void                (*normalize)            (GdomeNode *self, GdomeException *exc);
        !            63:  GdomeBoolean        (*isSupported)          (GdomeNode *self, GdomeDOMString *feature,
        !            64:                                                GdomeDOMString *version, GdomeException *exc);
        !            65:   GdomeDOMString *    (*namespaceURI)         (GdomeNode *self, GdomeException *exc);
        !            66:  GdomeDOMString *    (*prefix)               (GdomeNode *self, GdomeException *exc);
        !            67:  void                (*set_prefix)           (GdomeNode *self, GdomeDOMString *prefix,
        !            68:                                                GdomeException *exc);
        !            69:  GdomeDOMString *    (*localName)            (GdomeNode *self, GdomeException *exc);
        !            70:  GdomeBoolean        (*hasAttributes)        (GdomeNode *self, GdomeException *exc);
        !            71:  void                (*addEventListener)     (GdomeNode *self, GdomeDOMString *type,
        !            72:                                                GdomeEventListener *listener,
        !            73:                                                GdomeBoolean useCapture,
        !            74:                                                GdomeException *exc);
        !            75:  void                (*removeEventListener)  (GdomeNode *self, GdomeDOMString *type,
        !            76:                                                GdomeEventListener *listener,
        !            77:                                                GdomeBoolean useCapture, GdomeException *exc);
        !            78:  GdomeBoolean        (*dispatchEvent)        (GdomeNode *self, GdomeEvent *evt,
        !            79:                                                GdomeException *exc);
        !            80:   void                (*subTreeDispatchEvent) (GdomeNode *self, GdomeEvent *evt,
        !            81:                                                GdomeException *exc);
        !            82:   GdomeBoolean        (*canAppend)            (GdomeNode *self,
        !            83:                                                GdomeNode *newChild,
        !            84:                                                GdomeException *exc);
        !            85: };
        !            86: 
        !            87: /* structure used for the Node events */
        !            88: typedef struct _Gdome_xml_ListenerList Gdome_xml_ListenerList;
        !            89: struct _Gdome_xml_ListenerList {
        !            90:  Gdome_xml_ListenerList *next;
        !            91:  char *type;
        !            92:  GdomeEventListener *listener;
        !            93:   GdomeBoolean useCapture;
        !            94:   GdomeBoolean processing;
        !            95:   GdomeBoolean toRemove;
        !            96: };
        !            97: 
        !            98: 
        !            99: typedef struct _Gdome_xml_Node Gdome_xml_Node;
        !           100: struct _Gdome_xml_Node {
        !           101:  GdomeNode super;
        !           102:  const GdomeNodeVtab *vtab;
        !           103:  int refcnt;
        !           104:   xmlNode *n;
        !           105:   GdomeAccessType accessType;
        !           106:  Gdome_xml_ListenerList *ll;
        !           107: };
        !           108: 
        !           109: const GdomeNodeVtab gdome_xml_n_vtab;
        !           110: 
        !           111: xmlNode           * gdome_xml_n_get_xmlNode      (GdomeNode *node);
        !           112: GdomeNode         * gdome_xml_n_mkref            (xmlNode *n);
        !           113: void                gdome_xml_n_ref              (GdomeNode *self,
        !           114:                                                  GdomeException *exc);
        !           115: void                gdome_xml_n_unref            (GdomeNode *self, 
        !           116:                                                  GdomeException *exc);
        !           117: gpointer            gdome_xml_n_query_interface  (GdomeNode *self,
        !           118:                                                  const char *interface, 
        !           119:                                                  GdomeException *exc);
        !           120: GdomeDOMString    * gdome_xml_n_nodeName         (GdomeNode *self, 
        !           121:                                                  GdomeException *exc);
        !           122: GdomeDOMString    * gdome_xml_n_nodeValue        (GdomeNode *self, 
        !           123:                                                  GdomeException *exc);
        !           124: void                gdome_xml_n_set_nodeValue    (GdomeNode *self, 
        !           125:                                                  GdomeDOMString *nodeValue, 
        !           126:                                                  GdomeException *exc);
        !           127: unsigned short      gdome_xml_n_nodeType         (GdomeNode *self, 
        !           128:                                                  GdomeException *exc);
        !           129: GdomeNode         * gdome_xml_n_parentNode       (GdomeNode *self, 
        !           130:                                                  GdomeException *exc);
        !           131: GdomeNodeList     * gdome_xml_n_childNodes       (GdomeNode *self, 
        !           132:                                                  GdomeException *exc);
        !           133: GdomeNode         * gdome_xml_n_firstChild       (GdomeNode *self, 
        !           134:                                                  GdomeException *exc);
        !           135: GdomeNode         * gdome_xml_n_lastChild        (GdomeNode *self, 
        !           136:                                                  GdomeException *exc);
        !           137: GdomeNode         * gdome_xml_n_previousSibling  (GdomeNode *self, 
        !           138:                                                  GdomeException *exc);
        !           139: GdomeNode         * gdome_xml_n_nextSibling      (GdomeNode *self, 
        !           140:                                                  GdomeException *exc);
        !           141: GdomeNamedNodeMap * gdome_xml_n_attributes       (GdomeNode *self, 
        !           142:                                                  GdomeException *exc);
        !           143: GdomeDocument     * gdome_xml_n_ownerDocument    (GdomeNode *self, 
        !           144:                                                  GdomeException *exc);
        !           145: GdomeNode         * gdome_xml_n_insertBefore     (GdomeNode *self, 
        !           146:                                                  GdomeNode *newChild, 
        !           147:                                                  GdomeNode *refChild, 
        !           148:                                                  GdomeException *exc);
        !           149: GdomeNode         * gdome_xml_n_replaceChild     (GdomeNode *self, 
        !           150:                                                  GdomeNode *newChild, 
        !           151:                                                  GdomeNode *oldChild, 
        !           152:                                                  GdomeException *exc);
        !           153: GdomeNode         * gdome_xml_n_removeChild      (GdomeNode *self, 
        !           154:                                                  GdomeNode *oldChild, 
        !           155:                                                  GdomeException *exc);
        !           156: GdomeNode         * gdome_xml_n_appendChild      (GdomeNode *self, 
        !           157:                                                  GdomeNode *newChild, 
        !           158:                                                  GdomeException *exc);
        !           159: GdomeBoolean        gdome_xml_n_hasChildNodes    (GdomeNode *self, 
        !           160:                                                  GdomeException *exc);
        !           161: GdomeNode         * gdome_xml_n_cloneNode        (GdomeNode *self, 
        !           162:                                                  GdomeBoolean deep, 
        !           163:                                                  GdomeException *exc);
        !           164: void                gdome_xml_n_normalize        (GdomeNode *self, 
        !           165:                                                  GdomeException *exc);
        !           166: GdomeBoolean        gdome_xml_n_isSupported      (GdomeNode *self,
        !           167:                                                  GdomeDOMString *feature, 
        !           168:                                                  GdomeDOMString *version, 
        !           169:                                                  GdomeException *exc);
        !           170: GdomeDOMString    * gdome_xml_n_namespaceURI     (GdomeNode *self, 
        !           171:                                                  GdomeException *exc);
        !           172: GdomeDOMString    * gdome_xml_n_prefix           (GdomeNode *self, 
        !           173:                                                  GdomeException *exc);
        !           174: void                gdome_xml_n_set_prefix       (GdomeNode *self, 
        !           175:                                                  GdomeDOMString *prefix, 
        !           176:                                                  GdomeException *exc);
        !           177: GdomeDOMString    * gdome_xml_n_localName        (GdomeNode *self, 
        !           178:                                                  GdomeException *exc);
        !           179: GdomeBoolean        gdome_xml_n_hasAttributes    (GdomeNode *self,
        !           180:                                                  GdomeException *exc);
        !           181: void                gdome_xml_n_addEventListener (GdomeNode *self, 
        !           182:                                                  GdomeDOMString *type, 
        !           183:                                                  GdomeEventListener *listener, 
        !           184:                                                  GdomeBoolean useCapture, 
        !           185:                                                  GdomeException *exc);
        !           186: void                gdome_xml_n_removeEventListener (GdomeNode *self, 
        !           187:                                                     GdomeDOMString *type, 
        !           188:                                                     GdomeEventListener *listener, 
        !           189:                                                     GdomeBoolean useCapture, 
        !           190:                                                     GdomeException *exc);
        !           191: GdomeBoolean        gdome_xml_n_dispatchEvent    (GdomeNode *self, 
        !           192:                                                  GdomeEvent *evt, 
        !           193:                                                  GdomeException *exc);
        !           194: GdomeNode         * gdome_xml_n_appendChild      (GdomeNode *self, 
        !           195:                                                  GdomeNode *newChild, 
        !           196:                                                  GdomeException *exc);
        !           197: void                gdome_xml_n_subTreeDispatchEvent (GdomeNode *self,
        !           198:                                                       GdomeEvent *evt,
        !           199:                                                       GdomeException *exc);
        !           200: GdomeBoolean        gdome_xml_n_canAppend        (GdomeNode *self,
        !           201:                                                   GdomeNode *newChild,
        !           202:                                                   GdomeException *exc);
        !           203: 
        !           204: //paf const GdomeNodeVtab gdome_xml_n_vtab;
        !           205: 
        !           206: #endif /* GDOME_NODE_FILE */

E-mail: