home *** CD-ROM | disk | FTP | other *** search
/ Amiga Developer CD v1.2 / amidev_cd_12.iso / devcon / sanfrancisco_1989 / sf-devcon89.1 / commodities / lattice / cxsupp / hotkey.c < prev    next >
C/C++ Source or Header  |  1992-08-27  |  732b  |  43 lines

  1. /* hotkey.c -- support function for creating Commodities hotkey triad    */
  2.  
  3. #include "sysall.h"
  4.  
  5. #include    "cx/cxusr.h"
  6. #define D(x)    ;
  7.  
  8. extern struct Library    *CxBase;
  9.  
  10. CxObj    *
  11. HotKey(descr, port, ID)
  12. char            *descr;
  13. struct MsgPort    *port;
  14. LONG            ID;
  15. {
  16.     CxObj    *filter;
  17.     LONG    error;
  18.  
  19.     /*    create filter    */
  20.     filter = CxFilter( descr );
  21.     if (!filter)
  22.     {
  23.         D( printf("HotKey: Failed filter\n") );
  24.         return (NULL);
  25.     }
  26.  
  27.     /*    create sender    */
  28.     AttachCxObj(filter, CxSender(port, ID) );
  29.  
  30.     /*    create swallow    */
  31.     AttachCxObj(filter, CxTranslate(NULL) );
  32.  
  33.     /* if any problems, delete all    */
  34.     if (error = CxObjError(filter))
  35.     {
  36.         D( printf("accumulated filter error: %ld\n", error) );
  37.         DeleteCxObjAll(filter);
  38.         return (NULL);
  39.     }
  40.  
  41.     return (filter);
  42. }
  43.