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

⟦32c5be1c4⟧ Ada Source

    Length: 16384 (0x4000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Set_Of_Fil_Observ, seg_055a68, seg_055a6d

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 String_Utilities, Bounded_String, Text_Manager;

package body Set_Of_Fil_Observ is

    procedure Initialize (The_Set : in out My_Set_Of_Fil_Ob.Set) is
    begin
        My_Set_Of_Fil_Ob.Initialize (S => The_Set);
    end Initialize;

    function Contains_This_Adress
                (The_Set : in My_Set_Of_Fil_Ob.Set;
                 This_Adress : in All_String.Adress_String_And_Apply_Number)
                return Boolean is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Response : Boolean := False;
    begin
        My_Set_Of_Fil_Ob.Init (Iter => I, S => The_Set);
        while not My_Set_Of_Fil_Ob.Done (Iter => I) loop
            Temp := My_Set_Of_Fil_Ob.Value (Iter => I);
            Response := Response or (Temp.The_Adress_String_And_Apply_Number =
                                     This_Adress);
            My_Set_Of_Fil_Ob.Next (Iter => I);
        end loop;
        return Response;
    end Contains_This_Adress;

    procedure Add_To (This_Set : in out My_Set_Of_Fil_Ob.Set;
                      This_Adress : in All_String.
                                          Adress_String_And_Apply_Number;
                      This_Machine : Com_Defs.V_String;
                      This_Appli_Number : Com_Defs.V_String) is
        Temp : T_Filtre_Observer;
    begin
        Temp.The_Machine := This_Machine;
        Temp.The_Appli_Number := This_Appli_Number;
        Temp.The_Adress_String_And_Apply_Number := This_Adress;
        My_Set_Of_Fil_Ob.Add (S => This_Set, X => Temp);
    end Add_To;

    procedure Delete_To (This_Set : in out My_Set_Of_Fil_Ob.Set;
                         This_Adress : in All_String.
                                             Adress_String_And_Apply_Number) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Oust : Boolean := False;
    begin
        My_Set_Of_Fil_Ob.Init (I, This_Set);
        while (not Oust and not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            if (Temp.The_Adress_String_And_Apply_Number = This_Adress) then
                My_Set_Of_Fil_Ob.Delete (This_Set, Temp);
                Oust := True;
            end if;
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
    end Delete_To;


    procedure Add_Specification
                 (This_Set : in out My_Set_Of_Fil_Ob.Set;
                  This_Adress : in All_String.Adress_String_And_Apply_Number;
                  This_Specification : in Com_Defs.V_String) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Oust : Boolean := False;
    begin  
        My_Set_Of_Fil_Ob.Init (I, This_Set);
        while (not Oust and not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            if (Temp.The_Adress_String_And_Apply_Number = This_Adress) then
                My_Set_Of_Fil_Ob.Delete (S => This_Set, X => Temp);
                Temp.The_Specification := This_Specification;
                My_Set_Of_Fil_Ob.Add (S => This_Set, X => Temp);
                Oust := True;
            end if;
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
    end Add_Specification;

    procedure Contains_This_Specification
                 (This_Set : in My_Set_Of_Fil_Ob.Set;
                  This_Specification : in Com_Defs.V_String;
                  The_Adress : out All_String.Adress_String_And_Apply_Number;
                  The_Status : out Boolean) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Bool, Oust : Boolean := False;

    begin  
        My_Set_Of_Fil_Ob.Init (I, This_Set);
        while (not Oust and not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            if String_Utilities.Equal
                  (Bounded_String.Image
                      (Bounded_String.Variable_String (Temp.The_Specification)),
                   Bounded_String.Image
                      (Bounded_String.Variable_String (This_Specification)),
                   True) then
                The_Adress := Temp.The_Adress_String_And_Apply_Number;
                Oust := True;  
                Bool := True;
            end if;
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
        The_Status := Bool;
    end Contains_This_Specification;

    procedure Extract_The_Specification
                 (This_Set : in My_Set_Of_Fil_Ob.Set;
                  This_Adress : in All_String.Adress_String_And_Apply_Number;
                  Answer_In : out Com_Defs.V_String;
                  Is_Ok : out Boolean) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Oust : Boolean := False;
    begin  
        Is_Ok := False;
        My_Set_Of_Fil_Ob.Init (I, This_Set);
        while (not Oust and not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            if (Temp.The_Adress_String_And_Apply_Number = This_Adress) then
                Answer_In := Temp.The_Specification;
                Is_Ok := True;
                Oust := True;
            end if;
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
    end Extract_The_Specification;

    procedure Extract_The_Adress
                 (This_Set : in My_Set_Of_Fil_Ob.Set;
                  This_Specification : in Com_Defs.V_String;
                  Answer_In : out All_String.Adress_String_And_Apply_Number;
                  Is_Ok : out Boolean) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Oust : Boolean := False;
    begin  
        Is_Ok := False;
        My_Set_Of_Fil_Ob.Init (I, This_Set);
        while (not Oust and not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            if (String_Utilities.Equal
                   (Str1 => Bounded_String.Image (Bounded_String.Variable_String
                                                     (This_Specification)),
                    Str2 => Bounded_String.Image (Bounded_String.Variable_String
                                                     (Temp.The_Specification)),
                    Ignore_Case => True)) then
                Answer_In := Temp.The_Adress_String_And_Apply_Number;
                Is_Ok := True;
                Oust := True;
            end if;
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
    end Extract_The_Adress;

    procedure Extract_The_Machine
                 (This_Set : in My_Set_Of_Fil_Ob.Set;
                  This_Adress : in All_String.Adress_String_And_Apply_Number;
                  Answer_In : out Com_Defs.V_String;
                  Is_Ok : out Boolean) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Oust : Boolean := False;
    begin  
        Is_Ok := False;
        My_Set_Of_Fil_Ob.Init (I, This_Set);
        while (not Oust and not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            if (Temp.The_Adress_String_And_Apply_Number = This_Adress) then
                Answer_In := Temp.The_Machine;
                Is_Ok := True;
                Oust := True;
            end if;
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
    end Extract_The_Machine;

    procedure Extract_The_Machine (This_Set : in My_Set_Of_Fil_Ob.Set;
                                   This_Specification : in Com_Defs.V_String;
                                   Answer_In : out Com_Defs.V_String;
                                   Is_Ok : out Boolean) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Oust : Boolean := False;
    begin  
        Is_Ok := False;
        My_Set_Of_Fil_Ob.Init (I, This_Set);
        while (not Oust and not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            if (String_Utilities.Equal
                   (Str1 => Bounded_String.Image (Bounded_String.Variable_String
                                                     (This_Specification)),
                    Str2 => Bounded_String.Image (Bounded_String.Variable_String
                                                     (Temp.The_Specification)),
                    Ignore_Case => True)) then
                Answer_In := Temp.The_Machine;
                Is_Ok := True;
                Oust := True;
            end if;
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
    end Extract_The_Machine;

    procedure Extract_The_Appli_Number
                 (This_Set : in My_Set_Of_Fil_Ob.Set;
                  This_Adress : in All_String.Adress_String_And_Apply_Number;
                  Answer_In : out Com_Defs.V_String;
                  Is_Ok : out Boolean) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Oust : Boolean := False;
    begin  
        Is_Ok := False;
        My_Set_Of_Fil_Ob.Init (I, This_Set);
        while (not Oust and not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            if (Temp.The_Adress_String_And_Apply_Number = This_Adress) then
                Answer_In := Temp.The_Appli_Number;
                Is_Ok := True;
                Oust := True;
            end if;
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
    end Extract_The_Appli_Number;

    procedure Extract_The_Appli_Number (This_Set : in My_Set_Of_Fil_Ob.Set;
                                        This_Specification : Com_Defs.V_String;
                                        Answer_In : out Com_Defs.V_String;
                                        Is_Ok : out Boolean) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
        Oust : Boolean := False;
    begin  
        Is_Ok := False;
        My_Set_Of_Fil_Ob.Init (I, This_Set);
        while (not Oust and not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            if (String_Utilities.Equal
                   (Str1 => Bounded_String.Image (Bounded_String.Variable_String
                                                     (This_Specification)),
                    Str2 => Bounded_String.Image (Bounded_String.Variable_String
                                                     (Temp.The_Specification)),
                    Ignore_Case => True)) then
                Answer_In := Temp.The_Appli_Number;
                Is_Ok := True;
                Oust := True;
            end if;
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
    end Extract_The_Appli_Number;

    function Is_Empty (The_Set : in My_Set_Of_Fil_Ob.Set) return Boolean is
    begin
        return My_Set_Of_Fil_Ob.Is_Empty (S => The_Set);
    end Is_Empty;

    procedure Print (The_Set : in My_Set_Of_Fil_Ob.Set) is
        I : My_Set_Of_Fil_Ob.Iterator;
        Temp : T_Filtre_Observer;
    begin
        My_Set_Of_Fil_Ob.Init (I, The_Set);
        while (not My_Set_Of_Fil_Ob.Done (I)) loop
            Temp := My_Set_Of_Fil_Ob.Value (I);
            Text_Manager.Text.Put_Line
               ("          adress : " & Temp.
                                           The_Adress_String_And_Apply_Number);
            Text_Manager.Text.Put_Line
               ("          specification : " &
                Bounded_String.Image (Bounded_String.Variable_String
                                         (Temp.The_Specification)));
            Text_Manager.Text.Put_Line
               ("          machine : " &
                Bounded_String.Image (Bounded_String.Variable_String
                                         (Temp.The_Machine)));
            Text_Manager.Text.Put_Line
               ("          appli_number : " &
                Bounded_String.Image (Bounded_String.Variable_String
                                         (Temp.The_Appli_Number)));
            My_Set_Of_Fil_Ob.Next (I);
        end loop;
    end Print;


end Set_Of_Fil_Observ;

E3 Meta Data

    nblk1=f
    nid=0
    hdr6=1e
        [0x00] rec0=1b rec1=00 rec2=01 rec3=022
        [0x01] rec0=00 rec1=00 rec2=0e rec3=018
        [0x02] rec0=17 rec1=00 rec2=07 rec3=03a
        [0x03] rec0=17 rec1=00 rec2=05 rec3=056
        [0x04] rec0=18 rec1=00 rec2=04 rec3=050
        [0x05] rec0=18 rec1=00 rec2=03 rec3=066
        [0x06] rec0=00 rec1=00 rec2=0f rec3=004
        [0x07] rec0=18 rec1=00 rec2=08 rec3=04c
        [0x08] rec0=16 rec1=00 rec2=06 rec3=00c
        [0x09] rec0=18 rec1=00 rec2=0b rec3=034
        [0x0a] rec0=15 rec1=00 rec2=0d rec3=008
        [0x0b] rec0=17 rec1=00 rec2=09 rec3=00e
        [0x0c] rec0=16 rec1=00 rec2=0a rec3=04e
        [0x0d] rec0=16 rec1=00 rec2=0c rec3=016
        [0x0e] rec0=09 rec1=00 rec2=02 rec3=000
    tail 0x217608f5a87bf598ccdcd 0x42a00088462060003