--- parser3/src/include/pa_globals.h 2003/01/23 17:05:33 1.101.2.2 +++ parser3/src/include/pa_globals.h 2024/11/04 03:53:25 1.120 @@ -1,108 +1,43 @@ /** @file Parser: global decls. - Copyright (c) 2001, 2003 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexandr Petrosian (http://paf.design.ru) + Copyright (c) 2001-2024 Art. Lebedev Studio (http://www.artlebedev.com) + Authors: Konstantin Morshnev , Alexandr Petrosian */ #ifndef PA_GLOBALS_H #define PA_GLOBALS_H -static const char* IDENT_GLOBALS_H="$Date: 2003/01/23 17:05:33 $"; +#define IDENT_PA_GLOBALS_H "$Id: pa_globals.h,v 1.120 2024/11/04 03:53:25 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 String optimized_html_name; -extern String content_type_name; -extern String charset_name; -extern String body_name; -extern String download_name; -extern String value_name; -extern String expires_name; -extern String path_name; -extern String name_name; -extern String size_name; -extern String text_name; - -extern String conf_method_name; -extern String auto_method_name; - -extern String main_class_name; - - -extern String charsets_name; - -extern String mime_types_name; -extern String origins_mode_name; - -extern String result_var_name; -extern String match_var_name; - -extern String exception_var_name; -extern String exception_type_part_name; -extern String exception_source_part_name; -extern String exception_comment_part_name; -extern String exception_handled_part_name; - -extern String content_disposition_name; -extern String content_disposition_value; -extern String content_disposition_filename_name; - -extern String limits_name; +/// finalize global variables +void pa_globals_done(); -extern String class_path_name; +/// for lt_dlinit to be called once +void pa_dlinit(); -extern String switch_data_name; - -extern String cache_data_name; - -extern String sql_limit_name; -extern String sql_offset_name; -extern String sql_default_name; -extern String sql_distinct_name; - -extern String charset_UTF8_name; - -extern String hash_default_element_name; - -extern String http_method_name; -extern String http_timeout_name; -extern String http_headers_name; -extern String http_any_status_name; -extern String file_status_name; - -//@} - -extern Table date_calendar_table_template; - -/// name to enum language table -extern Hash untaint_lang_name2enum; - -/// UTF8 charset -extern Charset utf8_charset; +/// 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(); +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