File : atomic_action_types.ads


--                              -*- Mode: Ada -*-
-- Filename        : atomic_action_types.ads
-- Description     : supplies the procedure pointer types to configure
--                    the concurrent parts of an atomic action
-- Author          : Uwe Zimmer
-- Created On      : Wed Aug 28 17:08:19 2002
-- Last Modified By: .
-- Last Modified On: .
-- Update Count    : 0
-- Status          : Unknown, Use with caution!

------------------------------------------------------------------
-- see 'generic_atomic_actions.ads' for a description of
-- these parameters
------------------------------------------------------------------

with Ada.Real_Time; use Ada.Real_Time;

package Atomic_Action_Types is

   type Action_Part_Time_Scope is record
      Start_Delay_Min : Time_Span := Time_Span_Zero;
      Start_Delay_Max : Time_Span := Time_Span_Last;
      Max_Elapse      : Time_Span := Time_Span_Last;
      Deadline        : Time      := Time_Last;
   end record;

   type Action_Part_Proc is access procedure;

   type Action_Part_Procs is record
      Action,
      Cleanup : Action_Part_Proc;
      Scope   : Action_Part_Time_Scope;
   end record;

   type Action_Parts is array (Positive range <>) of Action_Part_Procs;

end Atomic_Action_Types;