DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ B T ┃
Length: 7543 (0x1d77) Types: TextFile Names: »B«
└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13 └─ ⟦124ff5788⟧ »DATA« └─⟦this⟧ └─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11 └─ ⟦129cab021⟧ »DATA« └─⟦this⟧ └─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16 └─ ⟦6f12a12be⟧ »DATA« └─⟦this⟧ └─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04 └─ ⟦d65440be7⟧ »DATA« └─⟦this⟧
with Message_Interchange; with Parameter; with Signature; with String_Utilities; with Text_Io; package body Message is Sep : Character renames Message_Interchange.Separator; function Sup (S : String) return String renames String_Utilities.Upper_Case; function Create (Class : Message.Class; Addressee : Natural; Sender : Natural; Method : Standard.Method.Object) return Message.Object is begin return Object'(Class, Addressee, Sender, Method); end Create; function Get_Class (Message : Standard.Message.Object) return Class is begin return Message.Class; end Get_Class; function Get_Addressee (Message : Standard.Message.Object) return Natural is begin return Message.Addressee; end Get_Addressee; function Get_Sender (Message : Standard.Message.Object) return Natural is begin return Message.Sender; end Get_Sender; function Get_Method (Message : Standard.Message.Object) return Method.Object is begin return Message.Method; end Get_Method; function Image (Message : Standard.Message.Object) return String is begin return Class'Image (Message.Class) & Sep & Natural'Image (Message.Addressee) & Sep & Natural'Image (Message.Sender) & Sep & Method.Image (Message.Method); end Image; function Value (The_String : String) return Message.Object is S : String renames The_String; Addressee : Positive := The_String'First; Sender : Positive; Method : 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; return Object'(Class => Message.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 .. S'Last))); end Value; function Create (Class : Message.Class; Addressee : Natural; Sender : Natural; Method : String; Parameter_Name : String; Parameter_Class : String; Parameter_Value : String) return Message.Object is Sig : Signature.Object := Signature.Create; begin Signature.Add (To_Signature => Sig, The_Parameter => Parameter.Create (Name => Parameter_Name, Class => Parameter_Class, Value => Parameter_Value), At_Position => 1); return Message.Create (Class, Addressee, Sender, Method => Standard.Method.Create (Name => Method, Signature => Sig)); end Create; function Create (Class : Message.Class; Addressee : Natural; Sender : Natural; Method : String; Parameter1_Name : String; Parameter1_Class : String; Parameter1_Value : String; Parameter2_Name : String; Parameter2_Class : String; Parameter2_Value : String) return Message.Object is Sig : Signature.Object := Signature.Create; 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); return Message.Create (Class, Addressee, Sender, Method => Standard.Method.Create (Name => Method, Signature => Sig)); end Create; function Create (Class : Message.Class; Addressee : Natural; Sender : Natural; Method : String; 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.Object is Sig : Signature.Object := Signature.Create; 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); return Message.Create (Class, Addressee, Sender, Method => Standard.Method.Create (Name => Method, Signature => Sig)); end Create; procedure Set_Class (Message : in out Standard.Message.Object; Class : Standard.Message.Class) is begin Message.Class := Class; end Set_Class; procedure Set_Addressee (Message : in out Standard.Message.Object; Addressee : Natural) is begin Message.Addressee := Addressee; end Set_Addressee; procedure Set_Sender (Message : in out Standard.Message.Object; Sender : Natural) is begin Message.Sender := Sender; end Set_Sender; end Message;