home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / hensa / programming / toollib_2 / !ToolLib / c / nev_suppor < prev    next >
Text File  |  1996-07-19  |  891b  |  44 lines

  1. /*** nev_support.c ***/
  2. /* Support for the nevent routines
  3.  * (c) Paul Field
  4.  */
  5.  
  6.  
  7. #include "nev_support.h"
  8.  
  9. #include <assert.h>
  10.  
  11.  
  12. wimp_poll_flags nevent_support_mask  = 0;
  13.  
  14.  
  15.  
  16. enum { dispatcher_limit = 3 };
  17.  
  18. static nevent_support_dispatcher dispatchers[dispatcher_limit];
  19. static unsigned                  num_dispatchers;
  20.  
  21.  
  22.  
  23.  
  24. void nevent_support_register_dispatcher(nevent_support_dispatcher d)
  25.  { assert(d != NULL);
  26.    assert(num_dispatchers < dispatcher_limit);
  27.  
  28.    dispatchers[num_dispatchers++] = d;
  29.  }
  30.  
  31.  
  32.  
  33.  
  34. void nevent_support_dispatch(wimp_event_no event_num, wimp_block* event_block, toolbox_block* id_block)
  35.  { unsigned dispatcher_idx;
  36.  
  37.    for (dispatcher_idx = 0; dispatcher_idx < num_dispatchers; dispatcher_idx++)
  38.     { if (dispatchers[dispatcher_idx](event_num, event_block, id_block))
  39.        { /* Dispatcher handled event, so we're finished */
  40.          return;
  41.        }
  42.     }
  43.  }
  44.