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

⟦984e1cd74⟧ Ada Source

    Length: 4096 (0x1000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Destroy_Training_Users, seg_02ba01

Derivation

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

E3 Source Code



with Log;
with Errors;
with Profile;
with Pathnames;
with Debug_Tools;
with Destroy_Users;
with Directory_Tools;  
procedure Destroy_Training_Users (Named : in String := "<SELECTION>";
                                  Response : in String := "<PROFILE>") is
    --
    package Error is new Errors (Profile.Get,  
                                 Profile.Value (Response),  
                                 "Destroy_Training_Users",  
                                 "Response => """ & Response & """");
    --
    The_Users : Directory_Tools.Object.Iterator :=
       Directory_Tools.Naming.Resolution (Named);
    --
    function Is_Training_User (This_User : in String) return Boolean is
    begin
        return (not Directory_Tools.Object.Is_Bad
                       (Directory_Tools.Object.Handle'
                        (Directory_Tools.Naming.Resolution
                            (Pathnames.Training_User_Indicator_File_For
                                (This_User)))));
    end Is_Training_User;
    --
begin
    Error.Prologue;
    while (not Directory_Tools.Object.Done (The_Users)) loop
        declare
            Current_User : constant Directory_Tools.Object.Handle :=
               Directory_Tools.Object.Value (The_Users);
            Current_User_Name : constant String :=
               Directory_Tools.Naming.Full_Name (Current_User);
        begin
            if (Is_Training_User (Current_User_Name)) then
                begin
                    Destroy_Users (Current_User_Name,
                                   "RAISE_ERROR," & Response);
                exception
                    when others =>
                        Error.Report ("Unable to destroy user """ &
                                      Current_User_Name & """",
                                      Nested => True,
                                      Fatal => False);
                end;
            else
                Log.Put_Line (Current_User_Name & " is not a training user",
                              Profile.Warning_Msg);
            end if;  
        end;
        Directory_Tools.Object.Next (The_Users);
    end loop;
    Error.Epilogue;
    --
exception
    when Error.Propagate =>
        raise;
    when Error.Quit =>
        null;
    when others =>
        Error.Report ("EXCEPTION: " & Debug_Tools.Get_Exception_Name,
                      Profile.Exception_Msg);
        --
end Destroy_Training_Users;

E3 Meta Data

    nblk1=3
    nid=0
    hdr6=6
        [0x00] rec0=1a rec1=00 rec2=01 rec3=036
        [0x01] rec0=18 rec1=00 rec2=02 rec3=024
        [0x02] rec0=12 rec1=00 rec2=03 rec3=000
    tail 0x21724807c83f078b42458 0x42a00088462060003