--- parser3/src/include/pa_globals.h 2001/03/18 14:45:26 1.10 +++ parser3/src/include/pa_globals.h 2003/01/28 11:38:49 1.101.2.5 @@ -1,87 +1,99 @@ -/* - 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.10 2001/03/18 14:45:26 paf 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_string.h" +static const char* IDENT_GLOBALS_H="$Date: 2003/01/28 11:38:49 $"; + +#include "pa_pool.h" #include "pa_hash.h" +#include "pa_string.h" -#define AUTO_FILE_NAME "auto.p" +class Dictionary; +class Charset; +class Table; -#define CONTENT_TYPE_NAME "content-type" -#define BODY_NAME "body" +/// core func +void pa_globals_init(); -#define EXCEPTION_METHOD_NAME "exception" +/// hex_value[c] = hex value of c +extern short hex_value[0x100]; -#define UNNAMED_NAME "unnamed" +//@{ +/// global string +extern StringPtr optimized_html_name; +extern StringPtr content_type_name; +extern StringPtr charset_name; +extern StringPtr body_name; +extern StringPtr download_name; +extern StringPtr value_name; +extern StringPtr expires_name; +extern StringPtr path_name; +extern StringPtr name_name; +extern StringPtr size_name; +extern StringPtr text_name; -#define MAIN_METHOD_NAME "main" -#define AUTO_METHOD_NAME "auto" +extern StringPtr conf_method_name; +extern StringPtr auto_method_name; -#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" -#define REQUEST_CLASS_NAME "request" -#define RESPONSE_CLASS_NAME "response" +extern StringPtr main_class_name; -#define LIMITS_NAME "limits" -#define POST_MAX_SIZE_NAME "post_max_size" -#define DEFAULTS_NAME "defaults" -#define RESULT_VAR_NAME "result" +extern StringPtr charsets_name; -struct Service_funcs { - int (*read_post)(char *buf, int max_bytes); - void (*output_header_attribute)(const char *key, const char *value); - void (*output_body)(const char *buf, size_t size); -}; +extern StringPtr mime_types_name; +extern StringPtr origins_mode_name; +extern StringPtr result_var_name; +extern StringPtr match_var_name; -// core func -void globals_init(Pool& pool); +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; -// hex_value[c] = hex value of c -extern short hex_value[0x100]; +extern StringPtr content_disposition_name; +extern StringPtr content_disposition_value; +extern StringPtr content_disposition_filename_name; + +extern StringPtr limits_name; -// -extern Service_funcs service_funcs; +extern StringPtr class_path_name; -// global strings -extern String *content_type_name; -extern String *body_name; +extern StringPtr switch_data_name; -extern String *exception_method_name; +extern StringPtr cache_data_name; -extern String *unnamed_name; -extern String *empty_string; +extern StringPtr sql_limit_name; +extern StringPtr sql_offset_name; +extern StringPtr sql_default_name; +extern StringPtr sql_distinct_name; -extern String *auto_method_name; -extern String *main_method_name; +extern StringPtr hash_default_element_name; -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; -extern String *request_class_name; -extern String *response_class_name; +extern StringPtr http_method_name; +extern StringPtr http_timeout_name; +extern StringPtr http_headers_name; +extern StringPtr http_any_status_name; +extern StringPtr file_status_name; -extern String *limits_name; -extern String *post_max_size_name; +//@} -extern String *defaults_name; -extern String *result_var_name; +#ifdef XML +/// DOMImplementation +extern GdomeDOMImplementation *domimpl; -// global hashes -extern Hash *untaint_lang_name2enum; +/// 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