Annotation of win32/gnome/gdome2-x.x.x/libgdome/gdomecore/gdome-xml-node.h, revision 1.4
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 {
1.4 ! paf 34: void (*ref) (xmlNode *self, GdomeException *exc);
! 35: void (*unref) (xmlNode *self, GdomeException *exc);
! 36: gpointer (*query_interface) (xmlNode *self, const char *interface,
! 37: GdomeException *exc);
! 38: GdomeDOMString * (*nodeName) (xmlNode *self, GdomeException *exc);
! 39: GdomeDOMString * (*nodeValue) (xmlNode *self, GdomeException *exc);
! 40: void (*set_nodeValue) (xmlNode *self, GdomeDOMString *nodeValue,
! 41: GdomeException *exc);
! 42: unsigned short (*nodeType) (xmlNode *self, GdomeException *exc);
! 43: xmlNode * (*parentNode) (xmlNode *self, GdomeException *exc);
! 44: GdomeNodeList * (*childNodes) (xmlNode *self, GdomeException *exc);
! 45: xmlNode * (*firstChild) (xmlNode *self, GdomeException *exc);
! 46: xmlNode * (*lastChild) (xmlNode *self, GdomeException *exc);
! 47: xmlNode * (*previousSibling) (xmlNode *self, GdomeException *exc);
! 48: xmlNode * (*nextSibling) (xmlNode *self, GdomeException *exc);
! 49: GdomeNamedNodeMap * (*attributes) (xmlNode *self, GdomeException *exc);
! 50: GdomeDocument * (*ownerDocument) (xmlNode *self, GdomeException *exc);
! 51: xmlNode * (*insertBefore) (xmlNode *self, xmlNode *newChild,
! 52: xmlNode *refChild, GdomeException *exc);
! 53: xmlNode * (*replaceChild) (xmlNode *self, xmlNode *newChild,
! 54: xmlNode *oldChild, GdomeException *exc);
! 55: xmlNode * (*removeChild) (xmlNode *self, xmlNode *oldChild,
1.1 paf 56: GdomeException *exc);
1.4 ! paf 57: xmlNode * (*appendChild) (xmlNode *self, xmlNode *newChild,
1.1 paf 58: GdomeException *exc);
1.4 ! paf 59: GdomeBoolean (*hasChildNodes) (xmlNode *self, GdomeException *exc);
! 60: xmlNode * (*cloneNode) (xmlNode *self, GdomeBoolean deep,
1.1 paf 61: GdomeException *exc);
1.4 ! paf 62: void (*normalize) (xmlNode *self, GdomeException *exc);
! 63: GdomeBoolean (*isSupported) (xmlNode *self, GdomeDOMString *feature,
1.1 paf 64: GdomeDOMString *version, GdomeException *exc);
1.4 ! paf 65: GdomeDOMString * (*namespaceURI) (xmlNode *self, GdomeException *exc);
! 66: GdomeDOMString * (*prefix) (xmlNode *self, GdomeException *exc);
! 67: void (*set_prefix) (xmlNode *self, GdomeDOMString *prefix,
! 68: GdomeException *exc);
! 69: GdomeDOMString * (*localName) (xmlNode *self, GdomeException *exc);
! 70: GdomeBoolean (*hasAttributes) (xmlNode *self, GdomeException *exc);
! 71: void (*addEventListener) (xmlNode *self, GdomeDOMString *type,
1.1 paf 72: GdomeEventListener *listener,
73: GdomeBoolean useCapture,
74: GdomeException *exc);
1.4 ! paf 75: void (*removeEventListener) (xmlNode *self, GdomeDOMString *type,
1.1 paf 76: GdomeEventListener *listener,
77: GdomeBoolean useCapture, GdomeException *exc);
1.4 ! paf 78: GdomeBoolean (*dispatchEvent) (xmlNode *self, GdomeEvent *evt,
1.1 paf 79: GdomeException *exc);
1.4 ! paf 80: void (*subTreeDispatchEvent) (xmlNode *self, GdomeEvent *evt,
1.1 paf 81: GdomeException *exc);
1.4 ! paf 82: GdomeBoolean (*canAppend) (xmlNode *self,
! 83: xmlNode *newChild,
1.1 paf 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 {
1.4 ! paf 99: xmlNode super;
1.1 paf 100: const GdomeNodeVtab *vtab;
101: int refcnt;
102: xmlNode *n;
103: GdomeAccessType accessType;
104: Gdome_xml_ListenerList *ll;
105: };
106:
1.4 ! paf 107: xmlNode * gdome_xml_n_get_xmlNode (xmlNode *node);
! 108: xmlNode * gdome_xml_n_mkref (xmlNode *n);
! 109: void gdome_xml_n_ref (xmlNode *self,
1.1 paf 110: GdomeException *exc);
1.4 ! paf 111: void gdome_xml_n_unref (xmlNode *self,
1.1 paf 112: GdomeException *exc);
1.4 ! paf 113: gpointer gdome_xml_n_query_interface (xmlNode *self,
1.1 paf 114: const char *interface,
115: GdomeException *exc);
1.4 ! paf 116: GdomeDOMString * gdome_xml_n_nodeName (xmlNode *self,
1.1 paf 117: GdomeException *exc);
1.4 ! paf 118: GdomeDOMString * gdome_xml_n_nodeValue (xmlNode *self,
1.1 paf 119: GdomeException *exc);
1.4 ! paf 120: void gdome_xml_n_set_nodeValue (xmlNode *self,
1.1 paf 121: GdomeDOMString *nodeValue,
122: GdomeException *exc);
1.4 ! paf 123: unsigned short gdome_xml_n_nodeType (xmlNode *self,
1.1 paf 124: GdomeException *exc);
1.4 ! paf 125: xmlNode * gdome_xml_n_parentNode (xmlNode *self,
1.1 paf 126: GdomeException *exc);
1.4 ! paf 127: GdomeNodeList * gdome_xml_n_childNodes (xmlNode *self,
1.1 paf 128: GdomeException *exc);
1.4 ! paf 129: xmlNode * gdome_xml_n_firstChild (xmlNode *self,
1.1 paf 130: GdomeException *exc);
1.4 ! paf 131: xmlNode * gdome_xml_n_lastChild (xmlNode *self,
1.1 paf 132: GdomeException *exc);
1.4 ! paf 133: xmlNode * gdome_xml_n_previousSibling (xmlNode *self,
1.1 paf 134: GdomeException *exc);
1.4 ! paf 135: xmlNode * gdome_xml_n_nextSibling (xmlNode *self,
1.1 paf 136: GdomeException *exc);
1.4 ! paf 137: GdomeNamedNodeMap * gdome_xml_n_attributes (xmlNode *self,
1.1 paf 138: GdomeException *exc);
1.4 ! paf 139: GdomeDocument * gdome_xml_n_ownerDocument (xmlNode *self,
1.1 paf 140: GdomeException *exc);
1.4 ! paf 141: xmlNode * gdome_xml_n_insertBefore (xmlNode *self,
! 142: xmlNode *newChild,
! 143: xmlNode *refChild,
1.1 paf 144: GdomeException *exc);
1.4 ! paf 145: xmlNode * gdome_xml_n_replaceChild (xmlNode *self,
! 146: xmlNode *newChild,
! 147: xmlNode *oldChild,
1.1 paf 148: GdomeException *exc);
1.4 ! paf 149: xmlNode * gdome_xml_n_removeChild (xmlNode *self,
! 150: xmlNode *oldChild,
1.1 paf 151: GdomeException *exc);
1.4 ! paf 152: xmlNode * gdome_xml_n_appendChild (xmlNode *self,
! 153: xmlNode *newChild,
1.1 paf 154: GdomeException *exc);
1.4 ! paf 155: GdomeBoolean gdome_xml_n_hasChildNodes (xmlNode *self,
1.1 paf 156: GdomeException *exc);
1.4 ! paf 157: xmlNode * gdome_xml_n_cloneNode (xmlNode *self,
1.1 paf 158: GdomeBoolean deep,
159: GdomeException *exc);
1.4 ! paf 160: void gdome_xml_n_normalize (xmlNode *self,
1.1 paf 161: GdomeException *exc);
1.4 ! paf 162: GdomeBoolean gdome_xml_n_isSupported (xmlNode *self,
1.1 paf 163: GdomeDOMString *feature,
164: GdomeDOMString *version,
165: GdomeException *exc);
1.4 ! paf 166: GdomeDOMString * gdome_xml_n_namespaceURI (xmlNode *self,
1.1 paf 167: GdomeException *exc);
1.4 ! paf 168: GdomeDOMString * gdome_xml_n_prefix (xmlNode *self,
1.1 paf 169: GdomeException *exc);
1.4 ! paf 170: void gdome_xml_n_set_prefix (xmlNode *self,
1.1 paf 171: GdomeDOMString *prefix,
172: GdomeException *exc);
1.4 ! paf 173: GdomeDOMString * gdome_xml_n_localName (xmlNode *self,
1.1 paf 174: GdomeException *exc);
1.4 ! paf 175: GdomeBoolean gdome_xml_n_hasAttributes (xmlNode *self,
1.1 paf 176: GdomeException *exc);
1.4 ! paf 177: void gdome_xml_n_addEventListener (xmlNode *self,
1.1 paf 178: GdomeDOMString *type,
179: GdomeEventListener *listener,
180: GdomeBoolean useCapture,
181: GdomeException *exc);
1.4 ! paf 182: void gdome_xml_n_removeEventListener (xmlNode *self,
1.1 paf 183: GdomeDOMString *type,
184: GdomeEventListener *listener,
185: GdomeBoolean useCapture,
186: GdomeException *exc);
1.4 ! paf 187: GdomeBoolean gdome_xml_n_dispatchEvent (xmlNode *self,
1.1 paf 188: GdomeEvent *evt,
189: GdomeException *exc);
1.4 ! paf 190: xmlNode * gdome_xml_n_appendChild (xmlNode *self,
! 191: xmlNode *newChild,
1.1 paf 192: GdomeException *exc);
1.4 ! paf 193: void gdome_xml_n_subTreeDispatchEvent (xmlNode *self,
1.1 paf 194: GdomeEvent *evt,
195: GdomeException *exc);
1.4 ! paf 196: GdomeBoolean gdome_xml_n_canAppend (xmlNode *self,
! 197: xmlNode *newChild,
1.1 paf 198: GdomeException *exc);
1.4 ! paf 199: GdomeBoolean gdome_xml_n_eventEnabledByCode (xmlNode *self,
1.3 paf 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: