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 218: #define HTAppName "amaya" 1.13 cvs 219: #define HTAppVersion "V0.95a 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; ! 262: THOT_EXPORT boolean SelectionInSTRIKE; ! 263: THOT_EXPORT boolean SelectionInBIG; ! 264: THOT_EXPORT boolean SelectionInSMALL; 1.1 cvs 265: 266: #define DocumentTableLength 10 1.14 ! cvs 267: THOT_EXPORT char *DocumentURLs[DocumentTableLength]; 1.5 cvs 268: 1.1 cvs 269: /* The whole document is loaded when the corresponding value 270: in FilesLoading is equal to 0 */ 1.14 ! cvs 271: THOT_EXPORT int FilesLoading[DocumentTableLength]; ! 272: THOT_EXPORT Document W3Loading; /* the document being loaded */ ! 273: THOT_EXPORT int IButton; ! 274: THOT_EXPORT int BButton; ! 275: THOT_EXPORT int TTButton; 1.5 cvs 276: 1.1 cvs 277: #define IMAGE_NOT_LOADED 0 278: #define IMAGE_LOCAL 1 279: #define IMAGE_LOADED 2 280: #define IMAGE_MODIFIED 3 281: 1.5 cvs 282: typedef struct _ElemImage 283: { 284: Element currentElement; /* first element using this image */ 285: struct _ElemImage *nextElement; 286: } 287: ElemImage; 288: 289: typedef struct _LoadedImageDesc 290: { 291: char *originalName; /* complete URL of the image */ 292: char *localName; /* local name (without path) of the image */ 293: struct _LoadedImageDesc *prevImage; 294: struct _LoadedImageDesc *nextImage; 295: Document document; /* document concerned */ 296: struct _ElemImage *elImage; /* first element using this image */ 297: int status; 298: } 299: LoadedImageDesc; 300: 1.14 ! cvs 301: THOT_EXPORT LoadedImageDesc *ImageURLs; 1.1 cvs 302: 1.14 ! cvs 303: THOT_EXPORT HTList *conv; /* List of global converters */ ! 304: THOT_EXPORT AmayaContext *Amaya; /* Amaya's request global context */ 1.1 cvs 305: 306: #define EOS '\0' 307: #define EOL '\n' 308: #define TAB '\t' 309: #define SPACE ' ' 310: 311: #endif /* AMAYA_H */