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

⟦ac0ed5b59⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Destroy_View_Preprocess, seg_01c380, separate Library_Extensions

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



separate (Library_Extensions)
procedure Destroy_View_Preprocess (Host_Path_Name : String;  
                                   Status : in out Simple_Status.Condition) is
    Machine_Result : constant Library_Interface.String_Result :=
       Library_Interface.Remote_Machine (View => Host_Path_Name);

    Directory_Result : constant Library_Interface.String_Result :=
       Library_Interface.Remote_Directory (View => Host_Path_Name);

    Library_Result : constant Library_Interface.String_Result :=
       Library_Interface.Remote_Library (View => Host_Path_Name);

    Remote_Machine : constant String :=
       Machine_Result.Result (1 .. Machine_Result.Size);
    Remote_Directory : constant String :=
       Directory_Result.Result (1 .. Directory_Result.Size);
    Remote_Library : constant String :=
       Library_Result.Result (1 .. Library_Result.Size);

    Old_Context : Directory.Naming.Context;
    Dir_Exists : Boolean := True;
    View_Obj : Directory.Object := Es.Get_View (Host_Path_Name);
    Trace_On : constant Boolean := Rsi.Trace_On (View_Obj);
    procedure Display_Information is
    begin
        if Remote_Machine = "" then
            Log.Put_Line (Message => "A null remote machine name was provided.",
                          Kind => Profile.Warning_Msg);
        end if;

        if Remote_Directory = "" then
            Log.Put_Line (Message =>
                             "A null remote directory name was provided.",
                          Kind => Profile.Warning_Msg);
        end if;


    end Display_Information;
begin

    if Rci_Switch_Implementation.Is_Host_Only (Get_View (Host_Path_Name)) then
        Log.Put_Line (Message => "Not executing Destroy_View_Preprocess.  " &
                                    Host_Path_Name & " is a Host_Only View.  ",
                      Kind => Profile.Note_Msg);
        Simple_Status.Initialize (Status);
        return;
    else
        Log.Put_Line (Message => "Executing Destroy_View_Preprocess",
                      Kind => Profile.Note_Msg);

    end if;

    Set_Context (Old_Context => Old_Context,
                 View => Host_Path_Name,
                 Status => Status);

    if Remote_Machine = "" or else Remote_Directory = "" then
        Display_Information;

        Set_Status (Status => Status,
                    Message => "Insufficient remote library information.",
                    Severity => Simple_Status.Problem);
        Reset_Context (Old_Context);
        return;
    end if;

    Directory_Exists (Remote_Directory => Remote_Directory,
                      Remote_Machine => Remote_Machine,
                      Status => Status,
                      Trace_On => Trace_On,
                      Exists => Dir_Exists);

    if Dir_Exists then
        Destroy_Remote_Library (Remote_Directory => Remote_Directory,
                                Remote_Machine => Remote_Machine,
                                Trace_On => Trace_On,
                                Status => Status);

    else
        Log.Put_Line (Message =>
                         "The remote directory, " & Remote_Directory &
                            " does not exist on machine, " & Remote_Machine,
                      Kind => Profile.Negative_Msg);

        Set_Status
           (Status => Status,
            Message => "Unable to destroy remote directory/program library.",
            Severity => Simple_Status.Problem);

    end if;  
    Reset_Context (Old_Context);
exception
    when others =>
        Reset_Context (Old_Context);
        Unhandled_Exception (Status, "Destroy_View_Preprocess");
end Destroy_View_Preprocess;




E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=17 rec1=00 rec2=01 rec3=032
        [0x01] rec0=1a rec1=00 rec2=02 rec3=01c
        [0x02] rec0=1b rec1=00 rec2=03 rec3=06e
        [0x03] rec0=19 rec1=00 rec2=04 rec3=000
    tail 0x21719777c8365728569c3 0x42a00088462060003