1. -- 
  2. -- Uwe R. Zimmer, Australia, 2013 
  3. -- 
  4.  
  5. ------------------------------------------------------------------ 
  6. -- see Generic_Atomic_Action for a description of 
  7. -- these parameters 
  8. ------------------------------------------------------------------ 
  9.  
  10. with Ada.Real_Time; use Ada.Real_Time; 
  11.  
  12. generic 
  13.    type Parts_Enum is (<>); 
  14.  
  15. package Generic_Atomic_Action_Types is 
  16.  
  17.    type Action_Part_Time_Scope is record 
  18.       Start_Delay_Min : Time_Span := Time_Span_Zero; 
  19.       Start_Delay_Max : Time_Span := Time_Span_Last; 
  20.       Max_Elapse      : Time_Span := Time_Span_Last; 
  21.       Deadline        : Time      := Time_Last; 
  22.    end record; 
  23.  
  24.    type Action_Part_Proc is access procedure; 
  25.  
  26.    type Action_Part_Procs is record 
  27.       Action, 
  28.       Cleanup : Action_Part_Proc; 
  29.       Scope   : Action_Part_Time_Scope; 
  30.    end record; 
  31.  
  32.    type Action_Parts is array (Parts_Enum) of Action_Part_Procs; 
  33.  
  34. end Generic_Atomic_Action_Types;