home *** CD-ROM | disk | FTP | other *** search
/ Global Amiga Experience / globalamigaexperience.iso / compressed / development / clusterdemo.dms / clusterdemo.adf / Modules.lha / modules / txt / Commodities.def < prev    next >
Text File  |  1994-05-25  |  7KB  |  239 lines

  1. |##########|
  2. |#MAGIC   #|CLABLNIN
  3. |#PROJECT #|"IMPORTALL"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx-x-x--x---x-x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx-xx---
  9. |##########|
  10. (* $A- *)
  11. DEFINITION MODULE Commodities;
  12.  
  13. FROM Exec   IMPORT LibraryPtr, MsgPortPtr, TaskPtr, TaskSignals;
  14.  
  15. FROM Input  IMPORT Qualifiers, QualifierSet, InputEventPtr;
  16. FROM System IMPORT SysStringPtr, Regs, PROC;
  17.  
  18. TYPE
  19.   KeyMapPtr       = DEFERRED POINTER KeyMap.KeyMapPtr;
  20.  
  21.   CxBrokerErr     = (ok, sysErr, dup, version, makeMeLong = $10000);
  22.  
  23. CONST
  24.   NBVersion       = 5;
  25.  
  26. TYPE
  27.   UniqueFlags     = (unique, notify, dummy = 15);
  28.   UniqueFlagSet   = SET OF UniqueFlags;
  29.  
  30.   NewBrokerFlags  = (showHide = 2, dummy = 15);
  31.   NewBrokerFlagSet= SET OF NewBrokerFlags;
  32.  
  33.   NewBrokerPtr    = POINTER TO NewBroker;
  34.   NewBroker       = RECORD
  35.                       version            :  SHORTINT;       | := NBVersion
  36.                       name               :  SysStringPtr;
  37.                       title              :  SysStringPtr;
  38.                       descr              :  SysStringPtr;
  39.                       unique             :  UniqueFlagSet;
  40.                       flags              :  NewBrokerFlagSet;
  41.                       pri                :  SHORTINT;
  42.                       port               :  MsgPortPtr;
  43.                       reservedChannel    :  INTEGER;
  44.                     END;
  45.  
  46.  
  47.   CxObjPtr        = HIDDEN;
  48.   CxMsgPtr        = POINTER TO RECORD OF Exec.Message END;
  49.  
  50.   PFL             = PROCEDURE():LONGINT;
  51.  
  52.  
  53.   CxObjType       =  (invalid, filter, typefilter,
  54.                       sender, signal, translate,
  55.                       broker, debug, custom, zero);
  56.  
  57.  | invalid    : not a valid object (probably null)
  58.  | filter     : input event messages only
  59.  | typefilter : filter on message type
  60.  | send       : sends a message
  61.  | signal     : sends a signal
  62.  | translate  : translates IE into chain
  63.  | broker     : application representative
  64.  | debug      : dumps kprintf to serial port
  65.  | custom     : application provids function
  66.  | zero       : system terminator node
  67.  
  68.   CxMsg           = (unique=4, iEvent, command);
  69.   CxMsgTypes      = SET OF CxMsg;
  70.  
  71.   CxMsgCommands = (disable   = 15,  | disable yourself
  72.                    enable    = 17,  | enable yourself
  73.                    appear    = 19,  | open your window
  74.                    disappear = 21,  | close the window
  75.                    kill      = 23,  | terminate yourself
  76.                    unique    = 25,  | someone tried to create
  77.                                     | a unique broker
  78.                    listChg   = 27); | someone changed broker list
  79.  
  80.   BrokerCommandErr= (noMem = -3, noPort, noBroker, ok);
  81.  
  82.   CxObjErrs       = (isNull, nullAttach, badFilter, badType);
  83.   CxObjErrSet     = SET OF CxObjErrs;
  84.  
  85.   | isNull     : you called CxError(NULL)
  86.   | nullAttach : someone attached NULL to my list
  87.   | badFilter  : a bad filter description was given
  88.   | badType    : unmatched type-specific operation
  89.  
  90.  
  91.  
  92. CONST
  93.   IXVersion       =  2;
  94.  
  95. TYPE
  96.   QualSameId      = (shift, caps, alt);
  97.   QualSameSet     = SET OF QualSameId;
  98.  
  99.   InputXpressionPtr
  100.                   = POINTER TO InputXpression;
  101.   InputXpression  = RECORD
  102.                       version    :  SHORTCARD; | must be set to IX_VERSION
  103.                       class      :  SHORTCARD; | class must match exactly
  104.                       code       :  CARDINAL;
  105.                       codeMask   :  CARDINAL;  | normally used for UPCODE
  106.                       qualifier  :  CARDINAL;
  107.                       qualMask   :  CARDINAL;
  108.                       qualSame   :  QualSameSet;| synonyms in qualifier
  109.                     END;
  110.   IX              = InputXpression;
  111.   IXPtr           = InputXpressionPtr;
  112.  
  113.   IXErr           = (noDescription = -2, tokensAfterEnd, ok);
  114.  
  115. CONST
  116.   shiftMask       = QualifierSet:{lShift,rShift};
  117.   capsMask        = shiftMask + QualifierSet:{capsLock};
  118.   altMask         = QualifierSet:{lAlt, rAlt};
  119.   normalquals     = QualifierSet:{lShift..leftButton};
  120.  
  121.  
  122. VAR
  123.   CxBase :  LibraryPtr;
  124.  
  125.  
  126. LIBRARY CxBase BY -30
  127.   PROCEDURE CreateCxObj(type IN D0: CxObjType;
  128.                         arg1 IN A0: ANYPTR;
  129.                         arg2 IN A1: ANYPTR) : CxObjPtr;
  130.  
  131. LIBRARY CxBase BY -36
  132.   PROCEDURE CxBroker(REF nb    IN A0: NewBroker;
  133.                      VAR error IN D0: CxBrokerErr) : CxObjPtr;
  134.  
  135. LIBRARY CxBase BY -42
  136.   PROCEDURE ActivateCxObj(co   IN A0: CxObjPtr;
  137.                           true IN D0: LONGBOOL): LONGBOOL;
  138.         (* TRUE: active, FALSE inactive *)
  139.  
  140.  
  141. LIBRARY CxBase BY -48
  142.   PROCEDURE DeleteCxObj(co IN A0: CxObjPtr);
  143.  
  144. LIBRARY CxBase BY -54
  145.   PROCEDURE DeleteCxObjAll(co IN A0: CxObjPtr);
  146.  
  147. LIBRARY CxBase BY -60
  148.   PROCEDURE GetCxObjType(co IN A0: CxObjPtr) : CxObjType;
  149.  
  150. LIBRARY CxBase BY -66
  151.   PROCEDURE CxObjError(co IN A0: CxObjPtr): CxObjErrSet;
  152.  
  153. LIBRARY CxBase BY -72
  154.   PROCEDURE ClearCxObjError(co IN A0: CxObjPtr);
  155.  
  156. LIBRARY CxBase BY -78
  157.   PROCEDURE SetCxObjPri(co  IN A0: CxObjPtr;
  158.                         pri IN D0: LONGINT) (*** Should be SHORTINT***);
  159.  
  160. LIBRARY CxBase BY -84
  161.   PROCEDURE AttachCxObj(headObj IN A0: CxObjPtr;
  162.                         co      IN A1: CxObjPtr);
  163.  
  164. LIBRARY CxBase BY -90
  165.   PROCEDURE EnqueueCxObj(headObj IN A0: CxObjPtr;
  166.                          co      IN A1: CxObjPtr);
  167.  
  168. LIBRARY CxBase BY -96
  169.   PROCEDURE InsertCxObj(headObj IN A0: CxObjPtr;
  170.                         co      IN A1: CxObjPtr;
  171.                         pred    IN A2: CxObjPtr);
  172.  
  173. LIBRARY CxBase BY -102
  174.   PROCEDURE RemoveCxObj(co IN A0: CxObjPtr);
  175.  
  176.  
  177. LIBRARY CxBase BY -114
  178.   PROCEDURE SetTranslate(translator IN A0: CxObjPtr;
  179.                          events     IN A1: InputEventPtr);
  180.  
  181. LIBRARY CxBase BY -120
  182.   PROCEDURE SetFilter(    filter IN A0: CxObjPtr;
  183.                       REF text   IN A1: STRING);
  184.  
  185. LIBRARY CxBase BY -126
  186.   PROCEDURE SetFilterIX(filter IN A0: CxObjPtr;
  187.                         ix     IN A1: IXPtr);
  188.  
  189. LIBRARY CxBase BY -132
  190.   PROCEDURE ParseIX(REF description IN A0: STRING;
  191.                         ix          IN A1: IXPtr) :IXErr;
  192.  
  193. LIBRARY CxBase BY -138
  194.   PROCEDURE CxMsgType(cxm IN A0: CxMsgPtr) : CxMsgTypes;
  195.  
  196. LIBRARY CxBase BY -144
  197.   PROCEDURE CxMsgData(cxm IN A0: CxMsgPtr) : ANYPTR;
  198.  
  199. LIBRARY CxBase BY -150
  200.    PROCEDURE CxMsgID(cxm IN A0: CxMsgPtr) : LONGINT;
  201.  
  202. LIBRARY CxBase BY -150
  203.   PROCEDURE CxMsgCommand(cxm IN A0: CxMsgPtr) : CxMsgCommands;
  204.  
  205. LIBRARY CxBase BY -156
  206.   PROCEDURE DivertCxMsg(cxm     IN A0: CxMsgPtr;
  207.                         headobj IN A1: CxObjPtr;
  208.                         ret     IN A2: CxObjPtr);
  209.  
  210. LIBRARY CxBase BY -162
  211.   PROCEDURE RouteCxMsg(cxm IN A0: CxMsgPtr;
  212.                        co  IN A1: CxObjPtr);
  213.  
  214. LIBRARY CxBase BY -168
  215.   PROCEDURE DisposeCxMsg(cxm IN A0: CxMsgPtr);
  216.  
  217. LIBRARY CxBase BY -174
  218.   PROCEDURE InvertKeyMap(ansicode IN D0: LONGCARD;
  219.                          event    IN A0: InputEventPtr;
  220.                          km       IN A1: KeyMapPtr) : BOOLEAN;
  221.  
  222. LIBRARY CxBase BY -180
  223.   PROCEDURE AddIEvents(events IN A0: InputEventPtr);
  224.  
  225.  
  226.  
  227. PROCEDURE CxFilter(REF des : STRING):CxObjPtr;
  228.  
  229. PROCEDURE CxSender(port : MsgPortPtr;id : LONGINT):CxObjPtr;
  230.  
  231. PROCEDURE CxSignal(task : TaskPtr;sig : TaskSignals):CxObjPtr;
  232.  
  233. PROCEDURE CxTranslate(ie : InputEventPtr):CxObjPtr;
  234.  
  235. PROCEDURE CxCustom(action : PROC;id : LONGINT):CxObjPtr;
  236.  
  237.  
  238. END Commodities.
  239.