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

⟦08f6476bc⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Ident_Link, seg_05721b

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



with List_Generic;

package body Ident_Link is

    type Object is
        record
            Traiteur : Identification.Tclient_Id;
            To_Who : Identification.Tclient_Id;  
            Contrat : Orb_Tools.Content_String;
        end record;

    package Link_List is new List_Generic (Object);

    List_Of_Link : Link_List.List := Link_List.Nil;

    procedure Enter_New_Link (Traiteur : in Identification.Tclient_Id;
                              To_Who : in Identification.Tclient_Id;
                              Contrat : in Orb_Tools.Content_String) is

        An_Object : Object;

    begin

        An_Object.To_Who := To_Who;
        An_Object.Traiteur := Traiteur;
        An_Object.Contrat := Contrat;
        List_Of_Link := Link_List.Make (An_Object, List_Of_Link);
    end Enter_New_Link;

    procedure Search_Link (Traiteur : in Identification.Tclient_Id;
                           To_Who : out Identification.Tclient_Id;
                           Contrat : out Orb_Tools.Content_String) is

        Iter : Link_List.Iterator;
        An_Object : Object;

    begin

        Link_List.Init (Iter, List_Of_Link);
        loop
            exit when Link_List.Done (Iter);
            An_Object := Link_List.Value (Iter);
            exit when Identification.Tclient_Id'Image (Traiteur) =
                         Identification.Tclient_Id'Image (An_Object.Traiteur);
            Link_List.Next (Iter);
        end loop;
        To_Who := An_Object.To_Who;
        Contrat := An_Object.Contrat;

    end Search_Link;

    procedure Delete_Link (To_Who : in Identification.Tclient_Id) is
        List_Inter : Link_List.List := Link_List.Nil;
        An_Object : Object;
        Iter : Link_List.Iterator;
    begin
        Link_List.Init (Iter, List_Of_Link);
        loop
            exit when Link_List.Done (Iter);
            An_Object := Link_List.Value (Iter);
            if Identification.Tclient_Id'Image (To_Who) =
               Identification.Tclient_Id'Image (An_Object.To_Who) then
                null;
            else
                List_Inter := Link_List.Make (An_Object, List_Inter);
            end if;
            Link_List.Next (Iter);
        end loop;  
        List_Of_Link := List_Inter;
        Link_List.Free (List_Inter);
    end Delete_Link;

end Ident_Link;

E3 Meta Data

    nblk1=4
    nid=2
    hdr6=6
        [0x00] rec0=21 rec1=00 rec2=01 rec3=004
        [0x01] rec0=1d rec1=00 rec2=04 rec3=026
        [0x02] rec0=0d rec1=00 rec2=03 rec3=000
        [0x03] rec0=07 rec1=00 rec2=03 rec3=000
    tail 0x2154defe687c659890620 0x42a00088462060003
Free Block Chain:
  0x2: 0000  00 00 00 a2 80 0d 2e 4e 65 78 74 20 28 49 74 65  ┆      .Next (Ite┆