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