00001 /* 00002 ** 00003 */ 00004 //--------------------------------------------------------------------------- 00005 #ifndef _WORM_TYPES_H 00006 #define _WORM_TYPES_H 00007 //--------------------------------------------------------------------------- 00008 00009 // microsoft pragma to avoid 157 messages in some cases 00010 #pragma warning(disable:4786) 00011 00012 #include <string> 00013 #include <map> 00014 #include <vector> 00015 //using namespace std; 00016 00017 /* 00018 ** YYYYMMDDhhmmss.sss 00019 ** 123456789.12345678 00020 */ 00021 #define WORM_TIMESTR_LEN 26 00022 typedef char WORM_TIME[WORM_TIMESTR_LEN+1]; 00023 typedef char * WORM_TIME_PTR; 00024 #define WORM_TIME_INVALID "19000101000000.000" 00025 00026 #define WORM_PROGRAMNAME_LEN 38 00027 typedef char PROGRAM_NAME[WORM_PROGRAMNAME_LEN+1]; 00028 00029 #define WORM_LOGDIR_LEN 120 00030 typedef char LOG_DIRECTORY[WORM_LOGDIR_LEN+1]; 00031 00032 #define WORM_FILENAME_LEN 240 00033 typedef char GEN_FILENAME[WORM_FILENAME_LEN+1]; 00034 00035 // This type is sacred -- to support Earthworm MSG_LOGO 00036 typedef unsigned char WORM_INSTALLATION_ID; 00037 #define WORM_INSTALLATION_INVALID (WORM_INSTALLATION_ID)0 00038 #define WORM_INSTALLATION_WILD (WORM_INSTALLATION_ID)0 00039 typedef std::map<std::string, WORM_INSTALLATION_ID> INSTALLATION_MAP; 00040 typedef INSTALLATION_MAP::iterator INSTALLATION_MAP_ITERATOR; 00041 00042 // This type is sacred -- to support Earthworm MSG_LOGO 00043 typedef unsigned char WORM_MODULE_ID; 00044 #define WORM_MODULE_INVALID (WORM_MODULE_ID)0 00045 #define WORM_MODULE_WILD (WORM_MODULE_ID)0 00046 typedef std::map<std::string, WORM_MODULE_ID> MODULE_MAP; 00047 typedef MODULE_MAP::iterator MODULE_MAP_ITERATOR; 00048 00049 // This type is sacred -- to support Earthworm MSG_LOGO 00050 typedef unsigned char WORM_MSGTYPE_ID; 00051 #define WORM_MSGTYPE_INVALID (WORM_MSGTYPE_ID)0 00052 #define WORM_MSGTYPE_WILD (WORM_MSGTYPE_ID)0 00053 typedef std::map<std::string, WORM_MSGTYPE_ID> MESSAGETYPE_MAP; 00054 typedef MESSAGETYPE_MAP::iterator MESSAGETYPE_MAP_ITERATOR; 00055 00056 // This type is sacred -- to support Earthworm MSG_LOGO 00057 typedef unsigned long WORM_RING_ID; 00058 #define WORM_RING_INVALID 0L 00059 typedef std::map<std::string, WORM_RING_ID> RING_MAP; 00060 typedef RING_MAP::iterator RING_MAP_ITERATOR; 00061 00062 00063 00064 #define MAX_INSTALLNAME_LEN 32 00065 typedef char WORM_INSTALL_NAME[MAX_INSTALLNAME_LEN+1]; 00066 00067 #define MAX_RINGNAME_LEN 32 00068 typedef char WORM_RING_NAME[MAX_RINGNAME_LEN+1]; 00069 00070 #define MAX_MODNAME_LEN 32 00071 typedef char WORM_MODULE_NAME[MAX_MODNAME_LEN+1]; 00072 00073 #define MAX_MSGTYPENAME_LEN 32 00074 typedef char WORM_MSGTYPE_NAME[MAX_MSGTYPENAME_LEN+1]; 00075 00076 00077 // Whenever EARTHWORM'S transport.h is included in a project, 00078 // _USING_EW_XPORT must be defined to prevent a conflict with 00079 // this typedef 00080 00081 #ifndef _USING_EW_XPORT 00082 00083 typedef struct { /***** description of message source *************/ 00084 WORM_MSGTYPE_ID type; /* message is of this type */ 00085 WORM_MODULE_ID mod; /* from this module */ 00086 WORM_INSTALLATION_ID instid; /* installation id (e.g. 1 = USGS) [installation] */ 00087 } MSG_LOGO; /*************************************************/ 00088 00089 #endif 00090 00091 00092 00093 #endif 00094