Annotation of win32/gnome/gdome2-x.x.x/libgdome/gdomecore/gdome-xml-node.h, revision 1.2.4.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: 
1.2.4.1 ! paf       109: const GdomeNodeVtab gdome_xml_n_vtab;
        !           110: 
1.1       paf       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: 
1.2.4.1 ! paf       204: //paf const GdomeNodeVtab gdome_xml_n_vtab;
1.1       paf       205: 
                    206: #endif /* GDOME_NODE_FILE */

E-mail: