1 /* 2 * Copyright (C) 2018-2021 Alexander Borisov 3 * 4 * Author: Alexander Borisov <borisov@lexbor.com> 5 */ 6 7 #ifndef LEXBOR_DOM_CHARACTER_DATA_H 8 #define LEXBOR_DOM_CHARACTER_DATA_H 9 10 #ifdef __cplusplus 11 extern "C" { 12 #endif 13 14 #include "lexbor/core/str.h" 15 16 #include "lexbor/dom/interfaces/document.h" 17 #include "lexbor/dom/interfaces/node.h" 18 19 20 struct lxb_dom_character_data { 21 lxb_dom_node_t node; 22 23 lexbor_str_t data; 24 }; 25 26 27 LXB_API lxb_dom_character_data_t * 28 lxb_dom_character_data_interface_create(lxb_dom_document_t *document); 29 30 LXB_API lxb_dom_character_data_t * 31 lxb_dom_character_data_interface_clone(lxb_dom_document_t *document, 32 const lxb_dom_character_data_t *ch_data); 33 34 LXB_API lxb_dom_character_data_t * 35 lxb_dom_character_data_interface_destroy(lxb_dom_character_data_t *character_data); 36 37 LXB_API lxb_status_t 38 lxb_dom_character_data_interface_copy(lxb_dom_character_data_t *dst, 39 const lxb_dom_character_data_t *src); 40 41 LXB_API lxb_status_t 42 lxb_dom_character_data_replace(lxb_dom_character_data_t *ch_data, 43 const lxb_char_t *data, size_t len, 44 size_t offset, size_t count); 45 46 47 #ifdef __cplusplus 48 } /* extern "C" */ 49 #endif 50 51 #endif /* LEXBOR_DOM_CHARACTER_DATA_H */ 52