|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 8470 (0x2116)
Types: TextFile
Names: »V«
└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
└─⟦fc9b38f02⟧ »DATA«
└─⟦9b46a407a⟧
└─⟦12c68c704⟧
└─⟦this⟧
with Action;
with Directory;
package Activity_Implementation is
-- An Activity maps a subsystem to a spec view and a non-spec view of
-- that subsystem.
pragma Subsystem (Directory, Closed);
pragma Module_Name (4, 2909);
subtype Activity_Id is Directory.Object;
subtype Subsystem_Id is Directory.Object;
subtype Spec_View_Id is Directory.Object;
subtype Load_View_Id is Directory.Object;
function Null_Activity return Activity_Id renames Directory.Nil;
function Null_Subsystem return Subsystem_Id renames Directory.Nil;
function Null_Spec_View return Spec_View_Id renames Directory.Nil;
function Null_Load_View return Load_View_Id renames Directory.Nil;
type Activity_Handle is limited private;
function Current return Activity_Id;
-- returns Activity currently associated with this job; if no Activity
-- has been associated with this job, then returns Activity currently
-- associated with this sesssion.
procedure Set (Activity : Activity_Id);
-- make Activity the current activity for this job only
procedure Set_Default (Activity : Activity_Id);
-- make Activity the current activity for this job and session
function Nil return Activity_Handle;
function Is_Nil (Handle : Activity_Handle) return Boolean;
procedure Open (Activity : Activity_Id;
Handle : in out Activity_Handle;
Status : out Directory.Error_Status;
Action_Id : Action.Id := Action.Null_Id;
For_Update : Boolean := False;
Prevent_Create : Boolean := False);
procedure Close (Handle : in out Activity_Handle;
Status : out Directory.Error_Status);
--
-- An open/close protocol is used to deal with the problem of concurrent
-- access to activities. A new version of the activity will be created
-- when an Activity_Id is opened For_Update unless Prevent_Create is
-- set to True
pragma Consume_Offset (1);
function Enclosing_View (Unit : Directory.Ada.Unit) return Directory.Object;
--
-- returns either a Spec_View_Id or a Load_View_Id.
function Enclosing_Subsystem
(View_Id : Directory.Object) return Subsystem_Id;
--
-- takes either a Spec_View_Id or a Load_View_Id
procedure Create (New_Activity : String;
Action_Id : Action.Id;
Status : out Directory.Error_Status;
New_Id : out Activity_Id);
type Creation_Mode is (Differential, Exact_Copy, Value_Copy);
procedure Create (New_Activity : String;
From : Activity_Handle;
Status : out Directory.Error_Status;
New_Id : out Activity_Id;
Mode : Creation_Mode := Exact_Copy);
--
-- Create New_Activity based on the contents of From (and using Action_Id
-- associated with From)
procedure Add_Subsystem (Subsystem : Subsystem_Id;
Load_View : Load_View_Id := Null_Load_View;
Spec_View : Spec_View_Id := Null_Spec_View;
Handle : Activity_Handle);
-- Add a subsystem to the domain of an activity. If both a load view
-- and a spec view are specified they must both have the same target
-- key.
procedure Remove_Subsystem
(Subsystem : Subsystem_Id; Handle : Activity_Handle);
-- Remove a subsystem from the domain of an activity. This version of
-- Remove_Subsystem removes all entries for the specified subsystem
-- regardless of target key.
function Has_Subsystem (Subsystem : Subsystem_Id; Handle : Activity_Handle)
return Boolean;
-- Test subsystem's membership in domain of an activity. This version
-- tests for the existence of any entry for the subsystem independent of
-- target key.
function Get_Spec_View (Subsystem : Subsystem_Id; Handle : Activity_Handle)
return Spec_View_Id;
function Get_Load_View (Subsystem : Subsystem_Id; Handle : Activity_Handle)
return Load_View_Id;
procedure Set_Spec_View (Spec_View : Spec_View_Id;
Handle : Activity_Handle);
procedure Set_Load_View (Load_View : Load_View_Id;
Handle : Activity_Handle);
function Get_Spec_View_Source (Subsystem : Subsystem_Id;
Handle : Activity_Handle) return Activity_Id;
function Get_Load_View_Source (Subsystem : Subsystem_Id;
Handle : Activity_Handle) return Activity_Id;
procedure Set_Spec_View_Source (Subsystem : Subsystem_Id;
Source : Activity_Id;
Handle : Activity_Handle);
procedure Set_Load_View_Source (Subsystem : Subsystem_Id;
Source : Activity_Id;
Handle : Activity_Handle);
procedure Get_Spec_Value (Subsystem : Subsystem_Id;
Indirect : out Boolean;
Value : out Directory.Object;
Handle : Activity_Handle);
procedure Get_Load_Value (Subsystem : Subsystem_Id;
Indirect : out Boolean;
Value : out Directory.Object;
Handle : Activity_Handle);
procedure Get_Values (Subsystem : Subsystem_Id;
Spec_Indirect : out Boolean;
Spec_Value : out Directory.Object;
Load_Indirect : out Boolean;
Load_Value : out Directory.Object;
Handle : Activity_Handle);
procedure Set_Spec_Value (Subsystem : Subsystem_Id;
Indirect : Boolean;
Value : Directory.Object;
Handle : Activity_Handle);
procedure Set_Load_Value (Subsystem : Subsystem_Id;
Indirect : Boolean;
Value : Directory.Object;
Handle : Activity_Handle);
procedure Set_Values (Subsystem : Subsystem_Id;
Spec_Indirect : Boolean;
Spec_Value : Directory.Object;
Load_Indirect : Boolean;
Load_Value : Directory.Object;
Handle : Activity_Handle);
Undefined : exception;
type Handle_Ref is access Activity_Handle;
pragma Segmented_Heap (Handle_Ref);
type Iterator is limited private;
procedure Init (Iter : out Iterator; Handle : Handle_Ref);
procedure Next (Iter : in out Iterator);
function Done (Iter : Iterator) return Boolean;
function Get_Subsystem (Iter : Iterator) return Subsystem_Id;
function Is_Activity (File : Directory.Object) return Boolean;
pragma Consume_Offset (3);
function Is_Valid (Value : Directory.Object;
Activity : Activity_Id;
As_View : Boolean := False;
As_Spec : Boolean := False) return Boolean;
-- Verifies that the given value satisfies all consistency conditions
-- imposed on entries within the given activity.
function Diagnose (Value : Directory.Object;
Activity : Activity_Id;
As_View : Boolean := False;
As_Spec : Boolean := False) return String;
-- Verifies that the given value satisfies all consistency conditions
-- imposed on entries within the given activity and composes a
-- reason why it is invalid. Returns the null string if it is valid.
function Get_Activity_Id (Handle : Activity_Handle) return Activity_Id;
function Get_Activity_Id (Iter : Iterator) return Activity_Id;
-- Retrieve Activity id from open Handle or Iterator
end Activity_Implementation;