File: /home/oboss/Users/gec/sources/PUS_Services/Monitor/transition_reporting_list.ads

1     --% Compilation Unit:	Transition_Reporting_List
2     --
3     --% Category: Generic Package Declaration
4     --
5     --% Release:  $Name:  $
6     --
7     --% Version:  $Revision: 2.0 $
8     --
9     --% Author:   $Author: gec $
10     --
11     --% Revision Log:
12     --    $Log: transition_reporting_list.ads,v $
13     --    Revision 2.0  2003/04/04 08:51:17  gec
14     --    Initial release of source files serving as baseline for OBOSS-III project.
15     --
16     --    Revision 1.1.1.1  2003/04/04 08:13:13  gec
17     --    Imported using TkCVS
18     --
19     --
20     --
21     --% Project: OBOSS
22     --
23     --% Copyright (C) 2003 by Terma A/S
24     --  Proprietary and intellectual rights of Terma A/S, Denmark,
25     --  are involved in the subject-matter of this material and
26     --  all manufacturing, reproduction, use, disclosure, and
27     --  sales rights pertaining to such subject-matter are
28     --  expressly reserved. This material is submitted for a
29     --  specific purpose as agreed, and the recipient by
30     --  accepting this material agrees that this material will
31     --  not be used, copied, or reproduced in whole or in part
32     --  nor its contents revealed in any manner or to any person,
33     --  except to meet the purpose for which it was submitted and
34     --  subject to the terms of the agreement.
35     --
36     --% Target Dependencies:
37     --    None
38     --% Compiler Dependencies:
39     --    None
40     
41     --~-----------------------------------------------------------------------------
42     
43     with Onboard_Monitoring_Types;
44     with Task_Priority_Control;
45     generic
46     
47        --% Generic Parameter Constraints:
48        -->   Transition_List_Priority  - Must exceed ceiling of priorities calling
49        --+    Initialize, Add_Unreported_Transition and
50        --+    Get_Unreported_Transition_List
51     
52        -- Maximum number of entries in the transition reporting list
53        Max_Number_Of_Events : in     Positive;
54     
55        -- Priority of protected object implementing list of OOL transitions
56        Transition_List_Priority
57                                 : in     Task_Priority_Control.
58                                   Passive_Task_Priority;
59     
60     package Transition_Reporting_List is
61     
62        --% Package:
63        --    Manages a transition reporting list of unreported out-of-limit
64        --+    events.
65        --% Active Tasks:
66        -->   None
67        --% Passive Tasks:
68        -->   Transition_List_Region - Critical region ensuring atomic operations on
69        --+    transition reporting list
70     
71        -- Indicates that number of transition events in a transition list has
72        --+    exceeded Max_Number_Of_Events
73        Transition_List_Full : exception;
74     
75        procedure Initialize;
76     
77        --% Subprogram:
78        --    Add given out-of-limit tranistion event to transition reporting list.
79        --% Parameter Constraints:
80        -->   None
81        --% Exceptions Raised:
82        -->   Transition_List_Full  - Indicates that maximum number of entries in
83        --+    transition reporting list (Max_Number_Of_Events) has been exceeded.
84        procedure Add_Unreported_Transition
85              (Event : in     Onboard_Monitoring_Types.Transition_Event);
86     
87        --% Subprogram:
88        --    Retrieve list of transision events that has been added to transition
89        --+    reporting list since last invokation of operation.
90        --% Parameter Constraints:
91        -->   None
92        --% Exceptions Raised:
93        -->   None
94        function Get_Unreported_Transition_List
95              return Onboard_Monitoring_Types.Transition_Event_List;
96     
97     end Transition_Reporting_List;
98     
99     --~-----------------------------------------------------------------------------
100