|
|
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 - metrics - 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;