Annotation of Amaya/amaya/amaya.h, revision 1.3
1.1 cvs 1: #ifndef AMAYA_H
2: #define AMAYA_H
3:
4: /* Included headerfiles */
5:
6: #include "app.h"
7: #include "HTML.h"
8:
9: #include "amayamsg.h"
10:
11: /* libwww interface */
12:
13: #include "thot_gui.h"
14: #include "thot_sys.h"
15:
1.2 cvs 16: #include "WWWLib.h"
17: #include "WWWApp.h"
18: #include "WWWHTTP.h"
19: #include "WWWInit.h"
20: #include "HTReqMan.h"
21: #include "HTAncMan.h"
1.1 cvs 22: #include "AHTDialog.h"
1.2 cvs 23: #include "HTReqMan.h"
24: #include "HTAncMan.h"
25: #include "HTAccess.h"
26: #include "HTEvntrg.h"
27: #include "HTAlert.h"
28: #include "HTNetMan.h"
29: #include "HTBInit.h"
30: #include "WWWHTTP.h" /* HTTP access module */
31: #include "HTProxy.h"
1.1 cvs 32: #include "application.h"
33:
34: typedef char PathBuffer [MAX_PATH];
35:
36: typedef struct _AHTDocIdStatus {
37: int docid; /* a docid */
38: int counter; /* number of open requests associated with dicid */
39: } AHTDocId_Status;
40:
41:
42: typedef struct __AmayaContext {
43: HTList* reqlist; /* List of current requests */
44: HTList* docid_status; /* Status for each active docid */
45: int open_requests ; /* number of open requests */
46: } AmayaContext;
47:
48:
49: /* The different events for a DoubleClick */
50:
51: typedef enum _DoubleClickEvent {
52: DC_FALSE = 0,
53: DC_TRUE = 1,
54: DC_FORM_POST = 2,
55: DC_FORM_GET = 4
56: } DoubleClickEvent;
57:
58: /* The possible request modes */
59:
60: #define AMAYA_SYNC 1 /*0x000001 */
61: #define AMAYA_ISYNC 2 /*0x000010 */
62: #define AMAYA_ASYNC 4 /*0x000100 */
63: #define AMAYA_IASYNC 8 /*0x001000 */
64: #define AMAYA_FORM_POST 16 /*0x010000 */
65: #define AMAYA_FORM_GET 32 /*0x100000 */
66:
67: typedef char AmayaReadChar ();
68: /*typedef void *PresentationTarget;*/
69:
70: typedef enum _AHTReqStatus {
71: HT_NEW = 0,
72: HT_NEW_PENDING = 1,
73: HT_WAITING = 2,
74: HT_BUSY = 4,
75: HT_END = 8,
76: HT_ABORT = 16,
77: HT_ERR = 32
78: } AHTReqStatus;
79:
80: typedef void TIcbf (void* request_context, const char* data_block, int data_block_size, int request_status);
81:
82: typedef void TTcbf (void* request_context, int request_status);
83:
84: typedef struct _AHTReqContext {
85: HTRequest* request; /* Pointer to the associated request object */
86: HTParentAnchor* anchor ;
87: HTMethod method ; /* What method are we envoking */
88: int docid ; /* docid to which this request belongs */
89: AHTReqStatus reqStatus; /* status of the request */
90: SockOps read_ops; /* The ops operation which must be used during
91: ** an Xt read callback */
92:
93: SockOps write_ops; /* The ops operation which must be used during
94: ** an Xt write callback */
95:
96: SockOps except_ops;/* The ops operation which must be used during
97: ** an Xt exception callback */
98:
99: #ifdef WWW_XWINDOWS
100: XtInputId read_xtinput_id; /* The read xt event id assocciated with
101: the request */
102: XtInputId write_xtinput_id;/* The write xt event id assocciated with
103: the request */
104: XtInputId except_xtinput_id;/* The except xt event id assocciated with
105: the request */
106: #endif /* WWW_XWINDOWS */
107: char* outputfile; /* file to receive incoming data */
108: FILE* output; /* file pointer to outputfile */
109: int mode; /* Mode of request: SYNC/ASYNC/IASYNC */
110: char* urlName; /* url to retrieve/or that was retrieved */
111: TIcbf* incremental_cbf;/* For IASYNC mode, @ of callback function */
112: /* It'll be called each time a new data package */
113: /* is received */
114: void* context_icbf;/* Context for the above cbf */
115: TTcbf* terminate_cbf;/* optional CBF which will be invoked after */
116: /* a file has been received */
117: void* context_tcbf; /* Context for the above cbf */
118:
119: /* The following elements are used for the PUT and POST*/
120:
121: HTParentAnchor* dest; /* Destination for PUT etc. */
122: unsigned long block_size; /* size in bytes of the file to put */
123: int put_counter; /* number of bytes already put */
124: char* mem_ptr; /* ptr to a struct in mem which contains a copy */
125: /* of the file to put */
126: /* For debugging */
127: int* s; /* socket number */
128: char* error_stream;
129: int error_stream_size;
130: BOOL error_html;
131: } AHTReqContext;
132:
133: #define NO 0
134: #define YES 1
135:
136: /* dialogue */
137: #define FormURL 1
138: #define FormOuvrir 2
139: #define NomURL 3
140: #define NomLocal 4
141: #define SelDir 5
142: #define SelDoc 6
143: #define StopCommand 7
144: #define FormSauver 8
145: #define SauvDir 9
146: #define SauvDoc 10
147: #define SauvToggle 11
148: #define SauvNom 12
149: #define SauvLbl1 13
150: #define SauvLbl2 14
151: #define SauvImgsDir 14
152: #define SauvLbl3 15
153: #define SauvLbl4 16
154: #define SauvLbl5 17
155: #define FormConfirmer 18
156: #define TexteConfirmer 19
157: #define FormAttrHREF 20
158: #define TextAttrHREF 21
159: #define FormAnswer 22
160: #define TextLabel 23
161: #define TextAnswer 24
162: #define TextName 25
163: #define TextPassword 26
164: #define FormClass 27
165: #define ClassLabel 28
166: #define ClassSelect 29
167: #define FormAClass 30
168: #define AClassLabel 31
169: #define AClassSelect 32
170: #define SauvConfirm 33
171: #define SauvConfirmLbl 34
172: #define SauvConfirmList 35
173: #define MenuOption 36
174: #define MAX_REF 40
175:
176:
177: #define MAX_LENGTH 512
178: #define NAME_LENGTH 32
179:
180: #define HTAppName "amaya"
181: #define HTAppVersion "V0.8 Alpha"
182:
183: #ifndef EXPORT
184: #define EXPORT extern
185: #endif /* VSTAUS */
186:
187: EXPORT int appArgc;
188: EXPORT char** appArgv;
189: EXPORT char TempFileDirectory[MAX_LENGTH];
190: EXPORT char Answer_text[MAX_LENGTH];
191: EXPORT char Answer_name[NAME_LENGTH];
192: EXPORT char Answer_password[NAME_LENGTH];
193: EXPORT char Display_password[NAME_LENGTH];
194: EXPORT int Lg_password;
195: EXPORT int BaseDialog;
196: EXPORT char* LastURLName; /* last URL requested */
197: EXPORT char* DirectoryName; /* local path of the document */
198: EXPORT char* DocumentName; /* document name */
199: EXPORT char* ObjectName; /* document name */
200: EXPORT char* SaveImgsURL; /* where to save remote Images */
201: EXPORT int CopyImages; /* should we copy images in Save As */
202: EXPORT int UpdateURLs; /* should we update URLs in Save As */
203: EXPORT boolean UserAnswer;
204: EXPORT int ReturnOption;
205: EXPORT boolean InNewWindow;
206: EXPORT Document CurrentDocument;
207: EXPORT Document SavingDocument;
208: EXPORT Document SavingObject;
209: EXPORT char* SavingFile; /* complete path or URL of the document */
210: EXPORT Document AttrHREFdocument;
211: EXPORT Element AttrHREFelement;
212: EXPORT char* AttrHREFvalue;
213: EXPORT Document SelectionDoc;
214: EXPORT boolean SelectionInPRE;
215: EXPORT boolean SelectionInComment;
216: EXPORT boolean SelectionInEM;
217: EXPORT boolean SelectionInSTRONG;
218: EXPORT boolean SelectionInCITE;
219: EXPORT boolean SelectionInDFN;
220: EXPORT boolean SelectionInCODE;
221: EXPORT boolean SelectionInVAR;
222: EXPORT boolean SelectionInSAMP;
223: EXPORT boolean SelectionInKBD;
224: EXPORT boolean SelectionInI;
225: EXPORT boolean SelectionInB;
226: EXPORT boolean SelectionInTT;
227: EXPORT boolean SelectionInSTRIKE;
228: EXPORT boolean SelectionInBIG;
229: EXPORT boolean SelectionInSMALL;
230:
231: #define DocumentTableLength 10
232: EXPORT char* DocumentURLs[DocumentTableLength];
233: /* The whole document is loaded when the corresponding value
234: in FilesLoading is equal to 0 */
235: EXPORT int FilesLoading[DocumentTableLength];
236: EXPORT Document W3Loading; /* the document being loaded */
237: EXPORT int IButton;
238: EXPORT int BButton;
239: EXPORT int TTButton;
240:
241: #define IMAGE_NOT_LOADED 0
242: #define IMAGE_LOCAL 1
243: #define IMAGE_LOADED 2
244: #define IMAGE_MODIFIED 3
245:
246: typedef struct _ElemImage {
247: Element currentElement; /* first element using this image */
248: struct _ElemImage* nextElement;
249: } ElemImage;
250:
251: typedef struct _LoadedImageDesc {
252: char* originalName; /* complete URL of the image */
253: char* localName; /* local name (without path) of the image */
254: struct _LoadedImageDesc* prevImage;
255: struct _LoadedImageDesc* nextImage;
256: Document document; /* document concerned */
257: struct _ElemImage* elImage; /* first element using this image */
258: int status;
259: } LoadedImageDesc;
260:
261: EXPORT LoadedImageDesc* ImageURLs;
262:
263: extern void InitMapping ();
264: extern void InitImage ();
265: extern void InitTransform ();
266:
267:
268: #ifdef __STDC__
269: extern int PtEnPixel (int value, int horiz); /* thot internal function */
270: extern int PixelEnPt (int value, int horiz); /* thot internal function */
271: extern void CreateNewElement (int, SSchema, Document);
272: extern void SelectInitial (Document);
273: extern int FileExist (char*);
274: extern boolean OpenMainView (Document, char*, char*);
275: extern void SetTarget (Document, View);
276: extern void SetTableWidths (Document);
277: extern void CheckTable (Element, Document);
278: extern boolean DoubleClick (NotifyElement*);
279: extern void RemoveAttrInPair (Element, Document, int);
280: extern void SelectDestination (Document, Element);
281: extern void SetCharAttribute (int, int, int);
282: extern int GetObjectWWW (int, char*, char*, char*, int, TIcbf*, void*, TTcbf*, void*, BOOL);
283: extern int PutObjectWWW (int, char*, char*, int, TTcbf*, void*);
284: extern int UploadMemWWW (int, HTMethod, char*, char*, unsigned long, int, TTcbf*, void*, char*);
285: extern AHTDocId_Status* GetDocIdStatus (int, HTList*);
286: extern BOOL AHTReqContext_delete (AHTReqContext*);
287: extern void AHTPrintPendingRequestStatus (Document, boolean);
288: extern boolean IsSameHost (char *, char *);
289: extern void StopRequest (int);
290: extern void AHTError_MemPrint (HTRequest*);
291: extern HTStream* AHTFWriter_new (HTRequest*, FILE*, BOOL);
292: extern int Add_NewSocket_to_Loop (HTRequest*, HTAlertOpcode, int, const char*, void*, HTAlertPar*);
293: extern void CreateAnchor (Document, View, boolean) ;
294: extern void SetCharFontOrPhrase (int, int) ;
295: extern void InsertChar (unsigned char, int);
1.3 ! cvs 296: extern void ClearAllViewSelection (void);
1.1 cvs 297: extern int RemoveFile (char *);
298: extern void QuitEditor (void);
299: extern void EndInsert (void);
300: extern char* ThotRealloc (char *, unsigned int);
301: extern int TtaGiveRGB (char *colname, unsigned short *, unsigned short *, unsigned short *);
302: extern int GetFenetre (ThotWindow);
303: extern void DimFenetre (int, int *, int *);
304: extern void DefClip (int, int, int, int, int);
305: extern void XChangeTaille (int *, int, int *);
306: extern char* TtaStrdup (char *str);
307: extern void BuildFileName (char*, char*, PathBuffer, PathBuffer, int*);
308: extern void ColorRGB (int num, unsigned short *red, unsigned short *green, unsigned short *blue);
309: extern void TtaSetAttributeReference (Attribute attribute, Element element, Document document, Element target, Document targetDocument) ;
310:
311: #else /* __STDC__ */
312: extern int PtEnPixel (); /* thot internal function */
313: extern int PixelEnPt (); /* thot internal function */
314: extern void CreateNewElement ();
315: extern void SelectInitial ();
316: extern int FileExist ();
317: extern boolean OpenMainView ();
318: extern void SetTarget ();
319: extern void SetTableWidths ();
320: extern void CheckTable ();
321: extern boolean DoubleClick ();
322: extern void RemoveAttrInPair ();
323: extern void SelectDestination ();
324: extern void SetCharAttribute ();
325: extern int GetObjectWWW ();
326: extern int PutObjectWWW ();
327: extern int UploadMemWWW ();
328: extern AHTDocId_Status* GetDocIdStatus ();
329: extern BOOL AHTReqContext_delete ();
330: extern void AHTPrintPendingRequestStatus ();
331: extern boolean IsSameHost ();
332: extern void StopRequest ();
333: extern void AHTError_MemPrint ();
334: extern HTStream* AHTFWriter_new ();
335: extern int Add_NewSocket_to_Loop ();
336: extern void CreateAnchor () ;
337: extern void SetCharFontOrPhrase () ;
338: extern void InsertChar ();
1.3 ! cvs 339: extern void ClearAllViewSelection ();
1.1 cvs 340: extern int RemoveFile ();
341: extern void QuitEditor ();
342: extern void EndInsert ();
343: extern char* ThotRealloc ();
344: extern int TtaGiveRGB ();
345: extern int GetFenetre ();
346: extern void DimFenetre ();
347: extern void DefClip ();
348: extern void XChangeTaille ();
349: extern char* TtaStrdup ();
350: extern void BuildFileName ();
351: extern void ColorRGB ();
352: extern void TtaSetAttributeReference () ;
353: #endif /* __STDC__ */
354:
355: extern void QueryInit ();
356: extern void QueryClose ();
357:
358: #ifndef NEW_WILLOWS
359: #ifdef __STDC__
360: extern XtInputCallbackProc AHTCallback_bridge (caddr_t, int*, XtInputId*);
361: #else
362: extern XtInputCallbackProc AHTCallback_bridge () ;
363: #endif /* __STDC__ */
364: #else /* NEW_WILLOWS */
365: LONG AHTCallback_bridge (caddr_t, int*) ;
366: #endif /* !NEW_WILLOWS */
367:
368: extern HTList* conv; /* List of global converters */
369: extern AmayaContext* Amaya; /* Amaya's global context */
370:
371: #define EOS '\0'
372: #define EOL '\n'
373: #define TAB '\t'
374: #define SPACE ' '
375: #define boolean unsigned char
376:
377: #endif /* AMAYA_H */
Webmaster