|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 13312 (0x3400) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Message_New, seg_04af5a
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Message_Interchange; with Parameter; with Signature; with String_Utilities; with Text_Io; package body Message_New is Sep : Character renames Message_Interchange.Separator; function Sup (S : String) return String renames String_Utilities.Upper_Case; function Create (Class : Message_New.Class; Addressee : Natural; Sender : Natural; Method : Standard.Method.Object; Request : Natural) return Message_New.Object is begin return Object'(Class, Addressee, Sender, Method, Request); end Create; function Get_Class (Message_New : Standard.Message_New.Object) return Class is begin return Message_New.Class; end Get_Class; function Get_Addressee (Message_New : Standard.Message_New.Object) return Natural is begin return Message_New.Addressee; end Get_Addressee; function Get_Sender (Message_New : Standard.Message_New.Object) return Natural is begin return Message_New.Sender; end Get_Sender; function Get_Method (Message_New : Standard.Message_New.Object) return Method.Object is begin return Message_New.Method; end Get_Method; function Get_Request (Message_New : Standard.Message_New.Object) return Natural is begin return Message_New.Request; end Get_Request; function Image (Message_New : Standard.Message_New.Object) return String is begin return Class'Image (Message_New.Class) & Sep & Natural'Image (Message_New.Addressee) & Sep & Natural'Image (Message_New.Sender) & Sep & Method.Image (Message_New.Method) & Sep & Natural'Image (Message_New.Request); end Image; function Value (The_String : String) return Message_New.Object is S : String renames The_String; Addressee : Positive := The_String'First; Sender : Positive; Method : Positive; Request : Positive; begin loop exit when The_String (Addressee) = Sep; Addressee := Addressee + 1; end loop; Sender := Addressee + 1; loop exit when The_String (Sender) = Sep; Sender := Sender + 1; end loop; Method := Sender + 1; loop exit when The_String (Method) = Sep; Method := Method + 1; end loop; Request := Method + 1; loop exit when The_String (Request) = Sep; Request := Request + 1; end loop; return Object'(Class => Message_New.Class'Value (S (S'First .. Addressee - 1)), Addressee => Natural'Value (S (Addressee + 1 .. Sender - 1)), Sender => Natural'Value (S (Sender + 1 .. Method - 1)), Method => Standard.Method.Value (S (Method + 1 .. Request - 1)), Request => Natural'Value (S (Request + 1 .. S'Last))); end Value; function Create (Class : Message_New.Class; Addressee : Natural; Sender : Natural; Method : String; Request : Natural; Parameter_Name : String; Parameter_Class : String; Parameter_Value : String) return Message_New.Object is Sig : Signature.Object := Signature.Create; Method_1 : Standard.Method.Object; begin Signature.Add (To_Signature => Sig, The_Parameter => Parameter.Create (Name => Parameter_Name, Class => Parameter_Class, Value => Parameter_Value), At_Position => 1); Method_1 := Standard.Method.Create (Name => Method, Signature => Sig); return Object'(Class, Addressee, Sender, Method_1, Request); end Create; function Create (Class : Message_New.Class; Addressee : Natural; Sender : Natural; Method : String; Request : Natural; Parameter1_Name : String; Parameter1_Class : String; Parameter1_Value : String; Parameter2_Name : String; Parameter2_Class : String; Parameter2_Value : String) return Message_New.Object is Sig : Signature.Object := Signature.Create; Method_1 : Standard.Method.Object; begin Signature.Add (To_Signature => Sig, The_Parameter => Parameter.Create (Name => Parameter1_Name, Class => Parameter1_Class, Value => Parameter1_Value), At_Position => 1); Signature.Add (To_Signature => Sig, The_Parameter => Parameter.Create (Name => Parameter2_Name, Class => Parameter2_Class, Value => Parameter2_Value), At_Position => 2); Method_1 := Standard.Method.Create (Name => Method, Signature => Sig); return Object'(Class, Addressee, Sender, Method_1, Request); end Create; function Create (Class : Message_New.Class; Addressee : Natural; Sender : Natural; Method : String; Request : Natural; Parameter1_Name : String; Parameter1_Class : String; Parameter1_Value : String; Parameter2_Name : String; Parameter2_Class : String; Parameter2_Value : String; Parameter3_Name : String; Parameter3_Class : String; Parameter3_Value : String) return Message_New.Object is Sig : Signature.Object := Signature.Create; Method_1 : Standard.Method.Object; begin Signature.Add (To_Signature => Sig, The_Parameter => Parameter.Create (Name => Parameter1_Name, Class => Parameter1_Class, Value => Parameter1_Value), At_Position => 1); Signature.Add (To_Signature => Sig, The_Parameter => Parameter.Create (Name => Parameter2_Name, Class => Parameter2_Class, Value => Parameter2_Value), At_Position => 2); Signature.Add (To_Signature => Sig, The_Parameter => Parameter.Create (Name => Parameter3_Name, Class => Parameter3_Class, Value => Parameter3_Value), At_Position => 3); Method_1 := Standard.Method.Create (Name => Method, Signature => Sig); return Object'(Class, Addressee, Sender, Method_1, Request); end Create; procedure Set_Class (Message_New : in out Standard.Message_New.Object; Class : Standard.Message_New.Class) is begin Message_New.Class := Class; end Set_Class; procedure Set_Addressee (Message_New : in out Standard.Message_New.Object; Addressee : Natural) is begin Message_New.Addressee := Addressee; end Set_Addressee; procedure Set_Sender (Message_New : in out Standard.Message_New.Object; Sender : Natural) is begin Message_New.Sender := Sender; end Set_Sender; procedure Set_Request (Message_New : in out Standard.Message_New.Object; Request : Natural) is begin Message_New.Request := Request; end Set_Request; end Message_New;
nblk1=c nid=c hdr6=12 [0x00] rec0=22 rec1=00 rec2=01 rec3=028 [0x01] rec0=22 rec1=00 rec2=03 rec3=024 [0x02] rec0=20 rec1=00 rec2=0b rec3=02e [0x03] rec0=17 rec1=00 rec2=08 rec3=056 [0x04] rec0=17 rec1=00 rec2=06 rec3=020 [0x05] rec0=17 rec1=00 rec2=02 rec3=002 [0x06] rec0=15 rec1=00 rec2=05 rec3=046 [0x07] rec0=12 rec1=00 rec2=0a rec3=050 [0x08] rec0=21 rec1=00 rec2=09 rec3=000 [0x09] rec0=07 rec1=00 rec2=09 rec3=000 [0x0a] rec0=07 rec1=00 rec2=09 rec3=000 [0x0b] rec0=32 rec1=80 rec2=00 rec3=000 tail 0x2174faab2867a4586e5f8 0x42a00088462060003 Free Block Chain: 0xc: 0000 00 04 03 fc 80 07 20 3d 3e 20 33 29 3b 07 00 4f ┆ => 3); O┆ 0x4: 0000 00 07 00 3b 80 13 6f 5f 53 69 67 6e 61 74 75 72 ┆ ; o_Signatur┆ 0x7: 0000 00 00 00 8c 80 2a 69 67 20 3a 20 53 69 67 6e 61 ┆ *ig : Signa┆