libdom
Loading...
Searching...
No Matches
node.h
Go to the documentation of this file.
1/*
2 * This file is part of libdom.
3 * Licensed under the MIT License,
4 * http://www.opensource.org/licenses/mit-license.php
5 * Copyright 2007 John-Mark Bell <jmb@netsurf-browser.org>
6 */
7
8#ifndef dom_core_node_h_
9#define dom_core_node_h_
10
11#include <inttypes.h>
12#include <stdbool.h>
13
14#include <dom/core/exceptions.h>
15#include <dom/core/string.h>
17
18struct dom_document;
19struct dom_nodelist;
20struct dom_namednodemap;
21struct dom_node;
22
34
45
49typedef void (*dom_user_data_handler)(dom_node_operation operation,
50 dom_string *key, void *data, struct dom_node *src,
51 struct dom_node *dst);
52
73
75
79typedef struct dom_node {
80 const void *vtable;
81 uint32_t refcnt;
83
84/* DOM node vtable */
85typedef struct dom_node_vtable {
87 /* pre-destruction hook */
89 /* The DOM level 3 node's oprations */
91 dom_string **result);
93 dom_string **result);
95 dom_string *value);
97 dom_node_type *result);
99 dom_node_internal **result);
101 struct dom_nodelist **result);
103 dom_node_internal **result);
105 dom_node_internal **result);
107 dom_node_internal **result);
109 dom_node_internal **result);
111 struct dom_namednodemap **result);
113 struct dom_document **result);
115 dom_node_internal *new_child,
116 dom_node_internal *ref_child,
117 dom_node_internal **result);
119 dom_node_internal *new_child,
120 dom_node_internal *old_child,
121 dom_node_internal **result);
123 dom_node_internal *old_child,
124 dom_node_internal **result);
126 dom_node_internal *new_child,
127 dom_node_internal **result);
129 bool *result);
131 dom_node_internal **result);
134 dom_string *feature, dom_string *version,
135 bool *result);
137 dom_string **result);
139 dom_string **result);
141 dom_string *prefix);
143 dom_string **result);
145 bool *result);
147 dom_string **result);
150 uint16_t *result);
152 dom_string **result);
154 dom_string *content);
156 dom_node_internal *other, bool *result);
158 dom_string *namespace,
159 dom_string **result);
161 dom_string *namespace, bool *result);
163 dom_string *prefix, dom_string **result);
165 dom_node_internal *other, bool *result);
167 dom_string *feature, dom_string *version,
168 void **result);
170 dom_string *key, void *data,
171 dom_user_data_handler handler, void **result);
173 const dom_string *key, void **result);
175
176/* The ref/unref methods define */
177
178static inline dom_node *dom_node_ref(dom_node *node)
179{
180 if (node != NULL)
181 node->refcnt++;
182
183 return node;
184}
185
186#define dom_node_ref(n) dom_node_ref((dom_node *) (n))
187
189{
190 return ((dom_node_vtable *) node->vtable)->dom_node_try_destroy(
191 (dom_node_internal *) node);
192}
193#define dom_node_try_destroy(n) dom_node_try_destroy((dom_node *) (n))
194
195static inline void dom_node_unref(dom_node *node)
196{
197 if (node != NULL) {
198 if (--node->refcnt == 0)
200 }
201
202}
203#define dom_node_unref(n) dom_node_unref((dom_node *) (n))
204
205/* Contains is non-virtual since it doesn't need to be */
206
208 struct dom_node_internal *other,
209 bool *contains);
210#define dom_node_contains(n, o, c) \
211 _dom_node_contains((dom_node_internal *)(n), (dom_node_internal *)(o), (c))
212
213/* All the rest are virtual */
214
215static inline dom_exception dom_node_get_node_name(struct dom_node *node,
216 dom_string **result)
217{
218 return ((dom_node_vtable *) node->vtable)->dom_node_get_node_name(
219 (dom_node_internal *) node, result);
220}
221#define dom_node_get_node_name(n, r) dom_node_get_node_name((dom_node *) (n), (r))
222
223static inline dom_exception dom_node_get_node_value(struct dom_node *node,
224 dom_string **result)
225{
226 return ((dom_node_vtable *) node->vtable)->dom_node_get_node_value(
227 (dom_node_internal *) node, result);
228}
229#define dom_node_get_node_value(n, r) dom_node_get_node_value( \
230 (dom_node *) (n), (r))
231
232static inline dom_exception dom_node_set_node_value(struct dom_node *node,
233 dom_string *value)
234{
235 return ((dom_node_vtable *) node->vtable)->dom_node_set_node_value(
236 (dom_node_internal *) node, value);
237}
238#define dom_node_set_node_value(n, v) dom_node_set_node_value( \
239 (dom_node *) (n), (v))
240
241static inline dom_exception dom_node_get_node_type(struct dom_node *node,
242 dom_node_type *result)
243{
244 return ((dom_node_vtable *) node->vtable)->dom_node_get_node_type(
245 (dom_node_internal *) node, result);
246}
247#define dom_node_get_node_type(n, r) dom_node_get_node_type( \
248 (dom_node *) (n), (dom_node_type *) (r))
249
250static inline dom_exception dom_node_get_parent_node(struct dom_node *node,
251 dom_node **result)
252{
253 return ((dom_node_vtable *) node->vtable)->dom_node_get_parent_node(
254 (dom_node_internal *) node,
255 (dom_node_internal **) result);
256}
257#define dom_node_get_parent_node(n, r) dom_node_get_parent_node( \
258 (dom_node *) (n), (dom_node **) (r))
259
260static inline dom_exception dom_node_get_child_nodes(struct dom_node *node,
261 struct dom_nodelist **result)
262{
263 return ((dom_node_vtable *) node->vtable)->dom_node_get_child_nodes(
264 (dom_node_internal *) node, result);
265}
266#define dom_node_get_child_nodes(n, r) dom_node_get_child_nodes( \
267 (dom_node *) (n), (struct dom_nodelist **) (r))
268
269static inline dom_exception dom_node_get_first_child(struct dom_node *node,
270 dom_node **result)
271{
272 return ((dom_node_vtable *) node->vtable)->dom_node_get_first_child(
273 (dom_node_internal *) node,
274 (dom_node_internal **) result);
275}
276#define dom_node_get_first_child(n, r) dom_node_get_first_child( \
277 (dom_node *) (n), (dom_node **) (r))
278
279static inline dom_exception dom_node_get_last_child(struct dom_node *node,
280 dom_node **result)
281{
282 return ((dom_node_vtable *) node->vtable)->dom_node_get_last_child(
283 (dom_node_internal *) node,
284 (dom_node_internal **) result);
285}
286#define dom_node_get_last_child(n, r) dom_node_get_last_child( \
287 (dom_node *) (n), (dom_node **) (r))
288
290 struct dom_node *node, dom_node **result)
291{
292 return ((dom_node_vtable *) node->vtable)->
294 (dom_node_internal *) node,
295 (dom_node_internal **) result);
296}
297#define dom_node_get_previous_sibling(n, r) dom_node_get_previous_sibling( \
298 (dom_node *) (n), (dom_node **) (r))
299
300static inline dom_exception dom_node_get_next_sibling(struct dom_node *node,
301 dom_node **result)
302{
303 return ((dom_node_vtable *) node->vtable)->dom_node_get_next_sibling(
304 (dom_node_internal *) node,
305 (dom_node_internal **) result);
306}
307#define dom_node_get_next_sibling(n, r) dom_node_get_next_sibling( \
308 (dom_node *) (n), (dom_node **) (r))
309
310static inline dom_exception dom_node_get_attributes(struct dom_node *node,
311 struct dom_namednodemap **result)
312{
313 return ((dom_node_vtable *) node->vtable)->dom_node_get_attributes(
314 (dom_node_internal *) node, result);
315}
316#define dom_node_get_attributes(n, r) dom_node_get_attributes( \
317 (dom_node *) (n), (struct dom_namednodemap **) (r))
318
319static inline dom_exception dom_node_get_owner_document(struct dom_node *node,
320 struct dom_document **result)
321{
322 return ((dom_node_vtable *) node->vtable)->dom_node_get_owner_document(
323 (dom_node_internal *) node, result);
324}
325#define dom_node_get_owner_document(n, r) dom_node_get_owner_document( \
326 (dom_node *) (n), (struct dom_document **) (r))
327
328static inline dom_exception dom_node_insert_before(struct dom_node *node,
329 struct dom_node *new_child, struct dom_node *ref_child,
330 struct dom_node **result)
331{
332 return ((dom_node_vtable *) node->vtable)->dom_node_insert_before(
333 (dom_node_internal *) node,
334 (dom_node_internal *) new_child,
335 (dom_node_internal *) ref_child,
336 (dom_node_internal **) result);
337}
338#define dom_node_insert_before(n, nn, ref, ret) dom_node_insert_before( \
339 (dom_node *) (n), (dom_node *) (nn), (dom_node *) (ref),\
340 (dom_node **) (ret))
341
342static inline dom_exception dom_node_replace_child(struct dom_node *node,
343 struct dom_node *new_child, struct dom_node *old_child,
344 struct dom_node **result)
345{
346 return ((dom_node_vtable *) node->vtable)->dom_node_replace_child(
347 (dom_node_internal *) node,
348 (dom_node_internal *) new_child,
349 (dom_node_internal *) old_child,
350 (dom_node_internal **) result);
351}
352#define dom_node_replace_child(n, nn, old, ret) dom_node_replace_child( \
353 (dom_node *) (n), (dom_node *) (nn), (dom_node *) (old),\
354 (dom_node **) (ret))
355
356static inline dom_exception dom_node_remove_child(struct dom_node *node,
357 struct dom_node *old_child,
358 struct dom_node **result)
359{
360 return ((dom_node_vtable *) node->vtable)->dom_node_remove_child(
361 (dom_node_internal *) node,
362 (dom_node_internal *) old_child,
363 (dom_node_internal **) result);
364}
365#define dom_node_remove_child(n, old, ret) dom_node_remove_child( \
366 (dom_node *) (n), (dom_node *) (old), (dom_node **) (ret))
367
368static inline dom_exception dom_node_append_child(struct dom_node *node,
369 struct dom_node *new_child,
370 struct dom_node **result)
371{
372 return ((dom_node_vtable *) node->vtable)->dom_node_append_child(
373 (dom_node_internal *) node,
374 (dom_node_internal *) new_child,
375 (dom_node_internal **) result);
376}
377#define dom_node_append_child(n, nn, ret) dom_node_append_child( \
378 (dom_node *) (n), (dom_node *) (nn), (dom_node **) (ret))
379
380static inline dom_exception dom_node_has_child_nodes(struct dom_node *node,
381 bool *result)
382{
383 return ((dom_node_vtable *) node->vtable)->dom_node_has_child_nodes(
384 (dom_node_internal *) node, result);
385}
386#define dom_node_has_child_nodes(n, r) dom_node_has_child_nodes( \
387 (dom_node *) (n), (bool *) (r))
388
389static inline dom_exception dom_node_clone_node(struct dom_node *node,
390 bool deep, struct dom_node **result)
391{
392 return ((dom_node_vtable *) node->vtable)->dom_node_clone_node(
393 (dom_node_internal *) node, deep,
394 (dom_node_internal **) result);
395}
396#define dom_node_clone_node(n, d, r) dom_node_clone_node((dom_node *) (n), \
397 (bool) (d), (dom_node **) (r))
398
399static inline dom_exception dom_node_normalize(struct dom_node *node)
400{
401 return ((dom_node_vtable *) node->vtable)->dom_node_normalize(
402 (dom_node_internal *) node);
403}
404#define dom_node_normalize(n) dom_node_normalize((dom_node *) (n))
405
406static inline dom_exception dom_node_is_supported(struct dom_node *node,
407 dom_string *feature, dom_string *version,
408 bool *result)
409{
410 return ((dom_node_vtable *) node->vtable)->dom_node_is_supported(
411 (dom_node_internal *) node, feature,
412 version, result);
413}
414#define dom_node_is_supported(n, f, v, r) dom_node_is_supported( \
415 (dom_node *) (n), (f), (v), (bool *) (r))
416
417static inline dom_exception dom_node_get_namespace(struct dom_node *node,
418 dom_string **result)
419{
420 return ((dom_node_vtable *) node->vtable)->dom_node_get_namespace(
421 (dom_node_internal *) node, result);
422}
423#define dom_node_get_namespace(n, r) dom_node_get_namespace((dom_node *) (n), (r))
424
425static inline dom_exception dom_node_get_prefix(struct dom_node *node,
426 dom_string **result)
427{
428 return ((dom_node_vtable *) node->vtable)->dom_node_get_prefix(
429 (dom_node_internal *) node, result);
430}
431#define dom_node_get_prefix(n, r) dom_node_get_prefix((dom_node *) (n), (r))
432
433static inline dom_exception dom_node_set_prefix(struct dom_node *node,
434 dom_string *prefix)
435{
436 return ((dom_node_vtable *) node->vtable)->dom_node_set_prefix(
437 (dom_node_internal *) node, prefix);
438}
439#define dom_node_set_prefix(n, p) dom_node_set_prefix((dom_node *) (n), (p))
440
441static inline dom_exception dom_node_get_local_name(struct dom_node *node,
442 dom_string **result)
443{
444 return ((dom_node_vtable *) node->vtable)->dom_node_get_local_name(
445 (dom_node_internal *) node, result);
446}
447#define dom_node_get_local_name(n, r) dom_node_get_local_name((dom_node *) (n), (r))
448
449static inline dom_exception dom_node_has_attributes(struct dom_node *node,
450 bool *result)
451{
452 return ((dom_node_vtable *) node->vtable)->dom_node_has_attributes(
453 (dom_node_internal *) node, result);
454}
455#define dom_node_has_attributes(n, r) dom_node_has_attributes( \
456 (dom_node *) (n), (bool *) (r))
457
458static inline dom_exception dom_node_get_base(struct dom_node *node,
459 dom_string **result)
460{
461 return ((dom_node_vtable *) node->vtable)->dom_node_get_base(
462 (dom_node_internal *) node, result);
463}
464#define dom_node_get_base(n, r) dom_node_get_base((dom_node *) (n), (r))
465
467 struct dom_node *node, struct dom_node *other,
468 uint16_t *result)
469{
470 return ((dom_node_vtable *) node->vtable)->
472 (dom_node_internal *) node,
473 (dom_node_internal *) other, result);
474}
475#define dom_node_compare_document_position(n, o, r) \
476 dom_node_compare_document_position((dom_node *) (n), \
477 (dom_node *) (o), (uint16_t *) (r))
478
479static inline dom_exception dom_node_get_text_content(struct dom_node *node,
480 dom_string **result)
481{
482 return ((dom_node_vtable *) node->vtable)->dom_node_get_text_content(
483 (dom_node_internal *) node, result);
484}
485#define dom_node_get_text_content(n, r) dom_node_get_text_content( \
486 (dom_node *) (n), (r))
487
488static inline dom_exception dom_node_set_text_content(struct dom_node *node,
489 dom_string *content)
490{
491 return ((dom_node_vtable *) node->vtable)->dom_node_set_text_content(
492 (dom_node_internal *) node, content);
493}
494#define dom_node_set_text_content(n, c) dom_node_set_text_content( \
495 (dom_node *) (n), (c))
496
497static inline dom_exception dom_node_is_same(struct dom_node *node,
498 struct dom_node *other, bool *result)
499{
500 return ((dom_node_vtable *) node->vtable)->dom_node_is_same(
501 (dom_node_internal *) node,
502 (dom_node_internal *) other,
503 result);
504}
505#define dom_node_is_same(n, o, r) dom_node_is_same((dom_node *) (n), \
506 (dom_node *) (o), (bool *) (r))
507
508static inline dom_exception dom_node_lookup_prefix(struct dom_node *node,
509 dom_string *namespace, dom_string **result)
510{
511 return ((dom_node_vtable *) node->vtable)->dom_node_lookup_prefix(
512 (dom_node_internal *) node, namespace, result);
513}
514#define dom_node_lookup_prefix(n, ns, r) dom_node_lookup_prefix( \
515 (dom_node *) (n), (ns), (r))
516
518 struct dom_node *node, dom_string *namespace,
519 bool *result)
520{
521 return ((dom_node_vtable *) node->vtable)->
523 (dom_node_internal *) node, namespace, result);
524}
525#define dom_node_is_default_namespace(n, ns, r) dom_node_is_default_namespace(\
526 (dom_node *) (n), (ns), (bool *) (r))
527
528static inline dom_exception dom_node_lookup_namespace(struct dom_node *node,
529 dom_string *prefix, dom_string **result)
530{
531 return ((dom_node_vtable *) node->vtable)->dom_node_lookup_namespace(
532 (dom_node_internal *) node, prefix, result);
533}
534#define dom_node_lookup_namespace(n, p, r) dom_node_lookup_namespace( \
535 (dom_node *) (n), (p), (r))
536
537static inline dom_exception dom_node_is_equal(struct dom_node *node,
538 struct dom_node *other, bool *result)
539{
540 return ((dom_node_vtable *) node->vtable)->dom_node_is_equal(
541 (dom_node_internal *) node,
542 (dom_node_internal *) other,
543 result);
544}
545#define dom_node_is_equal(n, o, r) dom_node_is_equal((dom_node *) (n), \
546 (dom_node *) (o), (bool *) (r))
547
548static inline dom_exception dom_node_get_feature(struct dom_node *node,
549 dom_string *feature, dom_string *version,
550 void **result)
551{
552 return ((dom_node_vtable *) node->vtable)->dom_node_get_feature(
553 (dom_node_internal *) node, feature, version, result);
554}
555#define dom_node_get_feature(n, f, v, r) dom_node_get_feature( \
556 (dom_node *) (n), (f), (v), (void **) (r))
557
558static inline dom_exception dom_node_set_user_data(struct dom_node *node,
559 dom_string *key, void *data,
560 dom_user_data_handler handler, void **result)
561{
562 return ((dom_node_vtable *) node->vtable)->dom_node_set_user_data(
563 (dom_node_internal *) node, key, data, handler,
564 result);
565}
566#define dom_node_set_user_data(n, k, d, h, r) dom_node_set_user_data( \
567 (dom_node *) (n), (k), (void *) (d), \
568 (dom_user_data_handler) h, (void **) (r))
569
570static inline dom_exception dom_node_get_user_data(const struct dom_node *node,
571 const dom_string *key, void **result)
572{
573 return ((dom_node_vtable *) node->vtable)->dom_node_get_user_data(
574 (dom_node_internal *) node, key, result);
575}
576#define dom_node_get_user_data(n, k, r) dom_node_get_user_data( \
577 (dom_node *) (n), (k), (void **) (r))
578
579#endif
dom_exception
Definition exceptions.h:24
dom_document_position
Definition node.h:26
@ DOM_DOCUMENT_POSITION_CONTAINS
Definition node.h:30
@ DOM_DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC
Definition node.h:32
@ DOM_DOCUMENT_POSITION_DISCONNECTED
Definition node.h:27
@ DOM_DOCUMENT_POSITION_PRECEDING
Definition node.h:28
@ DOM_DOCUMENT_POSITION_CONTAINED_BY
Definition node.h:31
@ DOM_DOCUMENT_POSITION_FOLLOWING
Definition node.h:29
#define dom_node_is_supported(n, f, v, r)
Definition node.h:414
#define dom_node_try_destroy(n)
Definition node.h:193
#define dom_node_is_equal(n, o, r)
Definition node.h:545
#define dom_node_get_owner_document(n, r)
Definition node.h:325
struct dom_node dom_node
#define dom_node_replace_child(n, nn, old, ret)
Definition node.h:352
#define dom_node_set_text_content(n, c)
Definition node.h:494
#define dom_node_get_namespace(n, r)
Definition node.h:423
#define dom_node_unref(n)
Definition node.h:203
#define dom_node_has_attributes(n, r)
Definition node.h:455
dom_node_operation
Definition node.h:38
@ DOM_NODE_RENAMED
Definition node.h:42
@ DOM_NODE_ADOPTED
Definition node.h:43
@ DOM_NODE_CLONED
Definition node.h:39
@ DOM_NODE_IMPORTED
Definition node.h:40
@ DOM_NODE_DELETED
Definition node.h:41
#define dom_node_lookup_namespace(n, p, r)
Definition node.h:534
#define dom_node_get_base(n, r)
Definition node.h:464
#define dom_node_append_child(n, nn, ret)
Definition node.h:377
#define dom_node_get_local_name(n, r)
Definition node.h:447
#define dom_node_get_node_value(n, r)
Definition node.h:229
#define dom_node_is_default_namespace(n, ns, r)
Definition node.h:525
#define dom_node_insert_before(n, nn, ref, ret)
Definition node.h:338
#define dom_node_get_parent_node(n, r)
Definition node.h:257
#define dom_node_ref(n)
Definition node.h:186
#define dom_node_get_first_child(n, r)
Definition node.h:276
#define dom_node_get_user_data(n, k, r)
Definition node.h:576
#define dom_node_clone_node(n, d, r)
Definition node.h:396
#define dom_node_set_node_value(n, v)
Definition node.h:238
#define dom_node_get_prefix(n, r)
Definition node.h:431
#define dom_node_normalize(n)
Definition node.h:404
#define dom_node_get_last_child(n, r)
Definition node.h:286
struct dom_node_vtable dom_node_vtable
#define dom_node_get_next_sibling(n, r)
Definition node.h:307
#define dom_node_has_child_nodes(n, r)
Definition node.h:386
#define dom_node_get_previous_sibling(n, r)
Definition node.h:297
#define dom_node_remove_child(n, old, ret)
Definition node.h:365
#define dom_node_get_feature(n, f, v, r)
Definition node.h:555
#define dom_node_get_node_type(n, r)
Definition node.h:247
#define dom_node_lookup_prefix(n, ns, r)
Definition node.h:514
#define dom_node_set_user_data(n, k, d, h, r)
Definition node.h:566
#define dom_node_get_attributes(n, r)
Definition node.h:316
#define dom_node_get_text_content(n, r)
Definition node.h:485
void(* dom_user_data_handler)(dom_node_operation operation, dom_string *key, void *data, struct dom_node *src, struct dom_node *dst)
Definition node.h:49
#define dom_node_compare_document_position(n, o, r)
Definition node.h:475
dom_exception _dom_node_contains(struct dom_node_internal *node, struct dom_node_internal *other, bool *contains)
Definition node.c:301
#define dom_node_is_same(n, o, r)
Definition node.h:505
#define dom_node_get_node_name(n, r)
Definition node.h:221
#define dom_node_get_child_nodes(n, r)
Definition node.h:266
dom_node_type
Definition node.h:56
@ DOM_PROCESSING_INSTRUCTION_NODE
Definition node.h:63
@ DOM_DOCUMENT_TYPE_NODE
Definition node.h:66
@ DOM_ENTITY_NODE
Definition node.h:62
@ DOM_NODE_TYPE_COUNT
Definition node.h:71
@ DOM_DOCUMENT_NODE
Definition node.h:65
@ DOM_TEXT_NODE
Definition node.h:59
@ DOM_NOTATION_NODE
Definition node.h:68
@ DOM_CDATA_SECTION_NODE
Definition node.h:60
@ DOM_ENTITY_REFERENCE_NODE
Definition node.h:61
@ DOM_ELEMENT_NODE
Definition node.h:57
@ DOM_ATTRIBUTE_NODE
Definition node.h:58
@ DOM_COMMENT_NODE
Definition node.h:64
@ DOM_DOCUMENT_FRAGMENT_NODE
Definition node.h:67
#define dom_node_set_prefix(n, p)
Definition node.h:439
Definition document.h:43
Definition event_target.h:24
Definition namednodemap.c:26
Definition node.h:54
Definition node.h:85
dom_exception(* dom_node_has_attributes)(dom_node_internal *node, bool *result)
Definition node.h:144
dom_exception(* dom_node_append_child)(dom_node_internal *node, dom_node_internal *new_child, dom_node_internal **result)
Definition node.h:125
dom_exception(* dom_node_get_node_type)(dom_node_internal *node, dom_node_type *result)
Definition node.h:96
dom_exception(* dom_node_is_default_namespace)(dom_node_internal *node, dom_string *namespace, bool *result)
Definition node.h:160
dom_exception(* dom_node_replace_child)(dom_node_internal *node, dom_node_internal *new_child, dom_node_internal *old_child, dom_node_internal **result)
Definition node.h:118
dom_exception(* dom_node_set_prefix)(dom_node_internal *node, dom_string *prefix)
Definition node.h:140
dom_exception(* dom_node_get_owner_document)(dom_node_internal *node, struct dom_document **result)
Definition node.h:112
dom_exception(* dom_node_get_user_data)(const dom_node_internal *node, const dom_string *key, void **result)
Definition node.h:172
dom_exception(* dom_node_set_node_value)(dom_node_internal *node, dom_string *value)
Definition node.h:94
dom_exception(* dom_node_get_namespace)(dom_node_internal *node, dom_string **result)
Definition node.h:136
dom_exception(* dom_node_is_supported)(dom_node_internal *node, dom_string *feature, dom_string *version, bool *result)
Definition node.h:133
dom_exception(* dom_node_is_equal)(dom_node_internal *node, dom_node_internal *other, bool *result)
Definition node.h:164
dom_exception(* dom_node_insert_before)(dom_node_internal *node, dom_node_internal *new_child, dom_node_internal *ref_child, dom_node_internal **result)
Definition node.h:114
dom_exception(* dom_node_get_previous_sibling)(dom_node_internal *node, dom_node_internal **result)
Definition node.h:106
dom_event_target_vtable base
Definition node.h:86
dom_exception(* dom_node_get_base)(dom_node_internal *node, dom_string **result)
Definition node.h:146
dom_exception(* dom_node_get_node_value)(dom_node_internal *node, dom_string **result)
Definition node.h:92
dom_exception(* dom_node_get_node_name)(dom_node_internal *node, dom_string **result)
Definition node.h:90
dom_exception(* dom_node_set_text_content)(dom_node_internal *node, dom_string *content)
Definition node.h:153
dom_exception(* dom_node_get_next_sibling)(dom_node_internal *node, dom_node_internal **result)
Definition node.h:108
dom_exception(* dom_node_lookup_namespace)(dom_node_internal *node, dom_string *prefix, dom_string **result)
Definition node.h:162
dom_exception(* dom_node_get_attributes)(dom_node_internal *node, struct dom_namednodemap **result)
Definition node.h:110
dom_exception(* dom_node_get_first_child)(dom_node_internal *node, dom_node_internal **result)
Definition node.h:102
dom_exception(* dom_node_normalize)(dom_node_internal *node)
Definition node.h:132
dom_exception(* dom_node_has_child_nodes)(dom_node_internal *node, bool *result)
Definition node.h:128
dom_exception(* dom_node_clone_node)(dom_node_internal *node, bool deep, dom_node_internal **result)
Definition node.h:130
dom_exception(* dom_node_get_feature)(dom_node_internal *node, dom_string *feature, dom_string *version, void **result)
Definition node.h:166
dom_exception(* dom_node_get_text_content)(dom_node_internal *node, dom_string **result)
Definition node.h:151
dom_exception(* dom_node_get_child_nodes)(dom_node_internal *node, struct dom_nodelist **result)
Definition node.h:100
dom_exception(* dom_node_get_parent_node)(dom_node_internal *node, dom_node_internal **result)
Definition node.h:98
dom_exception(* dom_node_get_last_child)(dom_node_internal *node, dom_node_internal **result)
Definition node.h:104
dom_exception(* dom_node_get_prefix)(dom_node_internal *node, dom_string **result)
Definition node.h:138
dom_exception(* dom_node_remove_child)(dom_node_internal *node, dom_node_internal *old_child, dom_node_internal **result)
Definition node.h:122
dom_exception(* dom_node_set_user_data)(dom_node_internal *node, dom_string *key, void *data, dom_user_data_handler handler, void **result)
Definition node.h:169
dom_exception(* dom_node_is_same)(dom_node_internal *node, dom_node_internal *other, bool *result)
Definition node.h:155
dom_exception(* dom_node_compare_document_position)(dom_node_internal *node, dom_node_internal *other, uint16_t *result)
Definition node.h:148
dom_exception(* dom_node_lookup_prefix)(dom_node_internal *node, dom_string *namespace, dom_string **result)
Definition node.h:157
dom_exception(* dom_node_get_local_name)(dom_node_internal *node, dom_string **result)
Definition node.h:142
dom_exception(* dom_node_try_destroy)(dom_node_internal *node)
Definition node.h:88
Definition node.h:79
const void * vtable
Definition node.h:80
uint32_t refcnt
Definition node.h:81
Definition nodelist.c:26
Definition string.h:19