--- parser3/src/include/pa_globals.h 2003/01/28 11:38:49 1.101.2.5 +++ parser3/src/include/pa_globals.h 2003/06/20 09:56:01 1.103 @@ -8,83 +8,178 @@ #ifndef PA_GLOBALS_H #define PA_GLOBALS_H -static const char* IDENT_GLOBALS_H="$Date: 2003/01/28 11:38:49 $"; +static const char* IDENT_GLOBALS_H="$Date: 2003/06/20 09:56:01 $"; #include "pa_pool.h" -#include "pa_hash.h" -#include "pa_string.h" +class String; +class Hash; class Dictionary; class Charset; class Table; +//@{ +/// constant string. class name, predefined method & co +#define AUTO_FILE_NAME "auto.p" + +#define CONTENT_TYPE_NAME "content-type" +#define CHARSET_NAME "charset" +#define BODY_NAME "body" +#define DOWNLOAD_NAME "download" +#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 CONF_METHOD_NAME "conf" +#define AUTO_METHOD_NAME "auto" + +#define MAIN_CLASS_NAME "MAIN" + +#define DEFAULTS_NAME "DEFAULTS" +#define CHARSETS_NAME "CHARSETS" +#define MIME_TYPES_NAME "MIME-TYPES" +#define ORIGINS_MODE_NAME "ORIGINS" + +#define RESULT_VAR_NAME "result" +#define MATCH_VAR_NAME "match" + +#define EXCEPTION_VAR_NAME "exception" +#define EXCEPTION_TYPE_PART_NAME "type" +#define EXCEPTION_SOURCE_PART_NAME "source" +#define EXCEPTION_COMMENT_PART_NAME "comment" +#define EXCEPTION_HANDLED_PART_NAME "handled" + + +#define STRING_PRE_MATCH_NAME "prematch" +#define STRING_MATCH_NAME "match" +#define STRING_POST_MATCH_NAME "postmatch" + +#define DATE_CALENDAR_WEEKNO_NAME "week" +#define DATE_CALENDAR_WEEKYEAR_NAME "year" + +#define CONTENT_DISPOSITION_NAME "content-disposition" +#define CONTENT_DISPOSITION_VALUE "attachment" +#define CONTENT_DISPOSITION_FILENAME_NAME "filename" + +#define SWITCH_DATA_NAME "SWITCH-DATA" + +#define CACHE_DATA_NAME "CACHE-DATA" + +#define CLASS_PATH_NAME "CLASS_PATH" + +#define SQL_LIMIT_NAME "limit" +#define SQL_OFFSET_NAME "offset" +#define SQL_DEFAULT_NAME "default" +#define SQL_DISTINCT_NAME "distinct" + +#define TABLE_REVERSE_NAME "reverse" + +#define CHARSET_UTF8_NAME "UTF-8" + +#define HASH_DEFAULT_ELEMENT_NAME "_default" + +#define HTTP_TABLES_NAME "tables" +#define HTTP_METHOD_NAME "method" +#define HTTP_TIMEOUT_NAME "timeout" +#define HTTP_HEADERS_NAME "headers" +#define HTTP_ANY_STATUS_NAME "any-status" +#define FILE_STATUS_NAME "status" + + + +//@} + /// core func -void pa_globals_init(); +void pa_globals_init(Pool& pool); /// hex_value[c] = hex value of c extern short hex_value[0x100]; //@{ /// 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; +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 StringPtr conf_method_name; -extern StringPtr auto_method_name; +extern String *conf_method_name; +extern String *auto_method_name; -extern StringPtr main_class_name; +extern String *main_class_name; -extern StringPtr charsets_name; +extern String *charsets_name; -extern StringPtr mime_types_name; -extern StringPtr origins_mode_name; +extern String *mime_types_name; +extern String *origins_mode_name; -extern StringPtr result_var_name; -extern StringPtr match_var_name; +extern String *result_var_name; +extern String *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 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 StringPtr content_disposition_name; -extern StringPtr content_disposition_value; -extern StringPtr content_disposition_filename_name; +extern String *content_disposition_name; +extern String *content_disposition_value; +extern String *content_disposition_filename_name; -extern StringPtr limits_name; +extern String *limits_name; -extern StringPtr class_path_name; +extern String *class_path_name; -extern StringPtr switch_data_name; +extern String *switch_data_name; -extern StringPtr cache_data_name; +extern String *cache_data_name; -extern StringPtr sql_limit_name; -extern StringPtr sql_offset_name; -extern StringPtr sql_default_name; -extern StringPtr sql_distinct_name; +extern String *sql_limit_name; +extern String *sql_offset_name; +extern String *sql_default_name; +extern String *sql_distinct_name; -extern StringPtr hash_default_element_name; +extern String *table_reverse_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 *charset_UTF8_name; + +extern String *hash_default_element_name; + +extern String *http_tables_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; //@} +/// String::match uses this as replace & global search table columns +const int MAX_STRING_MATCH_TABLE_COLUMNS=100; +extern Table *string_match_table_template; + +extern Table *date_calendar_table_template; + +/// name to enum language table +extern Hash *untaint_lang_name2enum; + +/// value of exif tag -> it's value +extern Hash *exif_tag_value2name; + + +/// UTF8 charset +extern Charset *utf8_charset; #ifdef XML /// DOMImplementation