|
|
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 - metrics - downloadIndex: B T
Length: 5141 (0x1415)
Types: TextFile
Names: »B«
└─⟦407de186f⟧ Bits:30000749 8mm tape, Rational 1000, RCFSUN
└─⟦e5cd75ab4⟧ »DATA«
└─⟦this⟧
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);
Remote_Machine : constant String :=
Machine_Result.Result (1 .. Machine_Result.Size);
Directory_Result : constant Library_Interface.String_Result :=
Library_Interface.Remote_Directory (View => Host_Path_Name);
View_Directory : constant String :=
Su.Lower_Case (Directory_Result.Result (1 .. Directory_Result.Size));
Remove_Library_Command : constant String :=
"ada lib\(family=" & Alsys_Family & "\).erase " &
View_Directory & "/ada_lib confirm=no";
Remote_Connection : Remote_Command_Interface.Context;
begin
Log.Put_Line (Message => "Executing Destroy_View_Preprocess",
Kind => Profile.Note_Msg);
-- set context
Simple_Status.Initialize (Status);
-- reset context
-- Acquire a remote connection to the target
Remote_Command_Interface.Acquire (Remote_Connection => Remote_Connection,
Status => Status,
Target_Key => Target_Key_Id,
Remote_Machine => Remote_Machine);
if Simple_Status.Error (Status) then
Log.Put_Line (Message => Simple_Status.Message (Status),
Kind => Profile.Negative_Msg);
Set_Status (Status => Status,
Message => "Unable to acquire connection to " &
Remote_Machine);
return;
end if;
--
-- Delete the Ada library of the view
--
Log.Put_Line (Message =>
"Executing remote command: " & Remove_Library_Command,
Kind => Profile.Position_Msg);
Remote_Command_Interface.Execute_Command
(Command_Line => Remove_Library_Command,
Remote_Connection => Remote_Connection,
Status => Status);
if Simple_Status.Error (Status) then
Log.Put_Line (Message => Simple_Status.Message (Status),
Kind => Profile.Negative_Msg);
Set_Status (Status => Status,
Message => "Unable to erase the ada library in " &
View_Directory);
Remote_Command_Interface.Release
(Remote_Connection => Remote_Connection, Status => Status);
return;
end if;
-- Open all protections under the View_Directory.
Log.Put_Line (Message =>
"Executing remote command: chmod -R 777 " & View_Directory,
Kind => Profile.Note_Msg);
Remote_Command_Interface.Execute_Command
(Command_Line => "chmod -R 777 " & View_Directory,
Remote_Connection => Remote_Connection,
Status => Status);
if Simple_Status.Error (Status) then
Log.Put_Line (Message => Simple_Status.Message (Status),
Kind => Profile.Negative_Msg);
Set_Status (Status => Status,
Message => "Remote Execution Unsuccessful.");
end if;
-- Open the protections for the View_Directory.
Log.Put_Line (Message =>
"Executing remote command: chmod 777 " & View_Directory,
Kind => Profile.Note_Msg);
Remote_Command_Interface.Execute_Command
(Command_Line => "chmod 777 " & View_Directory,
Remote_Connection => Remote_Connection,
Status => Status);
if Simple_Status.Error (Status) then
Log.Put_Line (Message => Simple_Status.Message (Status),
Kind => Profile.Negative_Msg);
Set_Status (Status => Status,
Message => "Remote Execution Unsuccessful.");
end if;
Log.Put_Line (Message => "Executing remote command: " &
"rm -r " & View_Directory,
Kind => Profile.Position_Msg);
Remote_Command_Interface.Execute_Command
(Command_Line => "rm -r " & View_Directory,
Remote_Connection => Remote_Connection,
Status => Status);
if Simple_Status.Error (Status) then
Log.Put_Line (Message => Simple_Status.Message (Status),
Kind => Profile.Negative_Msg);
Set_Status (Status => Status,
Message => "Unable to remove the contents of " &
View_Directory);
Remote_Command_Interface.Release
(Remote_Connection => Remote_Connection, Status => Status);
return;
end if;
Remote_Command_Interface.Release
(Remote_Connection => Remote_Connection, Status => Status);
exception
when others =>
Unhandled_Exception (Status, "Destroy_View_Preprocess");
begin
Remote_Command_Interface.Release
(Remote_Connection => Remote_Connection, Status => Status);
exception
when others =>
null;
end;
end Destroy_View_Preprocess;