************************************************************************ * WCONNECT Header File ********************** *** Author: Rick Strahl *** (c) West Wind Technologies, 1995-2002 *** Contact: http://www.west-wind.com/ *** Function: Global DEFINEs used by West Wind Web Connection. *** *** IMPORTANT: Any changes made here or in WCONNECT_OVERRIDE.H *** require a full recompile of all files that use *** this header file! ************************************************************************ #DEFINE WWVERSION "Version 4.20" #DEFINE WWVERSIONDATE "May 6, 2002" *** DEBUGMODE effects how errors are handled. *** If .T. errors are not handled and the server stops on errors. *** If .F. the Web Connection error handlers kick in and *** provide error pages and logging #DEFINE DEBUGMODE .T. *** Use this flag to handle different configurations *** You can set up conditional DEFINES for applications *** to easily switch configurations. (Optional - not used by framework) *** 1 - Development Server *** 2 - Live Server #DEFINE LOCALSITE 1 *** When .T. server runs as a Top Level while running file based #DEFINE SERVER_IN_DESKTOP .F. *** Carriage Return/Line Break #DEFINE CR CHR(13)+CHR(10) && DO NOT USE ANY MORE #DEFINE CRLF CHR(13)+CHR(10) *** Customizable default HTTP Header #DEFINE DEFAULT_CONTENTTYPE_HEADER ; "HTTP/1.1 200 OK" + CRLF + ; "Content-type: text/html" + CRLF #DEFINE DEFAULT_HTTP_VERSION "1.1" *** Post boundary used for posting multipart vars #DEFINE POST_BOUNDARY CHR(13)+CHR(10)+ "#@$ FORM VARIABLES $@#" + CHR(13)+CHR(10) #DEFINE MULTIPART_BOUNDARY "-----------------------------7cf2a327f01ae" *** SQL Connect String to database containing *** wwSession and RequestLog files #DEFINE WWC_USE_SQL_SYSTEMFILES .F. *** Determines whether the store runs with SQL Server Tables #DEFINE WWSTORE_USE_SQL_TABLES .F. #DEFINE WWMSGBOARD_USE_SQL_TABLES .F. *** Visual FoxPro Version Number Macro #DEFINE wwVFPVERSION VAL(SUBSTR(Version(),ATC("FoxPro",VERSION())+7,2)) *** Determines whether TEMPLATE pages are cached (ExpandTemplate calls) *** Note: This value specifies how often the file is checked for *** a newer version in seconds. 0 means - don't cache. #DEFINE WWC_CACHE_TEMPLATES 0 *** Maximum String size for the wwResponseString class #DEFINE MAX_STRINGSIZE 8000 *** Maximum number of cells that ShowCursor generates *** before reverting to
list #DEFINE MAX_TABLE_CELLS 15000 *** Special 'NULL' String to differentiate none from empty strings #DEFINE WWC_NULLSTRING "*#*" *** Defines the location of the Web Connection framework *** the default is the current directory #DEFINE WWC_FRAMEWORK_PATH ".\" *** XML Size Id used for Memo Fields to differentiate memos from strings *** This value is compatible with ADO's usage #DEFINE XML_SCHEMA_MEMOSIZE 2147483647 #DEFINE XML_XMLDOM_PROGID "MSXML2.DOMDocument" **"MSXML2.DOMDocument.4.0" *** Determines whether wwXML::XMLTOCURSOR tries to use *** VFP 7's XMLTOCURSOR. NOTE: Requires SP1!!!! *** This can drastically improve performance for large data sets #DEFINE WWXML_USE_VFP_XMLTOCURSOR .F. *** Class Names - These classes are defined here and used in the code *** so if you subclass an essential class you can change *** the class used here and automatically have the framework *** inherit from your subclass #DEFINE WWC_SERVER wwServer #DEFINE WWC_SERVERFORM wwServerForm #DEFINE WWC_SERVERFORM_VFPFRAME wwServerFormVFPFrame #DEFINE WWC_PROCESS wwProcess #DEFINE WWC_WEBSERVICE wwWebService #DEFINE WWC_SESSION wwSession #DEFINE WWC_SQLSESSION wwSessionSQL #DEFINE WWC_REQUEST wwRequest #DEFINE WWC_REQUESTASP wwASPRequest #DEFINE WWC_RESPONSE wwResponse #DEFINE WWC_RESPONSEFILE wwResponseFile #DEFINE WWC_RESPONSESTRING wwResponseStringNoBuffer #DEFINE WWC_RESPONSEASP wwASPResponse #DEFINE WWC_WWDHTMLFORM wwDhtmlForm #DEFINE WWC_WWDHTMLCONTROL wwDhtmlControl #DEFINE WWC_HTTPHEADER wwHTTPHeader #DEFINE WWC_WWEVAL wwEval #DEFINE WWC_WWVFPSCRIPT wwVFPScript #DEFINE WWC_WWPDF wwPDF50 #DEFINE WWC_WWSOAP wwSOAP #DEFINE WWC_WWBUSINESS wwBusiness *** Class Include flags - Use these to make the install lighter - New 07/05/97 #DEFINE WWC_LOAD_WWSESSION .T. #DEFINE WWC_LOAD_WWBANNER .T. #DEFINE WWC_LOAD_WWSHOWCURSOR .T. #DEFINE WWC_LOAD_WWDBFPOPUP .T. #DEFINE WWC_LOAD_WWIPSTUFF .T. #DEFINE WWC_LOAD_WWHTTP .T. #DEFINE WWC_LOAD_WWBUSINESS .T. #DEFINE WWC_LOAD_WWSQL .T. #DEFINE WWC_LOAD_WWHTTPSQL .T. #DEFINE WWC_LOAD_WWVFPSCRIPT .T. #DEFINE WWC_LOAD_WWPDF .T. #DEFINE WWC_LOAD_WWXML .T. && Don't change! Required! #DEFINE WWC_LOAD_WWMSMQ .F. #DEFINE WWC_LOAD_WWSOAP .T. #DEFINE WWC_LOAD_DYNAMICHTML_FORMRENDERING .T. *** VERSION CONSTANTS #DEFINE SHAREWARE .F. #DEFINE WWC_DEMO .T. #DEFINE SWTIMEOUT 1800 #DEFINE HTMLCLASSONLY .F. #DEFINE SHOWSQLERRORS .F. #DEFINE FOXISAPI .F. #DEFINE VISUALWEBBUILDER .F. *** COMPATIBILITY CONSTANTS *** Turn on for backwards compatibility *** As features are removed they are bracketed in this flag. #DEFINE WWC_COMPATIBILITY .F. *** Use old Style button in Form Rendering *** All buttons are rendered with the same name if .t. *** END COMPATIBILITY CONSTANTS *** Images in forms are pathed relative to the Web request *** and must be located in the directory specified here #DEFINE WWFORM_IMAGEPATH "formimages/" #DEFINE WWFORM_USEOLD_BUTTONSTYLE .F. *** wwList ActiveX Control settings - Changed 9/2/2000 #DEFINE WWLIST_USEOLDGRID .F. #DEFINE WWLIST_CLASSID "36E500EB-8219-11D1-A398-00600889F23B" #DEFINE WWLIST_CODEBASE "wwCTLS.cab" #DEFINE LISTVIEW_CLASSID "BDD1F04B-858B-11D1-B16A-00C0F0283628" #DEFINE LISTVIEW_CODEBASE "http://activex.microsoft.com/controls/vb6/MSComCtl.cab" *** General WinINET Constants #DEFINE INTERNET_OPEN_TYPE_PRECONFIG 0 #DEFINE INTERNET_OPEN_TYPE_DIRECT 1 #DEFINE INTERNET_OPEN_TYPE_PROXY 3 #DEFINE INTERNET_OPTION_CONNECT_TIMEOUT 2 #DEFINE INTERNET_OPTION_CONNECT_RETRIES 3 #DEFINE INTERNET_OPTION_SEND_TIMEOUT 5 #DEFINE INTERNET_OPTION_RECEIVE_TIMEOUT 6 #DEFINE INTERNET_OPTION_DATA_SEND_TIMEOUT 5 #DEFINE INTERNET_OPTION_DATA_RECEIVE_TIMEOUT 6 #DEFINE INTERNET_OPTION_LISTEN_TIMEOUT 11 #DEFINE INTERNET_SERVICE_FTP 1 #DEFINE INTERNET_DEFAULT_FTP_PORT 21 #DEFINE ERROR_INTERNET_EXTENDED_ERROR 12003 *** WinInet Service Flags #DEFINE INTERNET_SERVICE_HTTP 3 #DEFINE INTERNET_DEFAULT_HTTP_PORT 80 #DEFINE INTERNET_DEFAULT_HTTPS_PORT 443 #DEFINE INTERNET_FLAG_RELOAD 2147483648 #DEFINE INTERNET_FLAG_SECURE 8388608 #define INTERNET_FLAG_KEEP_CONNECTION 0x00400000 #DEFINE HTTP_STATUS_PROXY_AUTH_REQ 407 #define HTTP_QUERY_STATUS_CODE 19 #define HTTP_QUERY_FLAG_NUMBER 0x20000000 #DEFINE HTTP_QUERY_RAW_HEADERS_CRLF 22 #define HTTP_QUERY_STATUS_CODE 19 #define HTTP_QUERY_STATUS_TEXT 20 #DEFINE FTP_TRANSFER_TYPE_ASCII 1 #DEFINE FTP_TRANSFER_TYPE_BINARY 2 #DEFINE INTERNET_FLAG_IGNORE_CERT_DATE_INVALID 0x00002000 *** Win32 API Constants #DEFINE ERROR_SUCCESS 0 *** Access Flags #DEFINE GENERIC_READ 0x80000000 #DEFINE GENERIC_WRITE 0x40000000 #DEFINE GENERIC_EXECUTE 0x20000000 #DEFINE GENERIC_ALL 0x10000000 *** File Attribute Flags #DEFINE FILE_ATTRIBUTE_NORMAL 0x00000080 #DEFINE FILE_ATTRIBUTE_READONLY 0x00000001 #DEFINE FILE_ATTRIBUTE_HIDDEN 0x00000002 #DEFINE FILE_ATTRIBUTE_SYSTEM 0x00000004 *** Values for FormatMessage API #DEFINE FORMAT_MESSAGE_FROM_SYSTEM 4096 #DEFINE FORMAT_MESSAGE_FROM_HMODULE 2048 *** Registry roots #DEFINE HKEY_CLASSES_ROOT -2147483648 && (( HKEY ) 0x80000000 ) #DEFINE HKEY_CURRENT_USER -2147483647 && (( HKEY ) 0x80000001 ) #DEFINE HKEY_LOCAL_MACHINE -2147483646 && (( HKEY ) 0x80000002 ) #DEFINE HKEY_USERS -2147483645 && (( HKEY ) 0x80000003 ) *** Registry Value types #DEFINE REG_NONE 0 && Undefined Type (default) #DEFINE REG_SZ 1 && Regular Null Terminated String #DEFINE REG_BINARY 3 && ??? (unimplemented) #DEFINE REG_DWORD 4 && Long Integer value #DEFINE MULTI_SZ 7 && Multiple Null Term Strings (not implemented) *** Generic File Access Rights for NT ACLs #define FILERIGHTS_READ 1179785 #define FILERIGHTS_READEXECUTE 1179817 #define FILERIGHTS_CHANGE 1245631 #define FILERIGHTS_FULL 2032127 **** CUSTOMIZE AND OVERRIDE SETTINGS INDEPENDENTLY **** OF THE WC INSTALLATION #IF FILE("WCONNECT_OVERRIDE.H") #INCLUDE WCONNECT_OVERRIDE.H #ENDIF *!* WCONNECT_OVERRIDE.H would contain (for example): *!* #UNDEFINE DEBUGMODE *!* #DEFINE DEBUGMODE .T. *!* #UNDEFINE SERVER_IN_DESKTOP *!* #DEFINE SERVER_IN_DESKTOP .T.