Return to amaya.h CVS log | Up to [Public] / Amaya / amaya |
1.8 cvs 1: /* 2: * 3: * (c) COPYRIGHT MIT and INRIA, 1996. 4: * Please first read the full copyright statement in file COPYRIGHT. 5: * 6: */ 7: 1.59 cvs 8: #ifndef AMAYA_H 1.1 cvs 9: #define AMAYA_H 10: 1.10 cvs 11: /* Thot interface */ 12: #include "thot_gui.h" 13: #include "thot_sys.h" 14: #include "app.h" 15: #include "application.h" 16: #include "attribute.h" 17: #include "browser.h" 18: #include "content.h" 19: #include "dialog.h" 20: #include "interface.h" 21: #include "libmsg.h" 22: #include "message.h" 23: #include "presentation.h" 24: #include "selection.h" 25: #include "reference.h" 26: #include "tree.h" 27: #include "view.h" 28: 1.1 cvs 29: /* Included headerfiles */ 1.10 cvs 30: #include "EDITOR.h" 1.1 cvs 31: #include "HTML.h" 32: #include "amayamsg.h" 33: 1.25 cvs 34: #define MAX_LENGTH 512 35: #define NAME_LENGTH 32 36: #define HTAppName "amaya" 1.70 ! cvs 37: #define HTAppVersion "V1.4" 1.25 cvs 38: 1.36 cvs 39: #define URL_SEP '/' 40: #define URL_STR "/" 41: 1.50 cvs 42: /* The structures used for request callbacks */ 43: 44: typedef void TIcbf (Document doc, int status, char *urlName, 45: char *outputfile, const char *content_type, 46: const char *data_block, int data_block_size, 47: void *context); 48: 49: typedef void TTcbf (Document doc, int status, char *urlName, 50: char *outputfile, const char *content_type, 51: void *context); 52: 1.25 cvs 53: /* How are Network accesses provided ? */ 54: #ifdef AMAYA_JAVA 55: #include "libjava.h" 56: #else 1.39 cvs 57: #ifdef AMAYA_ILU 58: #include "libilu.h" 59: #else 1.25 cvs 60: #include "libwww.h" 61: #endif 1.39 cvs 62: #endif 1.1 cvs 63: 1.66 cvs 64: /* The different events to open a new document */ 1.41 cvs 65: typedef enum _ClickEvent { 1.66 cvs 66: CE_ABSOLUTE, CE_RELATIVE, CE_FORM_POST, CE_FORM_GET, CE_HELP, CE_MAKEBOOK 1.41 cvs 67: } ClickEvent; 1.20 cvs 68: 69: typedef char AmayaReadChar (); 70: #define NO 0 71: #define YES 1 72: 73: /* dialogue */ 74: #define URLForm 1 1.29 cvs 75: #define OpenForm 2 76: #define URLName 3 77: #define LocalName 4 78: #define DirSelect 5 79: #define DocSelect 6 1.20 cvs 80: #define StopCommand 7 1.29 cvs 81: #define SaveForm 8 1.20 cvs 82: #define DirSave 9 83: #define DocSave 10 84: #define ToggleSave 11 1.29 cvs 85: #define NameSave 12 1.30 cvs 86: #define ImgDirSave 13 87: #define Label1 14 88: #define Label2 15 89: #define Label3 16 90: #define Label4 17 1.29 cvs 91: #define ConfirmForm 18 92: #define ConfirmText 19 1.20 cvs 93: #define AttrHREFForm 20 94: #define AttrHREFText 21 95: #define FormAnswer 22 96: #define AnswerText 24 97: #define NameText 25 98: #define PasswordText 26 1.30 cvs 99: #define FilterText 27 100: #define ClassForm 28 1.20 cvs 101: #define ClassSelect 29 102: #define AClassForm 30 1.30 cvs 103: #define AClassSelect 31 104: #define ConfirmSave 32 105: #define ConfirmSaveList 33 106: #define OptionMenu 34 1.69 cvs 107: #define MAX_SUBMENUS 20 108: /* MAX_SUBMENUS references reserved for submenus of Option menu */ 109: #define About1 55 110: #define About2 56 111: #define About3 57 112: #define Version 58 1.70 ! cvs 113: #define AboutForm 59 ! 114: #define CSSForm 60 1.69 cvs 115: #define CSSSelect 61 1.70 ! cvs 116: #define TableForm 62 ! 117: #define TableRows 63 ! 118: #define TableCols 64 ! 119: #define TableBorder 65 ! 120: #define MAX_REF 66 1.20 cvs 121: 1.11 cvs 122: /* The possible GET/POST/PUT request modes */ 1.1 cvs 123: 1.11 cvs 124: /*synchronous request*/ 125: #define AMAYA_SYNC 1 /*0x000001 */ 126: /*synchronous request with incremental callbacks */ 127: #define AMAYA_ISYNC 2 /*0x000010 */ 128: /*asynchronous request */ 1.5 cvs 129: #define AMAYA_ASYNC 4 /*0x000100 */ 1.11 cvs 130: /*asynchronous request with incremental callbacks */ 1.5 cvs 131: #define AMAYA_IASYNC 8 /*0x001000 */ 1.11 cvs 132: /* send the form using the POST HTTP method */ 1.5 cvs 133: #define AMAYA_FORM_POST 16 /*0x010000 */ 1.11 cvs 134: /* send the form using the GET HTTP method */ 1.5 cvs 135: #define AMAYA_FORM_GET 32 /*0x100000 */ 1.23 cvs 136: /* bypass caching */ 137: #define AMAYA_NOCACHE 64 138: /* don't follow redirections */ 139: #define AMAYA_NOREDIR 128 1.48 cvs 140: #ifndef AMAYA_JAVA 141: /* Prevents a stop race condition in ASYNC transfers */ 142: #define AMAYA_ASYNC_SAFE_STOP 256 1.60 cvs 143: #define AMAYA_LOAD_CSS 512 1.67 cvs 144: #define AMAYA_FLUSH_REQUEST 1024 1.63 cvs 145: #else 146: #define AMAYA_ASYNC_SAFE_STOP 0 147: #define AMAYA_LOAD_CSS 0 1.48 cvs 148: #endif /* ! AMAYA_JAVA */ 1.26 cvs 149: /* 150: * Flags to indicate the status of the network requests associated 151: * to a document. 152: */ 153: 154: #define AMAYA_NET_INACTIVE 1 155: #define AMAYA_NET_ERROR 2 156: #define AMAYA_NET_ACTIVE 4 157: 1.25 cvs 158: /* 159: * Flags for HTParse, specifying which parts of the URL are needed 160: */ 161: #define AMAYA_PARSE_ACCESS 16 /* Access scheme, e.g. "HTTP" */ 162: #define AMAYA_PARSE_HOST 8 /* Host name, e.g. "www.w3.org" */ 163: #define AMAYA_PARSE_PATH 4 /* URL Path, e.g. "pub/WWW/TheProject.html" */ 164: #define AMAYA_PARSE_ANCHOR 2 /* Fragment identifier, e.g. "news" */ 165: #define AMAYA_PARSE_PUNCTUATION 1 /* Include delimiters, e.g, "/" and ":" */ 166: #define AMAYA_PARSE_ALL 31 /* All the parts */ 1.1 cvs 167: 1.14 cvs 168: THOT_EXPORT int appArgc; 169: THOT_EXPORT char **appArgv; 170: THOT_EXPORT char TempFileDirectory[MAX_LENGTH]; 171: THOT_EXPORT char Answer_text[MAX_LENGTH]; 172: THOT_EXPORT char Answer_name[NAME_LENGTH]; 173: THOT_EXPORT char Answer_password[NAME_LENGTH]; 174: THOT_EXPORT char Display_password[NAME_LENGTH]; 1.30 cvs 175: THOT_EXPORT char ScanFilter[NAME_LENGTH]; /* to scan directories */ 1.14 cvs 176: THOT_EXPORT char *LastURLName; /* last URL requested */ 177: THOT_EXPORT char *DirectoryName; /* local path of the document */ 178: THOT_EXPORT char *DocumentName; /* document name */ 1.43 cvs 179: THOT_EXPORT char *SavePath; /* saving path */ 180: THOT_EXPORT char *SaveName; /* saving name of the document */ 1.30 cvs 181: THOT_EXPORT char *ObjectName; /* document name */ 1.14 cvs 182: THOT_EXPORT char *SaveImgsURL; /* where to save remote Images */ 183: THOT_EXPORT char *TargetName; 1.45 cvs 184: THOT_EXPORT char *SavingFile; /* complete path or URL of the document */ 185: THOT_EXPORT int Lg_password; 186: THOT_EXPORT int BaseDialog; 1.14 cvs 187: THOT_EXPORT int ReturnOption; 1.70 ! cvs 188: THOT_EXPORT int NumberRows; ! 189: THOT_EXPORT int NumberCols; ! 190: THOT_EXPORT int TBorder; 1.69 cvs 191: THOT_EXPORT int ReturnOptionMenu; 1.14 cvs 192: THOT_EXPORT Document CurrentDocument; 193: THOT_EXPORT Document SavingDocument; 194: THOT_EXPORT Document SavingObject; 195: THOT_EXPORT Document AttrHREFdocument; 1.45 cvs 196: THOT_EXPORT Document DocBook; 197: THOT_EXPORT Document IncludedDocument; 1.14 cvs 198: THOT_EXPORT Element AttrHREFelement; 199: THOT_EXPORT char *AttrHREFvalue; 200: THOT_EXPORT Document SelectionDoc; 1.45 cvs 201: THOT_EXPORT boolean SaveAsHTML; 1.62 cvs 202: THOT_EXPORT boolean SaveAsXML; 1.45 cvs 203: THOT_EXPORT boolean SaveAsText; 204: THOT_EXPORT boolean CopyImages; /* should we copy images in Save As */ 205: THOT_EXPORT boolean UpdateURLs; /* should we update URLs in Save As */ 206: THOT_EXPORT boolean UserAnswer; 207: THOT_EXPORT boolean InNewWindow; 1.14 cvs 208: THOT_EXPORT boolean SelectionInPRE; 209: THOT_EXPORT boolean SelectionInComment; 210: THOT_EXPORT boolean SelectionInEM; 211: THOT_EXPORT boolean SelectionInSTRONG; 212: THOT_EXPORT boolean SelectionInCITE; 1.56 cvs 213: THOT_EXPORT boolean SelectionInABBR; 214: THOT_EXPORT boolean SelectionInACRONYM; 1.57 cvs 215: THOT_EXPORT boolean SelectionInINS; 216: THOT_EXPORT boolean SelectionInDEL; 1.14 cvs 217: THOT_EXPORT boolean SelectionInDFN; 218: THOT_EXPORT boolean SelectionInCODE; 219: THOT_EXPORT boolean SelectionInVAR; 220: THOT_EXPORT boolean SelectionInSAMP; 221: THOT_EXPORT boolean SelectionInKBD; 222: THOT_EXPORT boolean SelectionInI; 223: THOT_EXPORT boolean SelectionInB; 224: THOT_EXPORT boolean SelectionInTT; 225: THOT_EXPORT boolean SelectionInBIG; 226: THOT_EXPORT boolean SelectionInSMALL; 1.1 cvs 227: 1.53 cvs 228: typedef enum 229: { 230: docHTML, 231: docHelp, 1.54 cvs 232: docText 1.53 cvs 233: } DocumentType; 1.64 cvs 234: 235: 236: /* a record for data associated with a request */ 237: typedef struct _DocumentMetaDataElement 238: { 239: char *form_data; /* form data associated with a URL */ 240: ClickEvent method; /* method used to send this data */ 241: } DocumentMetaDataElement; 242: 1.1 cvs 243: #define DocumentTableLength 10 1.14 cvs 244: THOT_EXPORT char *DocumentURLs[DocumentTableLength]; 1.64 cvs 245: /* Any formdata associated with a URL */ 246: THOT_EXPORT DocumentMetaDataElement *DocumentMeta[DocumentTableLength]; 1.41 cvs 247: /* TRUE if the document is displayed by help commands */ 1.53 cvs 248: THOT_EXPORT DocumentType DocumentTypes[DocumentTableLength]; 1.1 cvs 249: /* The whole document is loaded when the corresponding value 250: in FilesLoading is equal to 0 */ 1.14 cvs 251: THOT_EXPORT int FilesLoading[DocumentTableLength]; 1.26 cvs 252: /* Gives the status (error, success) of the download of the objects of 253: a document */ 1.42 cvs 254: 1.26 cvs 255: THOT_EXPORT int DocNetworkStatus[DocumentTableLength]; 1.14 cvs 256: THOT_EXPORT Document W3Loading; /* the document being loaded */ 1.65 cvs 257: THOT_EXPORT Document BackupDocument; /* the current backup */ 1.14 cvs 258: THOT_EXPORT int IButton; 259: THOT_EXPORT int BButton; 260: THOT_EXPORT int TTButton; 1.5 cvs 261: 1.64 cvs 262: #define IMAGE_NOT_LOADED 0 1.1 cvs 263: #define IMAGE_LOCAL 1 264: #define IMAGE_LOADED 2 265: #define IMAGE_MODIFIED 3 266: 1.27 cvs 267: #ifdef __STDC__ 1.41 cvs 268: typedef void (*LoadedImageCallback)(Document doc, Element el, char *file, void *extra); 1.27 cvs 269: #else 270: typedef void (*LoadedImageCallback)(); 271: #endif 1.5 cvs 272: typedef struct _ElemImage 273: { 1.27 cvs 274: Element currentElement;/* first element using this image */ 1.5 cvs 275: struct _ElemImage *nextElement; 1.27 cvs 276: LoadedImageCallback callback; /* Callback for non-standard handling */ 277: void *extra; /* any extra info for the CallBack */ 1.5 cvs 278: } 279: ElemImage; 280: 281: typedef struct _LoadedImageDesc 282: { 1.58 cvs 283: char *originalName; /* complete URL of the image */ 1.5 cvs 284: char *localName; /* local name (without path) of the image */ 1.58 cvs 285: struct _LoadedImageDesc *prevImage;/* double linked list */ 286: struct _LoadedImageDesc *nextImage;/* easier to unchain */ 287: Document document; /* document concerned */ 288: struct _ElemImage *elImage; /* first element using this image */ 289: int imageType; /* the type of the image */ 290: int status; /* the status of the image loading */ 1.5 cvs 291: } 292: LoadedImageDesc; 293: 1.14 cvs 294: THOT_EXPORT LoadedImageDesc *ImageURLs; 1.31 cvs 295: THOT_EXPORT LoadedImageDesc *ImageLocal; 1.1 cvs 296: 297: #define EOS '\0' 298: #define EOL '\n' 299: #define TAB '\t' 300: #define SPACE ' ' 1.22 cvs 301: 1.25 cvs 302: #endif /* AMAYA_H */ 1.48 cvs 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 1.1 cvs 313: