|
|
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: 13312 (0x3400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Orb_Tools, seg_055c40
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Text_Io;
with Bounded_String;
with Record_Tables;
with Const_Orb;
package body Orb_Tools is
Mess_Error : My_Message.My_String;
procedure Initialize_Data_Structures is
begin
Record_Tables.Initialize_Data_Structures;
end Initialize_Data_Structures;
procedure Reply_Error (Message : My_Message.Object;
Mess_Error : My_Message.My_String) is
New_Message : My_Message.Object;
begin
New_Message := My_Message.Initialize
(Op => My_Message.Reply_Error,
Cont => Mess_Error,
Req_I => My_Message.Get_Request_Identifier (Message),
L_I => My_Message.Get_Local_Identifier (Message));
My_Message.Send (New_Message,
My_Message.Get_Local_Identifier (Message));
end Reply_Error;
procedure Registrate (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if not (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Fill_In (Message);
else
Bounded_String.Copy (Mess_Error, "Client is already registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Registrate;
procedure Unregistrate (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Delete (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Unregistrate;
procedure Require (Message : My_Message.Object) is
New_Message : My_Message.Object;
No_Remote_Id : My_Message.My_String;
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
New_Message := My_Message.Initialize
(Op => My_Message.Forward,
Cont => My_Message.Get_Content (Message),
L_I => My_Message.Get_Local_Identifier (Message),
Req_I => My_Message.Get_Request_Identifier (Message),
R_I => My_Message.Get_Content (Message));
Bounded_String.Copy (No_Remote_Id, Const_Orb.No_Remote_Id);
if (Record_Tables.Client_Is_Registrate (Message)) then
-- si l'adresse est contenue dans le champs R_I
if not (Bounded_String.Image
(My_Message.Get_Remote_Identifier (Message)) =
Bounded_String.Image (No_Remote_Id)) then
My_Message.Send (New_Message,
My_Message.Get_Remote_Identifier (Message));
else -- sinon l'adresse est a rechercher dans la table
if (Record_Tables.Request_Exists (Message)) then
My_Message.Send
(New_Message,
Record_Tables.Extract_Rem_Id_For_Request (Message));
else
Bounded_String.Copy (Mess_Error,
"Request does not exists !");
Reply_Error (Message, Mess_Error);
end if;
end if;
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Require;
procedure Notify (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Send_To_All (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Notify;
procedure Publicate (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Record_Of_Publication (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Publicate;
procedure Publicate_Filter (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Record_Of_Publication_Filter (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Publicate_Filter;
procedure Unpublicate (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Unrecord_Of_Publication (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Unpublicate;
procedure Unpublicate_Filter (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Unrecord_Of_Publication_Filter (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Unpublicate_Filter;
procedure Subscript (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Set_Subscription (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Subscript;
procedure Unsubscript (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Reset_Subscription (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Unsubscript;
procedure Filtrate (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Set_Filter (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Filtrate;
procedure Unfiltrate (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Reset_Filter (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Unfiltrate;
procedure Query (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
Record_Tables.Show_Content_And_Objects_Of_Orb (Message);
end Query;
procedure Reply (Message : My_Message.Object) is
New_Message : My_Message.Object := Message;
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
Record_Tables.Reply (New_Message);
end Reply;
procedure Content (Message : My_Message.Object) is
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
if (Record_Tables.Client_Is_Registrate (Message)) then
Record_Tables.Reply_The_Content (Message);
else
Bounded_String.Copy (Mess_Error, "Client is not registrated !");
Reply_Error (Message, Mess_Error);
end if;
end Content;
procedure Reply_Filtration (Message : My_Message.Object) is
New_Message : My_Message.Object := Message;
begin
Text_Io.Put_Line (Bounded_String.Image (My_Message.Image (Message)) &
" has been received");
Record_Tables.Reply_Filtration (Message);
end Reply_Filtration;
end Orb_Tools;
nblk1=c
nid=8
hdr6=16
[0x00] rec0=21 rec1=00 rec2=01 rec3=004
[0x01] rec0=1a rec1=00 rec2=02 rec3=068
[0x02] rec0=13 rec1=00 rec2=09 rec3=064
[0x03] rec0=17 rec1=00 rec2=03 rec3=08c
[0x04] rec0=1a rec1=00 rec2=0c rec3=072
[0x05] rec0=1c rec1=00 rec2=0b rec3=006
[0x06] rec0=19 rec1=00 rec2=0a rec3=04e
[0x07] rec0=02 rec1=00 rec2=05 rec3=04e
[0x08] rec0=1a rec1=00 rec2=04 rec3=042
[0x09] rec0=1c rec1=00 rec2=06 rec3=002
[0x0a] rec0=17 rec1=00 rec2=07 rec3=000
[0x0b] rec0=fc rec1=00 rec2=00 rec3=000
tail 0x2154d806c87c053ede1cc 0x42a00088462060003
Free Block Chain:
0x8: 0000 00 00 00 48 80 0f 73 61 67 65 2e 4f 62 6a 65 63 ┆ H sage.Objec┆