home *** CD-ROM | disk | FTP | other *** search
/ MacHack 1998 / MacHack 1998.toast / Sessions / Completions / Completions Source / Files / ParamBlockTask.cp < prev    next >
Encoding:
Text File  |  1998-06-16  |  732 b   |  38 lines  |  [TEXT/CWIE]

  1. // ParamBlockTask.cp
  2.  
  3. #ifndef ParamBlockTask_h
  4. #include "ParamBlockTask.h"
  5. #endif
  6.  
  7. ParamBlockTask::ParamBlockTask()
  8.   {
  9.     #if GENERATINGCFM
  10.         static RoutineDescriptor CompleteGlue =
  11.             BUILD_ROUTINE_DESCRIPTOR( uppIOCompletionProcInfo, Complete );
  12.     #endif
  13.  
  14.     ioParam.ioCompletion = &CompleteGlue;
  15.     ioParam.ioResult = noErr;
  16.   }
  17.  
  18. void ParamBlockTask::Complete( ParamBlockRec *block )
  19.   {
  20.     ParamBlockTask *self = static_cast< ParamBlockTask * >( block );
  21.     self->Task::Complete();
  22.   }
  23.  
  24. #if !GENERATINGCFM
  25.  
  26. void ParamBlockTask::CompleteGlue()
  27.   {
  28.     ParamBlockRec *block = RegisterA0();
  29.     ParamBlockTask *self = static_cast< ParamBlockTask * >( block );
  30.     
  31.     A5 savedA5;
  32.     self->a5.Restore();
  33.     Complete( self );
  34.     savedA5.Restore();
  35.   }
  36.  
  37. #endif
  38.