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