|
|
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 - metrics - download
Length: 12288 (0x3000)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Message_Old, seg_04b25b
└─⟦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_Old is
Sep : Character renames Message_Interchange.Separator;
function Sup (S : String) return String renames String_Utilities.Upper_Case;
function Create (Class : Message_Old.Class;
Addressee : Natural;
Sender : Natural;
Method : Standard.Method.Object)
return Message_Old.Object is
begin
return Object'(Class, Addressee, Sender, Method);
end Create;
function Get_Class
(Message_Old : Standard.Message_Old.Object) return Class is
begin
return Message_Old.Class;
end Get_Class;
function Get_Addressee
(Message_Old : Standard.Message_Old.Object) return Natural is
begin
return Message_Old.Addressee;
end Get_Addressee;
function Get_Sender
(Message_Old : Standard.Message_Old.Object) return Natural is
begin
return Message_Old.Sender;
end Get_Sender;
function Get_Method (Message_Old : Standard.Message_Old.Object)
return Method.Object is
begin
return Message_Old.Method;
end Get_Method;
function Image (Message_Old : Standard.Message_Old.Object) return String is
begin
return Class'Image (Message_Old.Class) & Sep &
Natural'Image (Message_Old.Addressee) & Sep &
Natural'Image (Message_Old.Sender) &
Sep & Method.Image (Message_Old.Method);
end Image;
function Value (The_String : String) return Message_Old.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_Old.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_Old.Class;
Addressee : Natural;
Sender : Natural;
Method : String;
Parameter_Name : String;
Parameter_Class : String;
Parameter_Value : String) return Message_Old.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_Old.Create
(Class, Addressee, Sender,
Method => Standard.Method.Create
(Name => Method, Signature => Sig));
end Create;
function Create (Class : Message_Old.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_Old.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_Old.Create
(Class, Addressee, Sender,
Method => Standard.Method.Create
(Name => Method, Signature => Sig));
end Create;
function Create (Class : Message_Old.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_Old.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_Old.Create
(Class, Addressee, Sender,
Method => Standard.Method.Create
(Name => Method, Signature => Sig));
end Create;
procedure Set_Class (Message_Old : in out Standard.Message_Old.Object;
Class : Standard.Message_Old.Class) is
begin
Message_Old.Class := Class;
end Set_Class;
procedure Set_Addressee (Message_Old : in out Standard.Message_Old.Object;
Addressee : Natural) is
begin
Message_Old.Addressee := Addressee;
end Set_Addressee;
procedure Set_Sender (Message_Old : in out Standard.Message_Old.Object;
Sender : Natural) is
begin
Message_Old.Sender := Sender;
end Set_Sender;
end Message_Old;
nblk1=b
nid=4
hdr6=14
[0x00] rec0=25 rec1=00 rec2=01 rec3=01c
[0x01] rec0=1e rec1=00 rec2=02 rec3=056
[0x02] rec0=02 rec1=00 rec2=0b rec3=002
[0x03] rec0=1d rec1=00 rec2=03 rec3=016
[0x04] rec0=18 rec1=00 rec2=05 rec3=010
[0x05] rec0=14 rec1=00 rec2=06 rec3=014
[0x06] rec0=18 rec1=00 rec2=09 rec3=024
[0x07] rec0=13 rec1=00 rec2=07 rec3=06a
[0x08] rec0=1e rec1=00 rec2=0a rec3=022
[0x09] rec0=02 rec1=00 rec2=08 rec3=000
[0x0a] rec0=a7 rec1=62 rec2=a0 rec3=000
tail 0x2174fef44867c486e5297 0x42a00088462060003
Free Block Chain:
0x4: 0000 00 00 03 fa 80 24 20 20 20 20 20 20 20 20 20 20 ┆ $ ┆