DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦98d6a71e0⟧ TextFile

    Length: 2213 (0x8a5)
    Types: TextFile
    Names: »B«

Derivation

└─⟦25882cbde⟧ Bits:30000536 8mm tape, Rational 1000, RCI_RS6000_AIX_IBM 2_0_2
    └─ ⟦b8efda8ac⟧ »DATA« 
        └─⟦7061b4ee8⟧ 
            └─⟦this⟧ 

TextFile

separate (Batch_Extensions_Support)
procedure Generate_Secondary_Commands
             (Host_File_Id : Io.File_Type;
              Host_Units : Dt.Object.Iterator;
              Target_Key : String;
              Status : in out Simple_Status.Condition) is
    Host_Units_Iter : Dt.Object.Iterator := Host_Units;
    Current_Object : Directory.Object;
    Has_Secondary : Boolean := False;  
    Error_Status : Directory.Error_Status;
begin

    Dt.Object.Reset (Host_Units_Iter);

    while not Dt.Object.Done (Host_Units_Iter) loop

        Dt.Object.Low_Level.Get_Object
           (Dt.Object.Value (Host_Units_Iter), Current_Object, Error_Status);
        -- Convert current handle to a directorty object

        if Directory."/=" (Error_Status, Directory.Successful) then
            Log.Put_Line ("Error in getting object from its handle",
                          Profile.Error_Msg);
            return;
        end if;

        Ui.Has_Secondary (Current_Object, Has_Secondary, Status, Profile.Get);
        -- Check if the current object has any secondary referencers

        if Has_Secondary then  
            Log.Put_Line ("Generating secondary commands for " &
                          Naming.Unique_Full_Name (Current_Object),
                          Profile.Note_Msg);

            Generate_Context_Change_Command
               (Host_File_Id, Current_Object, Target_Key, Status);
            -- Set remote context to the unit's remote directory

            if Simple_Status.Error (Status) then
                return;
            end if;

            Bi.Generate_Secondary_Commands (Host_File_Id, Current_Object,
                                            Target_Key, Status, Profile.Get);
            if Simple_Status.Error (Status) then
                Log.Put_Line ("Error while generating secondary commands for " &
                              Naming.Unique_Full_Name (Current_Object),
                              Profile.Error_Msg);
                return;
            end if;
        end if;
        Dt.Object.Next (Host_Units_Iter);
    end loop;
exception
    when others =>
        Unhandled_Exception (Status, "generate_secondary_commands");
end Generate_Secondary_Commands;