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

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;
1.3     ! paf        91:  guint32 type;
1.1       paf        92:  GdomeEventListener *listener;
                     93:   GdomeBoolean useCapture;
                     94: };
                     95: 
                     96: 
                     97: typedef struct _Gdome_xml_Node Gdome_xml_Node;
                     98: struct _Gdome_xml_Node {
                     99:  GdomeNode super;
                    100:  const GdomeNodeVtab *vtab;
                    101:  int refcnt;
                    102:   xmlNode *n;
                    103:   GdomeAccessType accessType;
                    104:  Gdome_xml_ListenerList *ll;
                    105: };
                    106: 
                    107: xmlNode           * gdome_xml_n_get_xmlNode      (GdomeNode *node);
                    108: GdomeNode         * gdome_xml_n_mkref            (xmlNode *n);
                    109: void                gdome_xml_n_ref              (GdomeNode *self,
                    110:                                                  GdomeException *exc);
                    111: void                gdome_xml_n_unref            (GdomeNode *self, 
                    112:                                                  GdomeException *exc);
                    113: gpointer            gdome_xml_n_query_interface  (GdomeNode *self,
                    114:                                                  const char *interface, 
                    115:                                                  GdomeException *exc);
                    116: GdomeDOMString    * gdome_xml_n_nodeName         (GdomeNode *self, 
                    117:                                                  GdomeException *exc);
                    118: GdomeDOMString    * gdome_xml_n_nodeValue        (GdomeNode *self, 
                    119:                                                  GdomeException *exc);
                    120: void                gdome_xml_n_set_nodeValue    (GdomeNode *self, 
                    121:                                                  GdomeDOMString *nodeValue, 
                    122:                                                  GdomeException *exc);
                    123: unsigned short      gdome_xml_n_nodeType         (GdomeNode *self, 
                    124:                                                  GdomeException *exc);
                    125: GdomeNode         * gdome_xml_n_parentNode       (GdomeNode *self, 
                    126:                                                  GdomeException *exc);
                    127: GdomeNodeList     * gdome_xml_n_childNodes       (GdomeNode *self, 
                    128:                                                  GdomeException *exc);
                    129: GdomeNode         * gdome_xml_n_firstChild       (GdomeNode *self, 
                    130:                                                  GdomeException *exc);
                    131: GdomeNode         * gdome_xml_n_lastChild        (GdomeNode *self, 
                    132:                                                  GdomeException *exc);
                    133: GdomeNode         * gdome_xml_n_previousSibling  (GdomeNode *self, 
                    134:                                                  GdomeException *exc);
                    135: GdomeNode         * gdome_xml_n_nextSibling      (GdomeNode *self, 
                    136:                                                  GdomeException *exc);
                    137: GdomeNamedNodeMap * gdome_xml_n_attributes       (GdomeNode *self, 
                    138:                                                  GdomeException *exc);
                    139: GdomeDocument     * gdome_xml_n_ownerDocument    (GdomeNode *self, 
                    140:                                                  GdomeException *exc);
                    141: GdomeNode         * gdome_xml_n_insertBefore     (GdomeNode *self, 
                    142:                                                  GdomeNode *newChild, 
                    143:                                                  GdomeNode *refChild, 
                    144:                                                  GdomeException *exc);
                    145: GdomeNode         * gdome_xml_n_replaceChild     (GdomeNode *self, 
                    146:                                                  GdomeNode *newChild, 
                    147:                                                  GdomeNode *oldChild, 
                    148:                                                  GdomeException *exc);
                    149: GdomeNode         * gdome_xml_n_removeChild      (GdomeNode *self, 
                    150:                                                  GdomeNode *oldChild, 
                    151:                                                  GdomeException *exc);
                    152: GdomeNode         * gdome_xml_n_appendChild      (GdomeNode *self, 
                    153:                                                  GdomeNode *newChild, 
                    154:                                                  GdomeException *exc);
                    155: GdomeBoolean        gdome_xml_n_hasChildNodes    (GdomeNode *self, 
                    156:                                                  GdomeException *exc);
                    157: GdomeNode         * gdome_xml_n_cloneNode        (GdomeNode *self, 
                    158:                                                  GdomeBoolean deep, 
                    159:                                                  GdomeException *exc);
                    160: void                gdome_xml_n_normalize        (GdomeNode *self, 
                    161:                                                  GdomeException *exc);
                    162: GdomeBoolean        gdome_xml_n_isSupported      (GdomeNode *self,
                    163:                                                  GdomeDOMString *feature, 
                    164:                                                  GdomeDOMString *version, 
                    165:                                                  GdomeException *exc);
                    166: GdomeDOMString    * gdome_xml_n_namespaceURI     (GdomeNode *self, 
                    167:                                                  GdomeException *exc);
                    168: GdomeDOMString    * gdome_xml_n_prefix           (GdomeNode *self, 
                    169:                                                  GdomeException *exc);
                    170: void                gdome_xml_n_set_prefix       (GdomeNode *self, 
                    171:                                                  GdomeDOMString *prefix, 
                    172:                                                  GdomeException *exc);
                    173: GdomeDOMString    * gdome_xml_n_localName        (GdomeNode *self, 
                    174:                                                  GdomeException *exc);
                    175: GdomeBoolean        gdome_xml_n_hasAttributes    (GdomeNode *self,
                    176:                                                  GdomeException *exc);
                    177: void                gdome_xml_n_addEventListener (GdomeNode *self, 
                    178:                                                  GdomeDOMString *type, 
                    179:                                                  GdomeEventListener *listener, 
                    180:                                                  GdomeBoolean useCapture, 
                    181:                                                  GdomeException *exc);
                    182: void                gdome_xml_n_removeEventListener (GdomeNode *self, 
                    183:                                                     GdomeDOMString *type, 
                    184:                                                     GdomeEventListener *listener, 
                    185:                                                     GdomeBoolean useCapture, 
                    186:                                                     GdomeException *exc);
                    187: GdomeBoolean        gdome_xml_n_dispatchEvent    (GdomeNode *self, 
                    188:                                                  GdomeEvent *evt, 
                    189:                                                  GdomeException *exc);
                    190: GdomeNode         * gdome_xml_n_appendChild      (GdomeNode *self, 
                    191:                                                  GdomeNode *newChild, 
                    192:                                                  GdomeException *exc);
                    193: void                gdome_xml_n_subTreeDispatchEvent (GdomeNode *self,
                    194:                                                       GdomeEvent *evt,
                    195:                                                       GdomeException *exc);
                    196: GdomeBoolean        gdome_xml_n_canAppend        (GdomeNode *self,
                    197:                                                   GdomeNode *newChild,
                    198:                                                   GdomeException *exc);
1.3     ! paf       199: GdomeBoolean        gdome_xml_n_eventEnabledByCode (GdomeNode *self,
        !           200:                                                    guint32 code);
1.1       paf       201: 
1.2       paf       202: extern const GdomeNodeVtab gdome_xml_n_vtab;
1.1       paf       203: 
                    204: #endif /* GDOME_NODE_FILE */

E-mail: