--- parser3/src/include/pa_globals.h 2001/03/14 16:47:29 1.3 +++ parser3/src/include/pa_globals.h 2020/12/15 17:10:31 1.118 @@ -1,59 +1,43 @@ -/* - Parser - Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - Author: Alexander Petrosyan (http://design.ru/paf) +/** @file + Parser: global decls. - $Id: pa_globals.h,v 1.3 2001/03/14 16:47:29 paf Exp $ + 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 -#include "pa_string.h" -#include "pa_hash.h" - -#define AUTO_FILE_NAME "auto.p" - -#define EXCEPTION_METHOD_NAME "exception" - -#define UNNAMED_NAME "unnamed" - -#define MAIN_METHOD_NAME "main" -#define AUTO_METHOD_NAME "auto" - -#define ROOT_CLASS_NAME "ROOT" -#define MAIN_CLASS_NAME "MAIN" -#define TABLE_CLASS_NAME "table" -#define ENV_CLASS_NAME "env" -#define FORM_CLASS_NAME "form" - -struct Service_funcs { - size_t (*read_post)(char *&buf, size_t max_bytes); -}; +#define IDENT_PA_GLOBALS_H "$Id: pa_globals.h,v 1.118 2020/12/15 17:10:31 moko Exp $" +#ifdef XML +# include "libxml/tree.h" +#endif -// core func -void globals_init(Pool& pool); +class Request; -// -extern Service_funcs service_funcs; +/// initialize global variables +void pa_globals_init(); -// global strings -extern String *exception_method_name; +/// finalize global variables +void pa_globals_done(); -extern String *unnamed_name; -extern String *empty_string; +/// for lt_dlinit to be called once +void pa_dlinit(); -extern String *auto_method_name; -extern String *main_method_name; +/// hex_value[c] = hex value of c +extern short hex_value[0x100]; -extern String *root_class_name; -extern String *main_class_name; -extern String *env_class_name; -extern String *table_class_name; -extern String *form_class_name; +#ifdef XML +/// 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 -// global hashes -extern Hash *untaint_lang_name2enum; +/// 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