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 - downloadIndex: ┃ B T ┃
Length: 5277 (0x149d) Types: TextFile Names: »B«
└─⟦516dceb10⟧ Bits:30000751 8mm tape, Rational 1000, RCI_VADS └─ ⟦9a14c9417⟧ »DATA« └─⟦this⟧
separate (Library_Extensions) procedure Import_Postprocess (Views_To_Import : Directory.Naming.Iterator; Into_View : String; Status : in out Simple_Status.Condition) is Views_2_Import : Naming.Iterator := Views_To_Import; Machine_Result : constant Library_Interface.String_Result := Library_Interface.Remote_Machine (View => Into_View); Directory_Result : constant Library_Interface.String_Result := Library_Interface.Remote_Directory (View => Into_View); Remote_Machine : constant String := Machine_Result.Result (1 .. Machine_Result.Size); Remote_Directory : constant String := Directory_Result.Result (1 .. Directory_Result.Size); Old_Context : Directory.Naming.Context; 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 Log.Put_Line (Message => "Import_Postprocess ( Views_To_Import =>", Kind => Profile.Sharp_Msg); Naming.Reset (Views_2_Import); while not Naming.Done (Views_2_Import) loop Log.Put_Line (Message => Naming.Source_Name (Views_2_Import), Kind => Profile.Sharp_Msg); Naming.Next (Views_2_Import); end loop; Log.Put_Line (Message => "into_view => " & Into_View & ")", Kind => Profile.Sharp_Msg); Simple_Status.Initialize (Status); -- Sanity checks Naming.Reset (Views_2_Import); if Naming.Done (Views_2_Import) then return; -- there are no views to import! end if; if Remote_Machine = "" or else Remote_Directory = "" then Display_Information; Set_Status (Status => Status, Message => "Insufficient remote program library information.", Severity => Simple_Status.Problem); return; end if; Set_Context (Old_Context => Old_Context, View => Into_View, Status => Status); if not Simple_Status.Error (Status) then declare Remote_Connection : Rci.Context; begin Acquire_Connection (Remote_Connection => Remote_Connection, Remote_Machine => Remote_Machine, Status => Status); if not Simple_Status.Error (Status) then declare View_Object : Directory.Object; Naming_Status : Directory.Error_Status := Directory.Successful; begin Naming.Reset (Views_2_Import); while not Naming.Done (Views_2_Import) loop Naming.Get_Object (Iter => Views_2_Import, The_Object => View_Object, Status => Naming_Status); if Directory."=" (Naming_Status, Directory.Successful) then declare Immediate_Import : constant String := Naming.Get_Full_Name (Entity => View_Object); begin Acquire_Visibility (Imported_View => Immediate_Import, Into_View => Into_View, Remote_Connection => Remote_Connection, Status => Status); end; else Log.Put_Line (Message => Simple_Status.Message (Status => Status), Kind => Profile.Negative_Msg); end if; Naming.Next (Views_2_Import); end loop; exception when others => Rci.Release (Remote_Connection => Remote_Connection, Status => Status, Trace_Command => Trace_Rci_Commands); raise; end; Rci.Release (Remote_Connection => Remote_Connection, Status => Status, Trace_Command => Trace_Rci_Commands); end if; exception when others => Reset_Context (Old_Context); raise; end; Reset_Context (Old_Context); end if; exception when others => Unhandled_Exception (Status, "Import_Postprocess"); end Import_Postprocess;