--- parser3/src/include/pa_globals.h 2003/02/04 12:08:56 1.101.2.13 +++ parser3/src/include/pa_globals.h 2020/12/15 17:10:31 1.118 @@ -1,68 +1,43 @@ /** @file Parser: global decls. - Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com) + Copyright (c) 2001-2020 Art. Lebedev Studio (http://www.artlebedev.com) Author: Alexandr Petrosian (http://paf.design.ru) */ #ifndef PA_GLOBALS_H #define PA_GLOBALS_H -static const char* IDENT_GLOBALS_H="$Date: 2003/02/04 12:08:56 $"; +#define IDENT_PA_GLOBALS_H "$Id: pa_globals.h,v 1.118 2020/12/15 17:10:31 moko Exp $" -#include "pa_pool.h" -#include "pa_hash.h" -#include "pa_string.h" +#ifdef XML +# include "libxml/tree.h" +#endif -class Dictionary; -class Charset; -class Table; +class Request; -/// core func +/// initialize global variables void pa_globals_init(); -/// hex_value[c] = hex value of c -extern short hex_value[0x100]; - -//@{ -/// global string - -extern StringPtr match_var_name; - -extern StringPtr exception_var_name; -extern StringPtr exception_type_part_name; -extern StringPtr exception_source_part_name; -extern StringPtr exception_comment_part_name; -extern StringPtr exception_handled_part_name; - -extern StringPtr content_disposition_name; -extern StringPtr content_disposition_value; -extern StringPtr content_disposition_filename_name; - -extern StringPtr limits_name; +/// finalize global variables +void pa_globals_done(); -extern StringPtr switch_data_name; - -extern StringPtr cache_data_name; - -extern StringPtr sql_limit_name; -extern StringPtr sql_offset_name; -extern StringPtr sql_default_name; -extern StringPtr sql_distinct_name; - -extern StringPtr hash_default_element_name; - -//@} +/// for lt_dlinit to be called once +void pa_dlinit(); +/// hex_value[c] = hex value of c +extern short hex_value[0x100]; #ifdef XML -/// DOMImplementation -extern GdomeDOMImplementation *domimpl; - /// flag whether there were some xml generic errors on current thread bool xmlHaveGenericErrors(); /// get xml generic error accumulated for current thread. WARNING: it is up to caller to free up const char* xmlGenericErrors(); #endif +/// register request for local thread to retrive later with pa_get_request() +void pa_register_thread_request(Request&); +/// retrives request set by pa_set_request function, useful in contextless places [slow] +Request& pa_thread_request(); + #endif