Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/lexborisov/Modest.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/myhtml/tree.h')
-rw-r--r--source/myhtml/tree.h46
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