DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦fba8bbc89⟧ Ada Source

    Length: 11264 (0x2c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Unit_Interface, pragma Module_Name 4 4137, seg_014157

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with Calendar;
with Directory;
with Profile;
with Simple_Status;

package Unit_Interface is

    type String_Result (Size : Natural) is
        record
            Condition : Simple_Status.Condition;
            Result : String (1 .. Size);
        end record;

    function Remote_Unit_Name
                (View : String := "<CURSOR>";
                 The_Unit : Directory.Object;
                 Response : Profile.Response_Profile := Profile.Get)
                return String_Result;

    function Full_Remote_Unit_Name
                (View : String := "<CURSOR>";
                 The_Unit : Directory.Object;
                 Response : Profile.Response_Profile) return String_Result;

    function Full_Remote_Unit_Name
                (View : String := "<CURSOR>";
                 Remote_Simple_Name : String;
                 Response : Profile.Response_Profile) return String_Result;


    procedure Set_Remote_Unit_Name
                 (View : String := "<CURSOR>";
                  The_Unit : Directory.Object;
                  The_Name : String;
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile := Profile.Get);


    procedure Local_Update_Time
                 (View : String := "<CURSOR>";
                  The_Unit : Directory.Object;
                  The_Time : out Calendar.Time;
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile := Profile.Get);

    procedure Set_Local_Update_Time
                 (View : String := "<CURSOR>";
                  The_Unit : Directory.Object;
                  The_Time : Calendar.Time;
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile := Profile.Get);

    --| SECONDARY operations |--

    procedure Get_Secondary_Local_Update_Time
                 (Secondary_Referencer_Obj : Directory.Object;
                  Update_Time : out Calendar.Time;
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile);
    -- Gets the host saved remote update time for the secondary text
    -- associated with the given secondary referencer.This is valid
    -- only with a DTIA customizations since with telnet customizations
    -- we dont get back any remote update time.

    procedure Set_Secondary_Local_Update_Time
                 (Secondary_Referencer_Obj : Directory.Object;
                  The_Time : Calendar.Time;
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile);
    -- Set the remote update time for the secondary text associated
    -- with the given secondary referencer.


    procedure Create_Secondary (Host_Directory : Directory.Object;
                                Secondary_File_Name : String;  
                                Condition : in out Simple_Status.Condition;
                                Response : Profile.Response_Profile);
    -- Creates a secondary text file and freezes it. The text file is
    -- created only if it does not already exist. If a secondary text file
    -- already exists then return error if it is associated
    -- with a primary

    procedure Create_Secondary_Referencer
                 (Primary_Object : Directory.Object;
                  Secondary_Remote_Command : String;  
                  Secondary_File_Name : String;  
                  Secondary_Remote_Name : String;  
                  Process_Primary : Boolean;  
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile);
    -- Creates a secondary referencer that associates a primary
    -- (ADA object) unit with a secondary text file. The secondary referencer
    -- is created as  "Primary_unit.<secondary_non_ada_unit>" and frozen.

    procedure Remove_Secondary_Referencer
                 (Secondary_Referencer : Directory.Object;
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile);
    -- Removes the specified secondary referencer . Also remove the
    -- secondary state file when the last referencer is deleted.

    procedure Has_Secondary (Ada_Unit : Directory.Object;
                             Result : out Boolean;  
                             Condition : in out Simple_Status.Condition;
                             Response : Profile.Response_Profile);
    -- Returns True if ADA_unit has any secondary file associated with it.
    -- Returns errors if a non ada unit is specified

    procedure Is_Secondary_Referencer
                 (The_Unit : Directory.Object;
                  Associated_Primary_Object : out Directory.Object;
                  Result : out Boolean;
                  Number_Of_Secondaries : out Integer;
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile);
    -- Passes back a value of true in "result" if "the_unit"
    -- is a secondary referencer. Also passes back the
    -- primary of this referencer and the total number of
    -- referencers associated with this primary

    function Secondary_Referencer_Exists
                (Primary_Unit : Directory.Object;
                 Secondary_Text_File_Name : String;  
                 Response : Profile.Response_Profile) return Boolean;
    -- Returns true if the given given ADA primary unit is
    -- associated with the given secondary text file through a
    -- secondary referencer.

    procedure Get_Secondary_File (Secondary_Referencer : Directory.Object;
                                  Secondary_File_Object : out Directory.Object;
                                  Condition : in out Simple_Status.Condition;
                                  Response : Profile.Response_Profile);
    -- Returns the secondary text file object associated with the specified
    -- secondary referencer.


    procedure Secondary_Units (Primary_Unit : Directory.Object;
                               Result : out Directory.Naming.Iterator;
                               Condition : in out Simple_Status.Condition;
                               Response : Profile.Response_Profile);
    -- Returns an iterator for all Secondary units  associated with the
    -- primary unit.


    function Secondary_Remote_Command
                (Secondary_Referencer : Directory.Object;
                 Response : Profile.Response_Profile) return String_Result;
    -- Returns the secondary remote command associated with the
    -- given secondary referencer

    function Secondary_Remote_Name
                (Secondary_Referencer : Directory.Object;
                 Response : Profile.Response_Profile) return String_Result;
    -- Returns the the secondary remote name associated with the
    -- given secondary referencer.

    function Process_Primary
                (Primary_Unit : Directory.Object;
                 Response : Profile.Response_Profile) return Boolean;
    -- Returns the process primary flag associated with the given primary

    procedure Set_Process_Primary_Flag
                 (Primary_Unit : Directory.Object;
                  Value : Boolean := False;  
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile);
    -- Set the process primary flag for the specified primary unit. If the
    -- flag is set to true the primary unit is also downloaded and processed

    procedure Set_Secondary_Remote_Command
                 (Secondary_Referencer : Directory.Object;
                  Remote_Command : String;  
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile);
    -- Associate a remote command with the secondary unit

    procedure Set_Secondary_Remote_Name
                 (Secondary_Referencer : Directory.Object;
                  Remote_Name : String;  
                  Condition : in out Simple_Status.Condition;
                  Response : Profile.Response_Profile);
    -- Set the secondary remote name for the given secondary referencer

    procedure Secondary_To_Text (Path : String := "";
                                 Condition : in out Simple_Status.Condition;
                                 Response : Profile.Response_Profile;
                                 Make_Controlled : Boolean := False);
    -- Flatten out all secondary referencer pointy files present in the
    -- given directory and all the directories within it to text files
    -- For eg: a referencer file like A.<secondary_B> will
    -- be converted to A_secondary_B.

    procedure Text_To_Secondary (Path : String := "";
                                 Condition : in out Simple_Status.Condition;
                                 Response : Profile.Response_Profile);
    -- Folds back secondary referencer files that were previously flattened
    -- (using "secondary_to_text") to secondary referencers .
    -- Deletes the flattened text files . For eg: A_secondary_B
    -- will be folded back to A.<secondary_B>

    pragma Module_Name (4, 4137);
    pragma Bias_Key (32);

end Unit_Interface;

E3 Meta Data

    nblk1=a
    nid=0
    hdr6=14
        [0x00] rec0=21 rec1=00 rec2=01 rec3=020
        [0x01] rec0=18 rec1=00 rec2=02 rec3=02e
        [0x02] rec0=13 rec1=00 rec2=03 rec3=078
        [0x03] rec0=12 rec1=00 rec2=04 rec3=058
        [0x04] rec0=14 rec1=00 rec2=05 rec3=028
        [0x05] rec0=13 rec1=00 rec2=06 rec3=006
        [0x06] rec0=15 rec1=00 rec2=07 rec3=07a
        [0x07] rec0=15 rec1=00 rec2=08 rec3=026
        [0x08] rec0=13 rec1=00 rec2=09 rec3=04e
        [0x09] rec0=0c rec1=00 rec2=0a rec3=000
    tail 0x2150eecea83127dc83eaf 0x42a00088462060003