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.1 cvs 8: #ifndef AMAYA_H 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: 34: /* libwww interface */ 1.2 cvs 35: #include "WWWLib.h" 36: #include "WWWApp.h" 37: #include "WWWHTTP.h" 38: #include "WWWInit.h" 39: #include "HTReqMan.h" 1.10 cvs 40: #include "HTReq.h" 1.2 cvs 41: #include "HTAncMan.h" 42: #include "HTAccess.h" 43: #include "HTEvntrg.h" 44: #include "HTAlert.h" 45: #include "HTNetMan.h" 46: #include "HTBInit.h" 1.5 cvs 47: #include "WWWHTTP.h" /* HTTP access module */ 1.2 cvs 48: #include "HTProxy.h" 1.1 cvs 49: 1.5 cvs 50: typedef char PathBuffer[MAX_PATH]; 1.1 cvs 51: 1.5 cvs 52: typedef struct _AHTDocIdStatus 53: { 54: int docid; /* a docid */ 55: int counter; /* number of open requests associated with dicid */ 56: } 57: AHTDocId_Status; 58: 59: 60: typedef struct __AmayaContext 61: { 62: HTList *reqlist; /* List of current requests */ 63: HTList *docid_status; /* Status for each active docid */ 64: int open_requests; /* number of open requests */ 65: } 66: AmayaContext; 1.1 cvs 67: 68: 69: /* The different events for a DoubleClick */ 70: 1.5 cvs 71: typedef enum _DoubleClickEvent 72: { 73: DC_FALSE = 0, 74: DC_TRUE = 1, 75: DC_FORM_POST = 2, 76: DC_FORM_GET = 4 77: } 78: DoubleClickEvent; 1.1 cvs 79: 1.11 cvs 80: /* The possible GET/POST/PUT request modes */ 1.1 cvs 81: 1.11 cvs 82: /*synchronous request*/ 83: #define AMAYA_SYNC 1 /*0x000001 */ 84: /*synchronous request with incremental callbacks */ 85: #define AMAYA_ISYNC 2 /*0x000010 */ 86: /*asynchronous request */ 1.5 cvs 87: #define AMAYA_ASYNC 4 /*0x000100 */ 1.11 cvs 88: /*asynchronous request with incremental callbacks */ 1.5 cvs 89: #define AMAYA_IASYNC 8 /*0x001000 */ 1.11 cvs 90: /* send the form using the POST HTTP method */ 1.5 cvs 91: #define AMAYA_FORM_POST 16 /*0x010000 */ 1.11 cvs 92: /* send the form using the GET HTTP method */ 1.5 cvs 93: #define AMAYA_FORM_GET 32 /*0x100000 */ 1.1 cvs 94: 1.11 cvs 95: /* the possible states for a request */ 1.5 cvs 96: 97: typedef enum _AHTReqStatus 98: { 1.11 cvs 99: HT_NEW = 0, /* new request */ 100: HT_NEW_PENDING = 1, /* new request, waiting for a socket */ 101: HT_WAITING = 2, /* active request, waiting for socket events */ 102: HT_BUSY = 4, /* the request is currently being processed */ 103: HT_END = 8, /* the request has ended */ 104: HT_ABORT = 16, /* user aborted the request */ 105: HT_ERR = 32 /* an error happened during the request */ 1.5 cvs 106: } 107: AHTReqStatus; 108: 1.11 cvs 109: /* The structure used for requests */ 110: 1.5 cvs 111: typedef void TIcbf (void *request_context, const char *data_block, int data_block_size, int request_status); 112: 113: typedef void TTcbf (void *request_context, int request_status); 114: 115: typedef struct _AHTReqContext 116: { 117: HTRequest *request; /* Pointer to the associated request object */ 118: HTParentAnchor *anchor; 119: HTMethod method; /* What method are we envoking */ 1.11 cvs 120: int docid; /* docid to which this request belongs */ 1.5 cvs 121: AHTReqStatus reqStatus; /* status of the request */ 122: SockOps read_ops; /* The ops operation which must be used during 123: ** an Xt read callback */ 1.1 cvs 124: 1.5 cvs 125: SockOps write_ops; /* The ops operation which must be used during 126: ** an Xt write callback */ 1.1 cvs 127: 1.5 cvs 128: SockOps except_ops; /* The ops operation which must be used during 129: ** an Xt exception callback */ 1.1 cvs 130: 131: #ifdef WWW_XWINDOWS 1.5 cvs 132: XtInputId read_xtinput_id; /* The read xt event id assocciated with 133: the request */ 134: XtInputId write_xtinput_id; /* The write xt event id assocciated with 135: the request */ 136: XtInputId except_xtinput_id; /* The except xt event id assocciated with 137: the request */ 138: #endif /* WWW_XWINDOWS */ 139: char *outputfile; /* file to receive incoming data */ 140: FILE *output; /* file pointer to outputfile */ 1.11 cvs 141: int mode; /* Mode of request: SYNC/ASYNC/IASYNC/FORM POST/FORM GET */ 1.5 cvs 142: char *urlName; /* url to retrieve/or that was retrieved */ 143: TIcbf *incremental_cbf; /* For IASYNC mode, @ of callback function */ 144: /* It'll be called each time a new data package */ 145: /* is received */ 146: void *context_icbf; /* Context for the above cbf */ 147: TTcbf *terminate_cbf; /* optional CBF which will be invoked after */ 148: /* a file has been received */ 149: void *context_tcbf; /* Context for the above cbf */ 150: 151: /* The following elements are used for the PUT and POST */ 152: 153: HTParentAnchor *dest; /* Destination for PUT etc. */ 154: unsigned long block_size; /* size in bytes of the file to put */ 155: int put_counter; /* number of bytes already put */ 156: char *mem_ptr; /* ptr to a struct in mem which contains a copy */ 157: /* of the file to put */ 1.1 cvs 158: /* For debugging */ 1.5 cvs 159: int *s; /* socket number */ 1.11 cvs 160: char *error_stream; /* pointer to an error message associated with the 161: request */ 162: int error_stream_size; /* size of the above message */ 163: boolean error_html; /* If TRUE, means the applications wants to display 164: error_stream. If false, error_stream is not 165: displayed at all */ 1.5 cvs 166: } 167: AHTReqContext; 1.1 cvs 168: 1.11 cvs 169: typedef char AmayaReadChar (); 170: 171: /*typedef void *PresentationTarget; */ 172: 1.1 cvs 173: #define NO 0 174: #define YES 1 175: 176: /* dialogue */ 1.12 cvs 177: #define URLForm 1 178: #define OpenForm 2 179: #define URLName 3 180: #define LocalName 4 181: #define DirSelect 5 182: #define DocSelect 6 1.1 cvs 183: #define StopCommand 7 1.12 cvs 184: #define SaveForm 8 185: #define DirSave 9 186: #define DocSave 10 187: #define ToggleSave 11 188: #define NameSave 12 189: #define Lbl1Save 13 190: #define Lbl2Save 14 191: #define ImgDirSave 14 192: #define Lbl3Save 15 193: #define Lbl4Save 16 194: #define Lbl5Save 17 195: #define ConfirmForm 18 196: #define ConfirmText 19 197: #define AttrHREFForm 20 198: #define AttrHREFText 21 1.1 cvs 199: #define FormAnswer 22 200: #define TextLabel 23 1.12 cvs 201: #define AnswerText 24 202: #define NameText 25 203: #define PasswordText 26 204: #define ClassForm 27 1.1 cvs 205: #define ClassLabel 28 206: #define ClassSelect 29 1.12 cvs 207: #define AClassForm 30 1.1 cvs 208: #define AClassLabel 31 209: #define AClassSelect 32 1.12 cvs 210: #define ConfirmSave 33 211: #define ConfirmSaveLbl 34 212: #define ConfirmSaveList 35 213: #define OptionMenu 36 1.1 cvs 214: #define MAX_REF 40 215: 216: #define MAX_LENGTH 512 217: #define NAME_LENGTH 32 1.16 ! cvs 218: #define HTAppName "Amaya" ! 219: #define HTAppVersion "V0.95b Beta" 1.1 cvs 220: 1.14 cvs 221: THOT_EXPORT int appArgc; 222: THOT_EXPORT char **appArgv; 223: THOT_EXPORT char TempFileDirectory[MAX_LENGTH]; 224: THOT_EXPORT char Answer_text[MAX_LENGTH]; 225: THOT_EXPORT char Answer_name[NAME_LENGTH]; 226: THOT_EXPORT char Answer_password[NAME_LENGTH]; 227: THOT_EXPORT char Display_password[NAME_LENGTH]; 228: THOT_EXPORT int Lg_password; 229: THOT_EXPORT int BaseDialog; 230: THOT_EXPORT char *LastURLName; /* last URL requested */ 231: THOT_EXPORT char *DirectoryName; /* local path of the document */ 232: THOT_EXPORT char *DocumentName; /* document name */ 233: THOT_EXPORT char *ObjectName; /* document name */ 234: THOT_EXPORT char *SaveImgsURL; /* where to save remote Images */ 235: THOT_EXPORT char *TargetName; 236: THOT_EXPORT int CopyImages; /* should we copy images in Save As */ 237: THOT_EXPORT int UpdateURLs; /* should we update URLs in Save As */ 238: THOT_EXPORT boolean UserAnswer; 239: THOT_EXPORT int ReturnOption; 240: THOT_EXPORT boolean InNewWindow; 241: THOT_EXPORT Document CurrentDocument; 242: THOT_EXPORT Document SavingDocument; 243: THOT_EXPORT Document SavingObject; 244: THOT_EXPORT char *SavingFile; /* complete path or URL of the document */ 245: THOT_EXPORT Document AttrHREFdocument; 246: THOT_EXPORT Element AttrHREFelement; 247: THOT_EXPORT char *AttrHREFvalue; 248: THOT_EXPORT Document SelectionDoc; 249: THOT_EXPORT boolean SelectionInPRE; 250: THOT_EXPORT boolean SelectionInComment; 251: THOT_EXPORT boolean SelectionInEM; 252: THOT_EXPORT boolean SelectionInSTRONG; 253: THOT_EXPORT boolean SelectionInCITE; 254: THOT_EXPORT boolean SelectionInDFN; 255: THOT_EXPORT boolean SelectionInCODE; 256: THOT_EXPORT boolean SelectionInVAR; 257: THOT_EXPORT boolean SelectionInSAMP; 258: THOT_EXPORT boolean SelectionInKBD; 259: THOT_EXPORT boolean SelectionInI; 260: THOT_EXPORT boolean SelectionInB; 261: THOT_EXPORT boolean SelectionInTT; 1.15 cvs 262: THOT_EXPORT boolean SelectionInU; 1.14 cvs 263: THOT_EXPORT boolean SelectionInSTRIKE; 264: THOT_EXPORT boolean SelectionInBIG; 265: THOT_EXPORT boolean SelectionInSMALL; 1.1 cvs 266: 267: #define DocumentTableLength 10 1.14 cvs 268: THOT_EXPORT char *DocumentURLs[DocumentTableLength]; 1.5 cvs 269: 1.1 cvs 270: /* The whole document is loaded when the corresponding value 271: in FilesLoading is equal to 0 */ 1.14 cvs 272: THOT_EXPORT int FilesLoading[DocumentTableLength]; 273: THOT_EXPORT Document W3Loading; /* the document being loaded */ 274: THOT_EXPORT int IButton; 275: THOT_EXPORT int BButton; 276: THOT_EXPORT int TTButton; 1.5 cvs 277: 1.1 cvs 278: #define IMAGE_NOT_LOADED 0 279: #define IMAGE_LOCAL 1 280: #define IMAGE_LOADED 2 281: #define IMAGE_MODIFIED 3 282: 1.5 cvs 283: typedef struct _ElemImage 284: { 285: Element currentElement; /* first element using this image */ 286: struct _ElemImage *nextElement; 287: } 288: ElemImage; 289: 290: typedef struct _LoadedImageDesc 291: { 292: char *originalName; /* complete URL of the image */ 293: char *localName; /* local name (without path) of the image */ 294: struct _LoadedImageDesc *prevImage; 295: struct _LoadedImageDesc *nextImage; 296: Document document; /* document concerned */ 297: struct _ElemImage *elImage; /* first element using this image */ 298: int status; 299: } 300: LoadedImageDesc; 301: 1.14 cvs 302: THOT_EXPORT LoadedImageDesc *ImageURLs; 1.1 cvs 303: 1.14 cvs 304: THOT_EXPORT HTList *conv; /* List of global converters */ 305: THOT_EXPORT AmayaContext *Amaya; /* Amaya's request global context */ 1.1 cvs 306: 307: #define EOS '\0' 308: #define EOL '\n' 309: #define TAB '\t' 310: #define SPACE ' ' 311: 312: #endif /* AMAYA_H */