(****************************************************************************
:Program.       ARQSupport.mod
:Contents.      Modul zum einfachen nutzen des ARQ Requesters
:Author.        Frank J Dürring [fjd]
:Address.       Stielerstraße 51, 74076 Heilbronn
:Address.       UseNet  : frank@hunter.stgt.sub.org
:Address.       MausNet : Frank Duerring @ HN
:Address.       FidoNet : Frank Duerring @ 2:246/4008.9
:Phone.         07131 / 953483
:Copyright.     Public Domain
:Language.      Oberon II
:Translator.    AmigaOberon V3.00d
:History.       V1.0 [fjd] 11 Aug 1993  Es funktioniert :-)
:Version.       $VER: ArqSupport 1.0 (11.08.93)
****************************************************************************)

MODULE ARQSupport;

IMPORT  sys : SYSTEM,
        e   : Exec,
        i   : Intuition;

TYPE        arqEasyStruct * = STRUCT
                               image    * : i.ImagePtr;
                               sound    * : e.STRPTR;
                               animID   * : INTEGER;
                               flags    * : SET;
                               magic    * : LONGINT;
                               reserved - : ARRAY 3 OF LONGINT;
                               easy     * : i.EasyStruct
                              END;

CONST       arqMagic      * = 6D6A6C21H;

            arqInfoID     * = 0;
            arqDiskID     * = 1;
            arqDeleteID   * = 2;
            arqGuruID     * = 3;
            arqRwErrorID  * = 4;
            arqWProtectID * = 5;
            arqPrinterID  * = 6;
            arqQuestionID * = 7;
            arqExclamID   * = 8;

            arqImageID    * = -1;
            arqAnimID     * = -2;

(****** ArqSupport/ArqRequest *********************
*
*   NAME
*       ArqRequest
*
*   SYNOPSIS
*       ArqRequest (window    : i.WindowPtr;
*                   arqStruct : arqEasyStruct;
*                   idcmpPtr  : e.APTR;
*                   arg1      : e.APTR):          LONGINT;
*
*   FUNCTION
*
*       Falls ARQ als Commodity läuft wird der SystemRequester
*       durch den ARQ Requester erstetzt.
*       So könne z.B. Informations Requester mit einer von z.Zt 9
*       Animationen unterlegt werden.
*       Weiter Inforamtionen sieht ARQ.doc
*
*   INPUTS
*       window    - das Window auf dem der Requster dargestellt werden soll
*       arqStruct - image    - falls Sie ein Bild darstellen wollen;
*                   sound    - Unterstützung für 'UPD'
*                   animID   - der ID der darzustellenden Animation
*                   flags    - momentan noch ohne Bedeutung (SET{})
*                   magic    - für die Magic Konstante
*                   reserved - momentan noch ohne Bedeutung
*                   easy     - für die i.EasyStruct
*       idcmpPtr  - IDCMP Flag
*       arg1      - momentan noch ohne Bedeutung
*
*   RESULT
*
*       Nummer des betätigten Gadgets
*
*   NOTES
*
*       Es MUSS am ende des arqEasy.easy.title := sys.ADR("Titel\XA0");
*       ein '\X0A' folgen das sonst _kein_ ArqRequester unterstützt wird !
*
*   SEE ALSO
*       EasyRequest()
*
***********)

PROCEDURE ArqRequest * (window     : i.WindowPtr;
                        arqStruct  : arqEasyStruct;
                        idcmpPtr   : e.APTR;
                        arg1       : e.APTR):          LONGINT;
 VAR
     answer: LONGINT;

 BEGIN
     answer := i.EasyRequest(window,sys.ADR(arqStruct.easy),idcmpPtr);
     RETURN answer;

END ArqRequest;

END ARQSupport.