diff options
Diffstat (limited to 'source/myhtml/tree.h')
-rw-r--r-- | source/myhtml/tree.h | 46 |
1 files changed, 24 insertions, 22 deletions
diff --git a/source/myhtml/tree.h b/source/myhtml/tree.h index 1e126f6..c3299de 100644 --- a/source/myhtml/tree.h +++ b/source/myhtml/tree.h @@ -1,5 +1,5 @@ /* - Copyright (C) 2015-2016 Alexander Borisov + Copyright (C) 2015-2017 Alexander Borisov This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -31,10 +31,11 @@ extern "C" { #include "myhtml/mystring.h" #include "myhtml/token.h" #include "myhtml/stream.h" -#include "myhtml/utils/mcsync.h" -#include "myhtml/utils/mchar_async.h" -#include "myhtml/utils/mcobject.h" -#include "myhtml/utils/mcobject_async.h" +#include "mycore/thread_queue.h" +#include "mycore/utils/mcsync.h" +#include "mycore/utils/mchar_async.h" +#include "mycore/utils/mcobject.h" +#include "mycore/utils/mcobject_async.h" #define myhtml_tree_get(tree, attr) tree->attr #define myhtml_tree_set(tree, attr) tree->attr @@ -164,7 +165,7 @@ struct myhtml_tree_temp_stream { size_t length; size_t size; - myhtml_encoding_result_t res; + myencoding_result_t res; struct myhtml_tree_temp_tag_name* current; }; @@ -185,6 +186,11 @@ struct myhtml_tree { size_t mcasync_rules_token_id; size_t mcasync_rules_attr_id; size_t mcasync_tree_id; + /* + * mchar_node_id + * for rules, or if single mode, + * or for main thread only after parsing + */ size_t mchar_node_id; myhtml_token_attr_t* attr_current; myhtml_tag_id_t tmp_tag_id; @@ -192,8 +198,8 @@ struct myhtml_tree { mythread_queue_node_t* current_qnode; mcobject_t* mcobject_incoming_buf; - myhtml_incoming_buffer_t* incoming_buf; - myhtml_incoming_buffer_t* incoming_buf_first; + mycore_incoming_buffer_t* incoming_buf; + mycore_incoming_buffer_t* incoming_buf_first; // ref for nodes myhtml_tree_node_t* document; @@ -227,10 +233,10 @@ struct myhtml_tree { volatile myhtml_tree_parse_flags_t parse_flags; bool foster_parenting; size_t global_offset; - myhtml_status_t tokenizer_status; + mystatus_t tokenizer_status; - myhtml_encoding_t encoding; - myhtml_encoding_t encoding_usereq; + myencoding_t encoding; + myencoding_t encoding_usereq; myhtml_tree_temp_tag_name_t temp_tag_name; /* callback */ @@ -249,7 +255,7 @@ struct myhtml_tree { // base myhtml_tree_t * myhtml_tree_create(void); -myhtml_status_t myhtml_tree_init(myhtml_tree_t* tree, myhtml_t* myhtml); +mystatus_t myhtml_tree_init(myhtml_tree_t* tree, myhtml_t* myhtml); void myhtml_tree_clean(myhtml_tree_t* tree); void myhtml_tree_clean_all(myhtml_tree_t* tree); myhtml_tree_t * myhtml_tree_destroy(myhtml_tree_t* tree); @@ -355,10 +361,6 @@ void myhtml_tree_node_clean(myhtml_tree_node_t* tree_node); void myhtml_tree_node_free(myhtml_tree_node_t* node); myhtml_tree_node_t * myhtml_tree_node_clone(myhtml_tree_node_t* node); -void myhtml_tree_print_node(myhtml_tree_t* tree, myhtml_tree_node_t* node, FILE* out); -void myhtml_tree_print_node_children(myhtml_tree_t* tree, myhtml_tree_node_t* node, FILE* out, size_t inc); -void myhtml_tree_print_by_node(myhtml_tree_t* tree, myhtml_tree_node_t* node, FILE* out, size_t inc); - void myhtml_tree_node_add_child(myhtml_tree_node_t* root, myhtml_tree_node_t* node); void myhtml_tree_node_insert_before(myhtml_tree_node_t* root, myhtml_tree_node_t* node); void myhtml_tree_node_insert_after(myhtml_tree_node_t* root, myhtml_tree_node_t* node); @@ -390,21 +392,21 @@ bool myhtml_tree_is_mathml_integration_point(myhtml_tree_t* tree, myhtml_tree_no bool myhtml_tree_is_html_integration_point(myhtml_tree_t* tree, myhtml_tree_node_t* node); // temp tag name -myhtml_status_t myhtml_tree_temp_tag_name_init(myhtml_tree_temp_tag_name_t* temp_tag_name); +mystatus_t myhtml_tree_temp_tag_name_init(myhtml_tree_temp_tag_name_t* temp_tag_name); void myhtml_tree_temp_tag_name_clean(myhtml_tree_temp_tag_name_t* temp_tag_name); myhtml_tree_temp_tag_name_t * myhtml_tree_temp_tag_name_destroy(myhtml_tree_temp_tag_name_t* temp_tag_name, bool self_destroy); -myhtml_status_t myhtml_tree_temp_tag_name_append(myhtml_tree_temp_tag_name_t* temp_tag_name, const char* name, size_t name_len); -myhtml_status_t myhtml_tree_temp_tag_name_append_one(myhtml_tree_temp_tag_name_t* temp_tag_name, const char name); +mystatus_t myhtml_tree_temp_tag_name_append(myhtml_tree_temp_tag_name_t* temp_tag_name, const char* name, size_t name_len); +mystatus_t myhtml_tree_temp_tag_name_append_one(myhtml_tree_temp_tag_name_t* temp_tag_name, const char name); /* special tonek list */ -myhtml_status_t myhtml_tree_special_list_init(myhtml_tree_special_token_list_t* special); -myhtml_status_t myhtml_tree_special_list_append(myhtml_tree_special_token_list_t* special, myhtml_token_node_t *token, myhtml_namespace_t ns); +mystatus_t myhtml_tree_special_list_init(myhtml_tree_special_token_list_t* special); +mystatus_t myhtml_tree_special_list_append(myhtml_tree_special_token_list_t* special, myhtml_token_node_t *token, myhtml_namespace_t ns); size_t myhtml_tree_special_list_length(myhtml_tree_special_token_list_t* special); myhtml_tree_special_token_t * myhtml_tree_special_list_get_last(myhtml_tree_special_token_list_t* special); size_t myhtml_tree_special_list_pop(myhtml_tree_special_token_list_t* special); /* incoming buffer */ -myhtml_incoming_buffer_t * myhtml_tree_incoming_buffer_first(myhtml_tree_t *tree); +mycore_incoming_buffer_t * myhtml_tree_incoming_buffer_first(myhtml_tree_t *tree); const char * myhtml_tree_incomming_buffer_make_data(myhtml_tree_t *tree, size_t begin, size_t length); #ifdef __cplusplus |