File:  [parser3project] / parser3 / src / include / pa_globals.h
Revision 1.83: download - view: text, annotated - select for diffs - revision graph
Fri Apr 19 09:36:50 2002 UTC (24 years, 3 months ago) by paf
Branches: MAIN
CVS tags: HEAD
String::match table columns globalized, not created @ each ^match anymore
economy: sizeof(Array)+space on 3+x cells=24+ bytes per ^match

/** @file
	Parser: global decls.

	Copyright (c) 2001, 2002 ArtLebedev Group (http://www.artlebedev.com)
	Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)

	$Id: pa_globals.h,v 1.83 2002/04/19 09:36:50 paf Exp $
*/

#ifndef PA_GLOBALS_H
#define PA_GLOBALS_H

#include "pa_pool.h"

class String;
class Hash;
class Dictionary;
class Charset;
class Array;

//@{
/// constant string. class name, predefined method & co
#define CONFIG_FILE_NAME "parser3.conf"
#define AUTO_FILE_NAME "auto.p"

#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 UNHANDLED_EXCEPTION_METHOD_NAME "unhandled_exception"
#define POST_PROCESS_METHOD_NAME "postprocess"

#define MAIN_METHOD_NAME "main"
#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 VFILE_MIME_TYPE_NAME "mime-type"
#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 CONTENT_DISPOSITION_NAME "content-disposition"
#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 CHARSET_UTF8_NAME "UTF-8"

#define HASH_DEFAULT_ELEMENT_NAME "_default"

//@}

/// core func
void pa_globals_init(Pool& pool);

/// 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 *value_name;
extern String *expires_name;
extern String *path_name;
extern String *name_name;
extern String *size_name;
extern String *text_name;

extern String *unhandled_exception_method_name;
extern String *post_process_method_name;

extern String *auto_method_name;
extern String *main_method_name;

extern String *main_class_name;


extern String *charsets_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 *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_filename_name;

extern String *limits_name;

extern String *class_path_name;

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 *charset_UTF8_name;

extern String *hash_default_element_name;

//@}

/// String::match uses this as replace & global search table columns
const int MAX_STRING_MATCH_TABLE_COLUMNS=100;
extern Array *string_match_table_columns;

/// name to enum language table
extern Hash *untaint_lang_name2enum;


/// UTF8 charset
extern Charset *utf8_charset;

#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

E-mail: