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

⟦5020b01be⟧ Ada Source

    Length: 27648 (0x6c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Orb_Messages, seg_056ac8

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 Bounded_String, Text_Io, Text_Manager;  
with Com_Dialog, Transport_Defs, Com_Defs;
with Conversion, Ip_Name;


package body Orb_Messages is

    Tampon_Adress_String_And_Apply_Number :
       All_String.Adress_String_And_Apply_Number;
    Tampon_Adress_String : All_String.Adress_String;
    Tampon_Apply_Number_String : All_String.String4;
    Tampon_Adress_Message_Or_Status : All_String.Adress_Type_Message_Or_Status;

    function Value (S : String) return Com_Defs.V_String is
    begin
        return Com_Defs.V_String (Bounded_String.Value
                                     (S, Com_Defs.Frame_Length));
    end Value;

    function Image (S : T_Frame) return String is
    begin
        return Bounded_String.Image (Bounded_String.Variable_String (S.Frame));  
    end Image;

    procedure Copy (Target : in out T_Frame; Source : T_Frame) is
    begin
        Bounded_String.Free (Bounded_String.Variable_String (Target.Frame));
        Bounded_String.Copy (Bounded_String.Variable_String (Target.Frame),
                             Bounded_String.Variable_String (Source.Frame));
    end Copy;

    procedure Init_T_Frame (My_Frame : in out T_Frame) is
    begin
        Bounded_String.Free (Bounded_String.Variable_String (My_Frame.Frame));
    end Init_T_Frame;

    function Read_Source_Adress_Internet_And_Apply_Number
                (My_Frame : T_Frame) return All_String.
                                            Adress_String_And_Apply_Number is
    begin
        Tampon_Adress_String_And_Apply_Number :=
           Bounded_String.Extract
              (Bounded_String.Variable_String (My_Frame.Frame),
               Constant_Start_End.Start_Source_Adress_Internet_And_Apply_Number,
               Constant_Start_End.End_Source_Adress_Internet_And_Apply_Number);
        return Tampon_Adress_String_And_Apply_Number;
    end Read_Source_Adress_Internet_And_Apply_Number;


    function Read_Source_Adress (My_Frame : T_Frame)
                                return All_String.Adress_String is
    begin
        Tampon_Adress_String :=
           Bounded_String.Extract
              (Bounded_String.Variable_String (My_Frame.Frame),
               Constant_Start_End.Start_Source_Adress,
               Constant_Start_End.End_Source_Adress);
        return Tampon_Adress_String;
    end Read_Source_Adress;

    function Read_Source_Apply_Number
                (My_Frame : T_Frame) return All_String.String4 is
    begin
        Tampon_Apply_Number_String :=
           Bounded_String.Extract
              (Bounded_String.Variable_String (My_Frame.Frame),
               Constant_Start_End.Start_Source_Apply_Number,
               Constant_Start_End.End_Source_Apply_Number);
        return Tampon_Apply_Number_String;
    end Read_Source_Apply_Number;

    function Read_Destinataire_Adress_Internet_And_Apply_Number
                (My_Frame : T_Frame) return All_String.
                                            Adress_String_And_Apply_Number is
    begin
        Tampon_Adress_String_And_Apply_Number :=
           Bounded_String.Extract
              (Bounded_String.Variable_String (My_Frame.Frame),
               Constant_Start_End.
                  Start_Destinataire_Adress_Internet_And_Apply_Number,
               Constant_Start_End.
                  End_Destinataire_Adress_Internet_And_Apply_Number);
        return Tampon_Adress_String_And_Apply_Number;
    end Read_Destinataire_Adress_Internet_And_Apply_Number;


    function Read_Destinataire_Adress  
                (My_Frame : T_Frame) return All_String.Adress_String is
    begin
        Tampon_Adress_String :=
           Bounded_String.Extract
              (Bounded_String.Variable_String (My_Frame.Frame),
               Constant_Start_End.Start_Destinataire_Adress,
               Constant_Start_End.End_Destinataire_Adress);
        return Tampon_Adress_String;
    end Read_Destinataire_Adress;


    function Read_Client_Adress_Internet_And_Apply_Number
                (My_Frame : T_Frame) return All_String.
                                            Adress_String_And_Apply_Number is
    begin
        Tampon_Adress_String_And_Apply_Number :=
           Bounded_String.Extract
              (Bounded_String.Variable_String (My_Frame.Frame),
               Constant_Start_End.Start_Client_Adress_Internet_And_Apply_Number,
               Constant_Start_End.End_Client_Adress_Internet_And_Apply_Number);
        return Tampon_Adress_String_And_Apply_Number;
    end Read_Client_Adress_Internet_And_Apply_Number;


    function Read_Client_Adress (My_Frame : T_Frame)
                                return All_String.Adress_String is
    begin
        Tampon_Adress_String :=
           Bounded_String.Extract
              (Bounded_String.Variable_String (My_Frame.Frame),
               Constant_Start_End.Start_Client_Adress,
               Constant_Start_End.End_Client_Adress);
        return Tampon_Adress_String;
    end Read_Client_Adress;


    function Read_Apply_Number (S : All_String.Adress_String_And_Apply_Number)
                               return Com_Defs.Com_Number is
        Tampon1 : Com_Defs.V_String;  
        My_String4 : All_String.String4;
    begin
        Tampon1 := Com_Defs.Value (S);
        My_String4 := Bounded_String.Extract
                         (Bounded_String.Variable_String (Tampon1),
                          Constant_Start_End.Start_Source_Apply_Number,
                          Constant_Start_End.End_Source_Apply_Number);  
        return Conversion.String4_To_Number (My_String4);
    end Read_Apply_Number;

    function Read_Type_Of_Message (My_Frame : T_Frame) return Integer is
    begin
        Tampon_Adress_Message_Or_Status :=
           Bounded_String.Extract
              (Bounded_String.Variable_String (My_Frame.Frame),
               Constant_Start_End.Start_Type_Message,
               Constant_Start_End.End_Type_Message);
        return Conversion.String2_To_Number (Tampon_Adress_Message_Or_Status);   end Read_Type_Of_Message;


    function Read_Type_Of_Status (My_Frame : T_Frame) return Integer is
    begin
        Tampon_Adress_Message_Or_Status :=
           Bounded_String.Extract
              (Bounded_String.Variable_String (My_Frame.Frame),
               Constant_Start_End.Start_Type_Status,
               Constant_Start_End.End_Type_Status);
        return Conversion.String2_To_Number (Tampon_Adress_Message_Or_Status);
    end Read_Type_Of_Status;


    procedure Init_Send_Frame (Target_Frame : in out T_Frame;
                               Source_Frame : in T_Frame) is
    begin
        Bounded_String.Copy
           (Bounded_String.Variable_String (Target_Frame.Frame),
            Bounded_String.Extract
               (Bounded_String.Variable_String (Source_Frame.Frame),
                Constant_Start_End.
                   Start_Source_Adress_Internet_And_Apply_Number,
                Constant_Start_End.End_Type_Status));
    end Init_Send_Frame;


    procedure Init_Type_Of_Status
                 (My_Status : T_Status.T_State; My_Frame : in out T_Frame) is  
        My_String_Status : All_String.Adress_Type_Message_Or_Status;
        My_Integer_Status : Integer;
    begin
        My_Integer_Status := T_Status.T_State'Pos (My_Status);
        My_String_Status := Conversion.Number_To_String2 (My_Integer_Status);
        Text_Manager.Text.Put_Line ("Status ORB is : " & My_String_Status &
                                    "=" & T_Status.T_State'Image (My_Status));
        Bounded_String.Replace
           (Bounded_String.Variable_String (My_Frame.Frame),
            Constant_Start_End.Start_Type_Status, My_String_Status);  
    end Init_Type_Of_Status;


    procedure Init_Type_Of_Message
                 (My_Message : T_Message.T_Mess; My_Frame : in out T_Frame) is
        My_String_Message : All_String.Adress_Type_Message_Or_Status;
        My_Integer_Message : Integer;
    begin  
        My_Integer_Message := T_Message.T_Mess'Pos (My_Message);
        My_String_Message := Conversion.Number_To_String2 (My_Integer_Message);
        Text_Manager.Text.Put_Line ("Message ORB is : " & My_String_Message &
                                    "=" & T_Message.T_Mess'Image (My_Message));
        Bounded_String.Replace
           (Bounded_String.Variable_String (My_Frame.Frame),
            Constant_Start_End.Start_Type_Message, My_String_Message);
    end Init_Type_Of_Message;


    procedure Init_Data_Message (My_Data_Message : in Com_Defs.V_String;
                                 My_Frame : in out T_Frame) is  
    begin
        Bounded_String.Append
           (Bounded_String.Variable_String (My_Frame.Frame),
            Bounded_String.Variable_String (My_Data_Message));
    end Init_Data_Message;


    procedure Exchange_Source_Destination (My_Frame : in out T_Frame) is
        My_Tampon_Source, My_Tampon_Destinataire : All_String.Adress_String;
    begin
        My_Tampon_Source := Read_Destinataire_Adress (My_Frame);
        My_Tampon_Destinataire := Read_Source_Adress (My_Frame);  
        Bounded_String.Replace
           (Bounded_String.Variable_String (My_Frame.Frame),
            Constant_Start_End.Start_Source_Adress, My_Tampon_Source);
        Bounded_String.Replace (Bounded_String.Variable_String (My_Frame.Frame),
                                Constant_Start_End.Start_Destinataire_Adress,
                                My_Tampon_Destinataire);
    end Exchange_Source_Destination;


    procedure Remove_Data (My_Frame : in out T_Frame) is  
        Tampon : T_Frame;
    begin
        Bounded_String.Free (Bounded_String.Variable_String (Tampon.Frame));
        Bounded_String.Copy
           (Bounded_String.Variable_String (Tampon.Frame),
            Bounded_String.Extract
               (Bounded_String.Variable_String (My_Frame.Frame),
                Constant_Start_End.
                   Start_Source_Adress_Internet_And_Apply_Number,
                Constant_Start_End.End_Type_Status));
        Bounded_String.Free (Bounded_String.Variable_String (My_Frame.Frame));
        Bounded_String.Copy (Bounded_String.Variable_String (My_Frame.Frame),
                             Bounded_String.Variable_String (Tampon.Frame));
    end Remove_Data;


    procedure Init_Destinataire (My_Adress : in
                                    All_String.Adress_String_And_Apply_Number;
                                 My_Frame : in out T_Frame) is  
        Tampon : T_Frame;
    begin
        Bounded_String.Free (Bounded_String.Variable_String (Tampon.Frame));
        Bounded_String.Append
           (Bounded_String.Variable_String (Tampon.Frame), My_Adress);
        Bounded_String.Append
           (Bounded_String.Variable_String (Tampon.Frame), "0000");
        Bounded_String.Replace (Bounded_String.Variable_String (My_Frame.Frame),
                                Constant_Start_End.Start_Destinataire_Adress,
                                Bounded_String.Variable_String (Tampon.Frame));
    end Init_Destinataire;


    procedure Init_Source (My_Adress : in
                              All_String.Adress_String_And_Apply_Number;
                           My_Frame : in out T_Frame) is  
        Tampon : T_Frame;
    begin
        Bounded_String.Free (Bounded_String.Variable_String (Tampon.Frame));
        Bounded_String.Append
           (Bounded_String.Variable_String (Tampon.Frame), My_Adress);
        Bounded_String.Append
           (Bounded_String.Variable_String (Tampon.Frame), "0000");
        Bounded_String.Replace (Bounded_String.Variable_String (My_Frame.Frame),
                                Constant_Start_End.Start_Source_Adress,
                                Bounded_String.Variable_String (Tampon.Frame));
    end Init_Source;


    procedure Put_Frame (My_Frame : T_Frame) is
    begin
        Text_Manager.Text.Put_Line
           (Bounded_String.Image
               (Bounded_String.Variable_String (My_Frame.Frame)));
    end Put_Frame;


    procedure Init (My_Appli_Number : out Com_Defs.Com_Number;
                    My_Machine_Name : out Com_Defs.V_String;
                    My_Adress_Ip : in out Com_Defs.V_String;
                    Status : out Boolean) is
        Tampon : Com_Defs.V_String;
    begin
        Com_Dialog.Init (My_Appli_Number, My_Machine_Name, Tampon, Status);
        Ip_Name.Convert (Tampon, My_Adress_Ip);
    end Init;


    procedure Remove (My_Appli_Number : in Com_Defs.Com_Number) is  
    begin
        Com_Dialog.Remove (My_Appli_Number);
    end Remove;

    procedure Send (My_Appli_Number : Com_Defs.Com_Number;  
                    My_Host_Name : Com_Defs.V_String;
                    My_Frame : in out T_Frame;  
                    My_Status : in out Boolean) is
        My_Frame_Length : Natural := Com_Defs.Length (My_Frame.Frame);
    begin
        for I in 1 .. Com_Defs.Frame_Length - My_Frame_Length loop
            begin
                Bounded_String.Append
                   (Bounded_String.Variable_String (My_Frame.Frame), '$');
            end;
        end loop;
        Com_Dialog.Send (My_Appli_Number, My_Host_Name,
                         My_Frame.Frame, My_Frame_Length, My_Status);
    end Send;


    procedure Receive (My_Appli_Number : in Com_Defs.Com_Number;  
                       My_Frame : in out T_Frame;
                       Status : out Boolean) is
    begin
        Bounded_String.Free (Bounded_String.Variable_String (My_Frame.Frame));
        Com_Dialog.Receive (My_Appli_Number, My_Frame.Frame, Status);
    end Receive;


    procedure Reinsert (My_Appli_Number : in Com_Defs.Com_Number;
                        My_Frame : in T_Frame) is
    begin
        Com_Dialog.Reinsert (My_Appli_Number, My_Frame.Frame);
    end Reinsert;


    procedure Init_Data (Iter : in out Data_Iterator; My_Frame : T_Frame) is
        Length : Natural :=
           Bounded_String.Length
              (Bounded_String.Variable_String (My_Frame.Frame));
        Tampon : String (Constant_Start_End.Start_Data .. Length);
    begin
        Tampon := (Bounded_String.Extract
                      (Bounded_String.Variable_String (My_Frame.Frame),
                       Constant_Start_End.Start_Data,
                       Bounded_String.Length
                          (Bounded_String.Variable_String (My_Frame.Frame))));
        Iter.Index := 1;       Iter.Data := Com_Defs.V_String (Bounded_String.Value
                                           (Tampon, Com_Defs.Frame_Length));
        Iter.Return_Tampon := Iter.Data;
    end Init_Data;


    function Done_Data (Iter : Data_Iterator) return Boolean is  
        Test : Boolean;
    begin  
        Test := False;
        if Iter.Index = Bounded_String.Length
                           (Bounded_String.Variable_String (Iter.Data)) then
            Test := True;
        end if;
        return Test;
    end Done_Data;


    procedure Next_Data (Iter : in out Data_Iterator) is
        Car : Character;
    begin
        Bounded_String.Free (Bounded_String.Variable_String
                                (Iter.Return_Tampon));
        Car := Bounded_String.Char_At
                  (Bounded_String.Variable_String (Iter.Data), Iter.Index);
        while (Car /= '/' and not Done_Data (Iter)) loop
            Bounded_String.Append
               (Bounded_String.Variable_String (Iter.Return_Tampon), Car);
            Iter.Index := Iter.Index + 1;
            Car := Bounded_String.Char_At
                      (Bounded_String.Variable_String (Iter.Data), Iter.Index);
        end loop;  
        if not Done_Data (Iter) then
            Iter.Index := Iter.Index + 1;  
        else
            Bounded_String.Append
               (Bounded_String.Variable_String (Iter.Return_Tampon), Car);
        end if;
    end Next_Data;


    function Value_Data (Iter : Data_Iterator) return Com_Defs.V_String is
    begin
        return Iter.Return_Tampon;
    end Value_Data;


    procedure Extract_The_Contract
                 (My_Frame : T_Frame;
                  My_Iter : in out Data_Iterator;
                  Class_Name : in out Com_Defs.V_String;
                  Object_Name : in out Com_Defs.V_String;  
                  Method_Name : in out Com_Defs.V_String;
                  Number_Of_Parameter : in out Com_Defs.V_String;
                  Parameters : in out Com_Defs.V_String) is
    begin
        Init_Data (My_Iter, My_Frame);
        Next_Data (My_Iter);
        Class_Name := Value_Data (My_Iter);
        Next_Data (My_Iter);
        Object_Name := Value_Data (My_Iter);
        Next_Data (My_Iter);
        Method_Name := Value_Data (My_Iter);
        Next_Data (My_Iter);
        Number_Of_Parameter := Value_Data (My_Iter);
        Next_Data (My_Iter);
        Parameters := Value_Data (My_Iter);  
        Text_Manager.Text.Put_Line ("Orb has extracted the Class_Name : " &
                                    Com_Defs.Image (Class_Name));
        Text_Manager.Text.Put_Line ("Orb has extracted the Object_Name : " &
                                    Com_Defs.Image (Object_Name));
        Text_Manager.Text.Put_Line ("Orb has extracted the Method_Name : " &
                                    Com_Defs.Image (Method_Name));
        Text_Manager.Text.Put_Line
           ("Orb has extracted the Number_Of_Parameter : " &
            Com_Defs.Image (Number_Of_Parameter));
        Text_Manager.Text.Put_Line ("Orb has extracted the Parameters : " &
                                    Com_Defs.Image (Parameters));
    end Extract_The_Contract;

end Orb_Messages;

E3 Meta Data

    nblk1=1a
    nid=11
    hdr6=28
        [0x00] rec0=09 rec1=00 rec2=01 rec3=024
        [0x01] rec0=18 rec1=00 rec2=04 rec3=028
        [0x02] rec0=17 rec1=00 rec2=05 rec3=00a
        [0x03] rec0=16 rec1=00 rec2=06 rec3=042
        [0x04] rec0=18 rec1=00 rec2=02 rec3=028
        [0x05] rec0=17 rec1=00 rec2=07 rec3=062
        [0x06] rec0=15 rec1=00 rec2=16 rec3=002
        [0x07] rec0=18 rec1=00 rec2=08 rec3=01c
        [0x08] rec0=17 rec1=00 rec2=18 rec3=008
        [0x09] rec0=14 rec1=00 rec2=09 rec3=098
        [0x0a] rec0=12 rec1=00 rec2=03 rec3=024
        [0x0b] rec0=14 rec1=00 rec2=0b rec3=022
        [0x0c] rec0=13 rec1=00 rec2=14 rec3=07e
        [0x0d] rec0=1e rec1=00 rec2=0c rec3=01a
        [0x0e] rec0=19 rec1=00 rec2=0d rec3=036
        [0x0f] rec0=13 rec1=00 rec2=15 rec3=002
        [0x10] rec0=1b rec1=00 rec2=13 rec3=028
        [0x11] rec0=1a rec1=00 rec2=12 rec3=05c
        [0x12] rec0=15 rec1=00 rec2=0f rec3=006
        [0x13] rec0=07 rec1=00 rec2=10 rec3=000
        [0x14] rec0=07 rec1=00 rec2=10 rec3=000
        [0x15] rec0=1c rec1=00 rec2=0f rec3=04a
        [0x16] rec0=15 rec1=00 rec2=10 rec3=014
        [0x17] rec0=01 rec1=00 rec2=11 rec3=000
        [0x18] rec0=01 rec1=00 rec2=11 rec3=000
        [0x19] rec0=00 rec1=00 rec2=00 rec3=000
    tail 0x21763115c87c53c520a5b 0x42a00088462060003
Free Block Chain:
  0x11: 0000  00 17 03 fc 80 09 2e 50 75 74 5f 4c 69 6e 65 09  ┆      .Put_Line ┆
  0x17: 0000  00 19 00 26 80 04 29 29 29 3b 04 00 18 20 20 20  ┆   &  )));      ┆
  0x19: 0000  00 0e 00 c1 80 0b 54 5f 46 72 61 6d 65 29 20 69  ┆      T_Frame) i┆
  0xe: 0000  00 0a 00 60 80 2a 65 64 5f 53 74 72 69 6e 67 2e  ┆   ` *ed_String.┆
  0xa: 0000  00 1a 03 fc 80 42 67 65 72 2e 54 65 78 74 2e 50  ┆     Bger.Text.P┆
  0x1a: 0000  00 00 00 07 80 04 4d 61 6e 61 04 34 fc 05 a1 5c  ┆      Mana 4   \┆