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

⟦792d82fb1⟧ Ada Source

    Length: 6144 (0x1800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure My_Second_Agent, seg_0574b4

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 Generic_Agent;  
with Text_Io;
with V_String;
with Orb_Defs;

procedure My_Second_Agent is

    function My_Treat (The_Class : Orb_Defs.Class; The_Funct : Orb_Defs.Funct)
                      return String;

    package My_Agent is new Generic_Agent
                               (Treat => My_Treat, Name => "HiEurope");

    My_Contract_Descriptor : My_Agent.Contract_Descriptor;
    The_Job_Number : Natural;
    The_Job_Answer : V_String.Variable_String;

    function My_Treat (The_Class : Orb_Defs.Class; The_Funct : Orb_Defs.Funct)
                      return String is
    begin
        if The_Class = "EuHi" then
            if The_Funct = "fren" then
                return "Bonjour";
            end if;
            if The_Funct = "germ" then
                return "Guten tag";
            end if;
            if The_Funct = "spai" then
                return "Buenas dias";
            end if;
            if The_Funct = "engl" then
                return "Good Morning";
            end if;  
            if The_Funct = "ital" then
                return "Tchao";
            end if;
        end if;
    end My_Treat;

begin
    Text_Io.Put_Line ("Test of second agent.");

    delay (10.0);

    -- fabrication du descripteur de contrat
    My_Agent.Add_Field (My_Contract_Descriptor, 1);
    My_Agent.Add_Field (My_Contract_Descriptor, "EuHi");
    My_Agent.Add_Field (My_Contract_Descriptor, 5);
    My_Agent.Add_Field (My_Contract_Descriptor, "fren");
    My_Agent.Add_Field (My_Contract_Descriptor, "germ");
    My_Agent.Add_Field (My_Contract_Descriptor, "spai");
    My_Agent.Add_Field (My_Contract_Descriptor, "engl");
    My_Agent.Add_Field (My_Contract_Descriptor, "ital");

    delay (10.0);
    Text_Io.Put_Line ("AGENT IS GOING TO REGISTER  !!!");
    My_Agent.Register (My_Contract_Descriptor);

    loop
        if My_Agent.Is_Registrated = True then

            Text_Io.Put_Line ("I AM REGISTRATED !");
        else
            Text_Io.Put_Line ("NOT REGISTRATED YET.");

        end if;

        exit when My_Agent.Is_Registrated = True;

        delay (5.0);
    end loop;

    delay (30.0);

    Text_Io.Put_Line ("AGENT IS GOING TO ASK FOR A JOB TO ORB : date month");

    My_Agent.Ask_For_A_Job ("date", "mont", 1);

    loop
        exit when My_Agent.Is_There_A_Job_Result = True;
    end loop;

    My_Agent.Get_Job_Result (The_Job_Number, The_Job_Answer);

    Text_Io.Put_Line ("RESULTAT DU JOB Numero " &
                      Integer'Image (The_Job_Number) & " : " &
                      V_String.Image (The_Job_Answer));

    delay (20.0);

    Text_Io.Put_Line ("AGENT IS GOING TO ASK FOR A JOB TO ORB : date year");

    My_Agent.Ask_For_A_Job ("date", "year", 2);

    loop
        exit when My_Agent.Is_There_A_Job_Result = True;
    end loop;

    My_Agent.Get_Job_Result (The_Job_Number, The_Job_Answer);

    Text_Io.Put_Line ("RESULTAT DU JOB Numero " &
                      Integer'Image (The_Job_Number) & " : " &
                      V_String.Image (The_Job_Answer));

    delay (10.0);
    Text_Io.Put_Line ("AGENT IS GOING TO UNREGISTER");
    My_Agent.Unregister;
    loop
        exit when My_Agent.Is_Registrated = False;
    end loop;

    delay (10.0);
    Text_Io.Put_Line ("AGENT IS GOING TO DIE");
    My_Agent.Close;

    delay (5.0);

    Text_Io.Put_Line ("My second agent Terminated");

end My_Second_Agent;










E3 Meta Data

    nblk1=5
    nid=3
    hdr6=8
        [0x00] rec0=20 rec1=00 rec2=01 rec3=04c
        [0x01] rec0=1f rec1=00 rec2=02 rec3=02c
        [0x02] rec0=25 rec1=00 rec2=05 rec3=066
        [0x03] rec0=1f rec1=00 rec2=04 rec3=000
        [0x04] rec0=c0 rec1=00 rec2=00 rec3=100
    tail 0x217645cc087c786ef74eb 0x42a00088462060003
Free Block Chain:
  0x3: 0000  00 00 01 19 80 1b 65 72 27 49 6d 61 67 65 20 28  ┆      er'Image (┆