|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 10240 (0x2800)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Activity_Implementation, pragma Module_Name 4 2909, pragma Segmented_Heap Handle_Ref, pragma Subsystem Directory, seg_012858
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦cfc2e13cd⟧ »Space Info Vol 2«
└─⟦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
function Default_Handle
(Activity : Activity_Id := Current) return Activity_Handle;
-- for use by loader
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
procedure Remove_Subsystem
(Subsystem : Subsystem_Id; Handle : Activity_Handle);
-- Remove a subsystem from the domain of an activity
function Has_Subsystem (Subsystem : Subsystem_Id; Handle : Activity_Handle)
return Boolean;
-- Test subsystem's membership in domain of an activity.
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;
Default_Handle_Undefined : exception; -- raised by Default_Handle
end Activity_Implementation;
nblk1=9
nid=0
hdr6=12
[0x00] rec0=1d rec1=00 rec2=01 rec3=018
[0x01] rec0=00 rec1=00 rec2=09 rec3=006
[0x02] rec0=18 rec1=00 rec2=02 rec3=03c
[0x03] rec0=1b rec1=00 rec2=03 rec3=00a
[0x04] rec0=15 rec1=00 rec2=04 rec3=02e
[0x05] rec0=19 rec1=00 rec2=05 rec3=03e
[0x06] rec0=13 rec1=00 rec2=06 rec3=044
[0x07] rec0=19 rec1=00 rec2=07 rec3=030
[0x08] rec0=0b rec1=00 rec2=08 rec3=000
tail 0x2170e528c82b081813ba4 0x42a00088462065003