php-internal-docs 8.4.8
Unofficial docs for php/php-src
Loading...
Searching...
No Matches
interface.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2018-2021 Alexander Borisov
3 *
4 * Author: Alexander Borisov <borisov@lexbor.com>
5 */
6
7#ifndef LEXBOR_DOM_INTERFACES_H
8#define LEXBOR_DOM_INTERFACES_H
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14#include "lexbor/core/base.h"
15
16#include "lexbor/tag/const.h"
17#include "lexbor/ns/const.h"
18
20
21
22#define lxb_dom_interface_cdata_section(obj) ((lxb_dom_cdata_section_t *) (obj))
23#define lxb_dom_interface_character_data(obj) ((lxb_dom_character_data_t *) (obj))
24#define lxb_dom_interface_comment(obj) ((lxb_dom_comment_t *) (obj))
25#define lxb_dom_interface_document(obj) ((lxb_dom_document_t *) (obj))
26#define lxb_dom_interface_document_fragment(obj) ((lxb_dom_document_fragment_t *) (obj))
27#define lxb_dom_interface_document_type(obj) ((lxb_dom_document_type_t *) (obj))
28#define lxb_dom_interface_element(obj) ((lxb_dom_element_t *) (obj))
29#define lxb_dom_interface_attr(obj) ((lxb_dom_attr_t *) (obj))
30#define lxb_dom_interface_event_target(obj) ((lxb_dom_event_target_t *) (obj))
31#define lxb_dom_interface_node(obj) ((lxb_dom_node_t *) (obj))
32#define lxb_dom_interface_processing_instruction(obj) ((lxb_dom_processing_instruction_t *) (obj))
33#define lxb_dom_interface_shadow_root(obj) ((lxb_dom_shadow_root_t *) (obj))
34#define lxb_dom_interface_text(obj) ((lxb_dom_text_t *) (obj))
35
36
50
52
53typedef void *
54(*lxb_dom_interface_constructor_f)(void *document);
55
56typedef void *
57(*lxb_dom_interface_destructor_f)(void *intrfc);
58
59
61(*lxb_dom_interface_create_f)(lxb_dom_document_t *document, lxb_tag_id_t tag_id,
62 lxb_ns_id_t ns);
63
65(*lxb_dom_interface_clone_f)(lxb_dom_document_t *document,
66 const lxb_dom_interface_t *intrfc);
67
69(*lxb_dom_interface_destroy_f)(lxb_dom_interface_t *intrfc);
70
73
76
79
82 const lxb_char_t *value, size_t length);
83
84
87 lxb_ns_id_t ns);
88
91 const lxb_dom_interface_t *intrfc);
92
95
96
97#ifdef __cplusplus
98} /* extern "C" */
99#endif
100
101#endif /* LEXBOR_DOM_INTERFACES_H */
#define LXB_API
Definition def.h:48
struct lxb_dom_document_fragment lxb_dom_document_fragment_t
Definition interface.h:43
struct lxb_dom_document lxb_dom_document_t
Definition interface.h:41
struct lxb_dom_document_type lxb_dom_document_type_t
Definition interface.h:42
lxb_status_t(* lxb_dom_event_insert_f)(lxb_dom_node_t *node)
Definition interface.h:72
struct lxb_dom_event_target lxb_dom_event_target_t
Definition interface.h:37
struct lxb_dom_comment lxb_dom_comment_t
Definition interface.h:49
struct lxb_dom_cdata_section lxb_dom_cdata_section_t
Definition interface.h:47
lxb_status_t(* lxb_dom_event_remove_f)(lxb_dom_node_t *node)
Definition interface.h:75
struct lxb_dom_node lxb_dom_node_t
Definition interface.h:38
struct lxb_dom_processing_instruction lxb_dom_processing_instruction_t
Definition interface.h:48
struct lxb_dom_character_data lxb_dom_character_data_t
Definition interface.h:45
void lxb_dom_interface_t
Definition interface.h:51
LXB_API lxb_dom_interface_t * lxb_dom_interface_create(lxb_dom_document_t *document, lxb_tag_id_t tag_id, lxb_ns_id_t ns)
Definition interface.c:23
struct lxb_dom_shadow_root lxb_dom_shadow_root_t
Definition interface.h:44
lxb_status_t(* lxb_dom_event_set_value_f)(lxb_dom_node_t *node, const lxb_char_t *value, size_t length)
Definition interface.h:81
struct lxb_dom_attr lxb_dom_attr_t
Definition interface.h:40
LXB_API lxb_dom_interface_t * lxb_dom_interface_clone(lxb_dom_document_t *document, const lxb_dom_interface_t *intrfc)
Definition interface.c:40
struct lxb_dom_text lxb_dom_text_t
Definition interface.h:46
struct lxb_dom_element lxb_dom_element_t
Definition interface.h:39
lxb_status_t(* lxb_dom_event_destroy_f)(lxb_dom_node_t *node)
Definition interface.h:78
LXB_API lxb_dom_interface_t * lxb_dom_interface_destroy(lxb_dom_interface_t *intrfc)
Definition interface.c:74
uintptr_t lxb_ns_id_t
Definition const.h:20
uintptr_t lxb_tag_id_t
Definition const.h:21
unsigned int lxb_status_t
Definition types.h:28
unsigned char lxb_char_t
Definition types.h:27
value