--- parser3/src/include/pa_globals.h 2001/09/20 14:25:06 1.63 +++ parser3/src/include/pa_globals.h 2003/02/04 12:08:56 1.101.2.13 @@ -1,158 +1,68 @@ /** @file Parser: global decls. - Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com) - - Author: Alexander Petrosyan (http://design.ru/paf) - - $Id: pa_globals.h,v 1.63 2001/09/20 14:25:06 parser Exp $ + Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com) + Author: Alexandr Petrosian (http://paf.design.ru) */ #ifndef PA_GLOBALS_H #define PA_GLOBALS_H -#include "pa_config_includes.h" +static const char* IDENT_GLOBALS_H="$Date: 2003/02/04 12:08:56 $"; + #include "pa_pool.h" +#include "pa_hash.h" +#include "pa_string.h" -class String; -class Hash; class Dictionary; - -//@{ -/// constant string. class name, predefined method & co -#define CONFIG_FILE_NAME "parser3.conf" -#define AUTO_FILE_NAME "auto.p" - -#define USER_HTML_NAME "user-html" - -#define CONTENT_TYPE_NAME "content-type" -#define CHARSET_NAME "charset" -#define BODY_NAME "body" -#define VALUE_NAME "value" -#define EXPIRES_NAME "expires" -#define PATH_NAME "path" -#define NAME_NAME "name" -#define NONAME_DAT "noname.dat" -#define SIZE_NAME "size" -#define TEXT_NAME "text" - -#define EXCEPTION_METHOD_NAME "exception" -#define POST_PROCESS_METHOD_NAME "postprocess" - -#define UNNAMED_NAME "unnamed" - -#define MAIN_METHOD_NAME "main" -#define AUTO_METHOD_NAME "auto" - -#define MAIN_CLASS_NAME "MAIN" - -#define DEFAULTS_NAME "DEFAULTS" -#define CTYPE_NAME "CTYPE" -# define CTYPE_WHITE_SPACE_NAME "white-space" -# define CTYPE_DIGIT_NAME "digit" -# define CTYPE_HEX_DIGIT_NAME "hex-digit" -# define CTYPE_LETTER_NAME "letter" -# define CTYPE_WORD_NAME "word" -# define CTYPE_LOWERCASE_NAME "lowercase" -#define MIME_TYPES_NAME "MIME-TYPES" -#define VFILE_MIME_TYPE_NAME "mime-type" -#define ORIGINS_MODE_NAME "ORIGINS" - -#define RESULT_VAR_NAME "result" -#define MATCH_VAR_NAME "match" - -#define STRING_PRE_MATCH_NAME "prematch" -#define STRING_MATCH_NAME "match" -#define STRING_POST_MATCH_NAME "postmatch" - -#define CONTENT_DISPOSITION_NAME "content-disposition" -#define CONTENT_DISPOSITION_FILENAME_NAME "filename" - -#define SWITCH_DATA_NAME "SWITCH-DATA" -#define CASE_DEFAULT_VALUE "DEFAULT" - -#define CLASS_PATH_NAME "CLASS_PATH" - -#define SQL_LIMIT_NAME "limit" -#define SQL_OFFSET_NAME "offset" -#define SQL_DEFAULT_NAME "default" - -#define HASH_DEFAULT_ELEMENT_NAME "_default" - -//@} +class Charset; +class Table; /// core func -void pa_globals_init(Pool& pool); +void pa_globals_init(); /// hex_value[c] = hex value of c extern short hex_value[0x100]; //@{ /// global string -extern String *user_html_name; -extern String *content_type_name; -extern String *charset_name; -extern String *body_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 *exception_method_name; -extern String *post_process_method_name; - -extern String *unnamed_name; -extern String *empty_string; - -extern String *auto_method_name; -extern String *main_method_name; - -extern String *main_class_name; - - -extern String *defaults_name; -extern String *ctype_name; -extern String *ctype_white_space_name; -extern String *ctype_digit_name; -extern String *ctype_hex_digit_name; -extern String *ctype_letter_name; -extern String *ctype_word_name; -extern String *ctype_lowercase_name; - -extern String *mime_types_name; -extern String *vfile_mime_type_name; -extern String *origins_mode_name; - -extern String *result_var_name; -extern String *match_var_name; -extern String *string_pre_match_name; -extern String *string_match_name; -extern String *string_post_match_name; - -extern String *content_disposition_name; -extern String *content_disposition_filename_name; - -extern String *limits_name; - -extern String *class_path_name; - -extern String *switch_data_name; -extern String *case_default_value; - -extern String *sql_limit_name; -extern String *sql_offset_name; -extern String *sql_default_name; -extern String *hash_default_element_name; +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; + +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; //@} -/// global hash -extern Hash *untaint_lang_name2enum; -/// global table -extern Dictionary *default_typo_dict; +#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 #endif