|
|
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 Sub_Contrat, seg_05727c
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Text_Io;
package body Sub_Contrat is
procedure Switch_Status (List_Of_Contrats : in out Contrat_List.List;
Id : in Identification.Tclient_Id;
Buzzy : Boolean) is
List_Inter : Contrat_List.List;
Iter : Contrat_List.Iterator;
A_Contrat : Tcontrat;
begin
Contrat_List.Init (Iter, List_Of_Contrats);
while not Contrat_List.Done (Iter) loop
A_Contrat := Contrat_List.Value (Iter);
if Identification.Tclient_Id'Image (Contrat_List.Value (Iter).Id) =
Identification.Tclient_Id'Image (Id) then
A_Contrat.Buzzy := Buzzy;
end if;
List_Inter := Contrat_List.Make (A_Contrat, List_Inter);
Contrat_List.Next (Iter);
end loop;
List_Of_Contrats := List_Inter;
Contrat_List.Free (List_Inter);
end Switch_Status;
function Is_Publication (Mess : in Message.Tmessage) return Boolean is
C : Message.Command_Type := Message.Publication;
Co : Message.Command_Type;
begin
Message.Unfill_Command (Mess, Co);
if Message.Command_Type'Image (Co) = Message.Command_Type'Image (C) then
return True;
else
return False;
end if;
end Is_Publication;
function Is_Unpublication (Mess : in Message.Tmessage) return Boolean is
C : Message.Command_Type := Message.Unpublication;
Co : Message.Command_Type;
begin
Message.Unfill_Command (Mess, Co);
if Message.Command_Type'Image (Co) = Message.Command_Type'Image (C) then
return True;
else
return False;
end if;
end Is_Unpublication;
procedure Fill_Contrat (Mess : in Message.Tmessage;
Contrat : out Tcontrat) is
Content_T : Orb_Tools.Content_String;
Origin_N : Identification.Tclient_Id;
begin
Message.Unfill_Content (Mess, Content_T);
Contrat.Nom_Contrat := Content_T;
Message.Unfill_Origin (Mess, Origin_N);
Contrat.Id := Origin_N;
Contrat.Buzzy := False;
end Fill_Contrat;
procedure Add_Contrat (List_Of_Contrats : in out Contrat_List.List;
Contrat : in Tcontrat) is
begin
List_Of_Contrats := Contrat_List.Make (Contrat, List_Of_Contrats);
end Add_Contrat;
procedure Remove_Contrat (List_Of_Contrats : in out Contrat_List.List;
Id : Identification.Tclient_Id) is
Lbis : Contrat_List.List;
Iter : Contrat_List.Iterator;
begin
Contrat_List.Init (Iter, List_Of_Contrats);
while not Contrat_List.Done (Iter) loop
if Identification.Tclient_Id'Image (Contrat_List.Value (Iter).Id) /=
Identification.Tclient_Id'Image (Id) then
Lbis := Contrat_List.Make (Contrat_List.Value (Iter), Lbis);
end if;
Contrat_List.Next (Iter);
end loop;
List_Of_Contrats := Lbis;
Contrat_List.Free (Lbis);
end Remove_Contrat;
function Contrat_Exists
(List_Of_Contrats : Contrat_List.List; Nom : in Tnom_Contrat)
return Boolean is
Iter : Contrat_List.Iterator;
begin
Contrat_List.Init (Iter, List_Of_Contrats);
while not Contrat_List.Done (Iter) loop
exit when Orb_Tools.Image (Contrat_List.Value (Iter).Nom_Contrat) =
Orb_Tools.Image (Nom);
Contrat_List.Next (Iter);
end loop;
if not Contrat_List.Done (Iter) then
return True;
else
return False;
end if;
end Contrat_Exists;
function Contrat_Provider
(List_Of_Contrats : Contrat_List.List; Nom : in Tnom_Contrat)
return Identification.Tclient_Id is
Iter : Contrat_List.Iterator;
Default_Contrat : Tcontrat;
begin
Contrat_List.Init (Iter, List_Of_Contrats);
while Orb_Tools.Image (Contrat_List.Value (Iter).Nom_Contrat) /=
Orb_Tools.Image (Nom) loop
Contrat_List.Next (Iter);
end loop;
Default_Contrat := Contrat_List.Value (Iter);
if not Contrat_List.Value (Iter).Buzzy then
return Default_Contrat.Id;
else
while not Contrat_List.Done (Iter) loop
exit when Orb_Tools.Image
(Contrat_List.Value (Iter).Nom_Contrat) =
Orb_Tools.Image (Nom) and
not Contrat_List.Value (Iter).Buzzy;
Contrat_List.Next (Iter);
end loop;
if Contrat_List.Done (Iter) then
return Default_Contrat.Id;
else
return Contrat_List.Value (Iter).Id;
end if;
return Contrat_List.Value (Iter).Id;
end if;
end Contrat_Provider;
function Is_Subscription (Mess : in Message.Tmessage) return Boolean is
C : Message.Command_Type := Message.Subscription;
Co : Message.Command_Type;
begin
Message.Unfill_Command (Mess, Co);
if Message.Command_Type'Image (Co) = Message.Command_Type'Image (C) then
return True;
else
return False;
end if;
end Is_Subscription;
function Is_Unsubscription (Mess : in Message.Tmessage) return Boolean is
C : Message.Command_Type := Message.Unsubscription;
Co : Message.Command_Type;
begin
Message.Unfill_Command (Mess, Co);
if Message.Command_Type'Image (Co) = Message.Command_Type'Image (C) then
return True;
else
return False;
end if;
end Is_Unsubscription;
procedure Fill_Sub (L : in Contrat_List.List;
Mess : in Message.Tmessage;
Sub : out Tsubscription) is
Content_T : Orb_Tools.Content_String;
Origin_N : Identification.Tclient_Id;
begin
Message.Unfill_Content (Mess, Content_T);
if Contrat_Exists (L, Content_T) then
Sub.On := Content_T;
Message.Unfill_Origin (Mess, Origin_N);
Sub.Who := Origin_N;
end if;
end Fill_Sub;
procedure Add_Sub (List_Of_Sub : in out Sub_List.List;
Sub : in Tsubscription) is
begin
List_Of_Sub := Sub_List.Make (Sub, List_Of_Sub);
end Add_Sub;
procedure Remove_Sub (List_Of_Sub : in out Sub_List.List;
Who : in Identification.Tclient_Id) is
Lbis : Sub_List.List;
Iter : Sub_List.Iterator;
begin
Sub_List.Init (Iter, List_Of_Sub);
while not Sub_List.Done (Iter) loop
if Identification.Tclient_Id'Image (Sub_List.Value (Iter).Who) /=
Identification.Tclient_Id'Image (Who) then
Lbis := Sub_List.Make (Sub_List.Value (Iter), Lbis);
end if;
Sub_List.Next (Iter);
end loop;
List_Of_Sub := Lbis;
Sub_List.Free (Lbis);
end Remove_Sub;
function Subscription_Exists
(List_Of_Sub : Sub_List.List; On : in Orb_Tools.Content_String)
return Boolean is
Iter : Sub_List.Iterator;
begin
Sub_List.Init (Iter, List_Of_Sub);
while not Sub_List.Done (Iter) loop
exit when Orb_Tools.Image (Sub_List.Value (Iter).On) =
Orb_Tools.Image (On);
Sub_List.Next (Iter);
end loop;
if not Sub_List.Done (Iter) then
return True;
else
return False; end if;
end Subscription_Exists;
function Subscripter (List_Of_Sub : Sub_List.List;
On : in Orb_Tools.Content_String)
return Identification.Tclient_Id is
Iter : Sub_List.Iterator;
begin
Sub_List.Init (Iter, List_Of_Sub);
while Orb_Tools.Image (Sub_List.Value (Iter).On) /=
Orb_Tools.Image (On) loop
Sub_List.Next (Iter);
end loop;
return Sub_List.Value (Iter).Who;
end Subscripter;
end Sub_Contrat;
nblk1=b
nid=b
hdr6=14
[0x00] rec0=1b rec1=00 rec2=01 rec3=042
[0x01] rec0=1c rec1=00 rec2=0a rec3=024
[0x02] rec0=18 rec1=00 rec2=06 rec3=014
[0x03] rec0=1c rec1=00 rec2=04 rec3=084
[0x04] rec0=01 rec1=00 rec2=09 rec3=020
[0x05] rec0=1a rec1=00 rec2=02 rec3=010
[0x06] rec0=1d rec1=00 rec2=08 rec3=01e
[0x07] rec0=1c rec1=00 rec2=07 rec3=046
[0x08] rec0=1b rec1=00 rec2=03 rec3=002
[0x09] rec0=11 rec1=00 rec2=05 rec3=001
[0x0a] rec0=77 rec1=1c rec2=70 rec3=000
tail 0x2154df4ec87c679e6f13f 0x42a00088462060003
Free Block Chain:
0xb: 0000 00 00 00 1b 80 18 20 20 20 20 20 20 20 20 20 20 ┆ ┆