|
|
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: 17408 (0x4400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Bdd, seg_051231
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Table;
with Lecteur_68;
with Lecteur_Zone_68;
with Acces_68;
with Plage_68;
with Carte_Groupe_68;
with Carte_68;
package body Bdd is
package O_G renames Objet_Generic;
package T_Bdd_Lecteur is new Table (Item => Lecteur_68.Object,
Max_Item => Max_Lecteur,
Max_Taille_Hash => Max_Lecteur / 4,
Cle => Lecteur_68.Get_Numero,
Image => Lecteur_68.Image);
package T_Bdd_Lecteur_Zone is
new Table (Item => Lecteur_Zone_68.Object,
Max_Item => Max_Lecteur_Zone,
Max_Taille_Hash => Max_Lecteur_Zone / 4,
Cle => Lecteur_Zone_68.Get_Zone,
Image => Lecteur_Zone_68.Image);
package T_Bdd_Acces is new Table (Item => Acces_68.Object,
Max_Item => Max_Acces,
Max_Taille_Hash => Max_Acces / 4,
Cle => Acces_68.Get_Zone,
Image => Acces_68.Image);
package T_Bdd_Plage is new Table (Item => Plage_68.Object,
Max_Item => Max_Plage,
Max_Taille_Hash => Max_Plage / 4,
Cle => Plage_68.Get_Zone,
Image => Plage_68.Image);
package T_Bdd_Carte_Groupe is
new Table (Item => Carte_Groupe_68.Object,
Max_Item => Max_Carte_Groupe,
Max_Taille_Hash => Max_Carte_Groupe / 4,
Cle => Carte_Groupe_68.Get_Groupe,
Image => Carte_Groupe_68.Image);
package T_Bdd_Carte is new Table (Item => Carte_68.Object,
Max_Item => Max_Carte,
Max_Taille_Hash => Max_Carte / 4,
Cle => Carte_68.Get_Numero,
Image => Carte_68.Image);
Bdd_Lecteur : T_Bdd_Lecteur.Object;
Bdd_Lecteur_Zone : T_Bdd_Lecteur_Zone.Object;
Bdd_Acces : T_Bdd_Acces.Object;
Bdd_Plage : T_Bdd_Plage.Object;
Bdd_Carte_Groupe : T_Bdd_Carte_Groupe.Object;
Bdd_Carte : T_Bdd_Carte.Object;
Bdd_Lecteur_Iter : T_Bdd_Lecteur.Iterateur;
Bdd_Lecteur_Zone_Iter : T_Bdd_Lecteur_Zone.Iterateur;
Bdd_Acces_Iter : T_Bdd_Acces.Iterateur;
Bdd_Plage_Iter : T_Bdd_Plage.Iterateur;
Bdd_Carte_Groupe_Iter : T_Bdd_Carte_Groupe.Iterateur;
Bdd_Carte_Iter : T_Bdd_Carte.Iterateur;
procedure Add_Item (Item : Objet_Generic.Object) is
begin
case O_G.Get_Type_Objet (Item) is
when O_G.Lecteur =>
if not T_Bdd_Lecteur.Is_In (Bdd_Lecteur,
O_G.Get_Lecteur (Item)) then
T_Bdd_Lecteur.Add_Item (Bdd_Lecteur,
O_G.Get_Lecteur (Item));
end if;
when O_G.Plage =>
if not T_Bdd_Plage.Is_In (Bdd_Plage, O_G.Get_Plage (Item)) then
T_Bdd_Plage.Add_Item (Bdd_Plage, O_G.Get_Plage (Item));
end if;
when O_G.Acces =>
if not T_Bdd_Acces.Is_In (Bdd_Acces, O_G.Get_Acces (Item)) then
T_Bdd_Acces.Add_Item (Bdd_Acces, O_G.Get_Acces (Item));
end if;
when O_G.Carte =>
if not T_Bdd_Carte.Is_In (Bdd_Carte, O_G.Get_Carte (Item)) then
T_Bdd_Carte.Add_Item (Bdd_Carte, O_G.Get_Carte (Item));
end if;
when O_G.Lecteur_Zone =>
if not T_Bdd_Lecteur_Zone.Is_In
(Bdd_Lecteur_Zone, O_G.Get_Lecteur_Zone (Item)) then
T_Bdd_Lecteur_Zone.Add_Item (Bdd_Lecteur_Zone,
O_G.Get_Lecteur_Zone (Item));
end if;
when O_G.Carte_Groupe =>
if not T_Bdd_Carte_Groupe.Is_In
(Bdd_Carte_Groupe, O_G.Get_Carte_Groupe (Item)) then
T_Bdd_Carte_Groupe.Add_Item (Bdd_Carte_Groupe,
O_G.Get_Carte_Groupe (Item));
end if;
when others =>
raise Bdd_Error;
end case;
end Add_Item;
procedure Mod_Item (Item, Par : Objet_Generic.Object) is
begin
if O_G.T_Type_Objet'Pos (O_G.Get_Type_Objet (Item)) =
O_G.T_Type_Objet'Pos (O_G.Get_Type_Objet (Par)) then
case O_G.Get_Type_Objet (Item) is
when O_G.Lecteur =>
if T_Bdd_Lecteur.Is_In (Bdd_Lecteur,
O_G.Get_Lecteur (Item)) then
T_Bdd_Lecteur.Mod_Item (Bdd_Lecteur,
I => O_G.Get_Lecteur (Item),
Par => O_G.Get_Lecteur (Par));
end if;
when O_G.Plage =>
if T_Bdd_Plage.Is_In (Bdd_Plage, O_G.Get_Plage (Item)) then
T_Bdd_Plage.Mod_Item (Bdd_Plage,
I => O_G.Get_Plage (Item),
Par => O_G.Get_Plage (Par));
end if;
when O_G.Acces =>
if T_Bdd_Acces.Is_In (Bdd_Acces, O_G.Get_Acces (Item)) then
T_Bdd_Acces.Mod_Item (Bdd_Acces,
I => O_G.Get_Acces (Item),
Par => O_G.Get_Acces (Par));
end if;
when O_G.Carte =>
if T_Bdd_Carte.Is_In (Bdd_Carte, O_G.Get_Carte (Item)) then
T_Bdd_Carte.Mod_Item (Bdd_Carte,
I => O_G.Get_Carte (Item),
Par => O_G.Get_Carte (Par));
end if;
when O_G.Lecteur_Zone =>
if T_Bdd_Lecteur_Zone.Is_In
(Bdd_Lecteur_Zone, O_G.Get_Lecteur_Zone (Item)) then
T_Bdd_Lecteur_Zone.Mod_Item
(Bdd_Lecteur_Zone,
I => O_G.Get_Lecteur_Zone (Item),
Par => O_G.Get_Lecteur_Zone (Par));
end if;
when O_G.Carte_Groupe =>
if T_Bdd_Carte_Groupe.Is_In
(Bdd_Carte_Groupe, O_G.Get_Carte_Groupe (Item)) then
T_Bdd_Carte_Groupe.Mod_Item
(Bdd_Carte_Groupe,
I => O_G.Get_Carte_Groupe (Item),
Par => O_G.Get_Carte_Groupe (Par));
end if;
when others =>
raise Bdd_Error;
end case;
else
raise Bdd_Error;
end if;
end Mod_Item;
procedure Rem_Item (Item : Objet_Generic.Object) is
begin
case O_G.Get_Type_Objet (Item) is
when O_G.Lecteur =>
if T_Bdd_Lecteur.Is_In (Bdd_Lecteur,
O_G.Get_Lecteur (Item)) then
T_Bdd_Lecteur.Rem_Item (Bdd_Lecteur,
O_G.Get_Lecteur (Item));
end if;
when O_G.Plage =>
if T_Bdd_Plage.Is_In (Bdd_Plage, O_G.Get_Plage (Item)) then
T_Bdd_Plage.Rem_Item (Bdd_Plage, O_G.Get_Plage (Item));
end if;
when O_G.Acces =>
if T_Bdd_Acces.Is_In (Bdd_Acces, O_G.Get_Acces (Item)) then
T_Bdd_Acces.Rem_Item (Bdd_Acces, O_G.Get_Acces (Item));
end if;
when O_G.Carte =>
if T_Bdd_Carte.Is_In (Bdd_Carte, O_G.Get_Carte (Item)) then
T_Bdd_Carte.Rem_Item (Bdd_Carte, O_G.Get_Carte (Item));
end if;
when O_G.Lecteur_Zone =>
if T_Bdd_Lecteur_Zone.Is_In (Bdd_Lecteur_Zone,
O_G.Get_Lecteur_Zone (Item)) then
T_Bdd_Lecteur_Zone.Rem_Item (Bdd_Lecteur_Zone,
O_G.Get_Lecteur_Zone (Item));
end if;
when O_G.Carte_Groupe =>
if T_Bdd_Carte_Groupe.Is_In (Bdd_Carte_Groupe,
O_G.Get_Carte_Groupe (Item)) then
T_Bdd_Carte_Groupe.Rem_Item (Bdd_Carte_Groupe,
O_G.Get_Carte_Groupe (Item));
end if;
when others =>
raise Bdd_Error;
end case;
end Rem_Item;
procedure First_Item (Type_Objet : Objet_Generic.T_Type_Objet) is
begin
case Type_Objet is
when O_G.Lecteur =>
Bdd_Lecteur_Iter := T_Bdd_Lecteur.First_Item (Bdd_Lecteur);
when O_G.Plage =>
Bdd_Plage_Iter := T_Bdd_Plage.First_Item (Bdd_Plage);
when O_G.Acces =>
Bdd_Acces_Iter := T_Bdd_Acces.First_Item (Bdd_Acces);
when O_G.Carte =>
Bdd_Carte_Iter := T_Bdd_Carte.First_Item (Bdd_Carte);
when O_G.Lecteur_Zone =>
Bdd_Lecteur_Zone_Iter :=
T_Bdd_Lecteur_Zone.First_Item (Bdd_Lecteur_Zone);
when O_G.Carte_Groupe =>
Bdd_Carte_Groupe_Iter :=
T_Bdd_Carte_Groupe.First_Item (Bdd_Carte_Groupe);
when others =>
raise Bdd_Error;
end case;
end First_Item;
procedure First_Item
(Type_Objet : Objet_Generic.T_Type_Objet; Cle : Natural) is
begin
case Type_Objet is
when O_G.Lecteur =>
Bdd_Lecteur_Iter := T_Bdd_Lecteur.First_Item (Bdd_Lecteur, Cle);
when O_G.Plage =>
Bdd_Plage_Iter := T_Bdd_Plage.First_Item (Bdd_Plage, Cle);
when O_G.Acces =>
Bdd_Acces_Iter := T_Bdd_Acces.First_Item (Bdd_Acces, Cle);
when O_G.Carte =>
Bdd_Carte_Iter := T_Bdd_Carte.First_Item (Bdd_Carte, Cle);
when O_G.Lecteur_Zone =>
Bdd_Lecteur_Zone_Iter :=
T_Bdd_Lecteur_Zone.First_Item (Bdd_Lecteur_Zone, Cle);
when O_G.Carte_Groupe =>
Bdd_Carte_Groupe_Iter :=
T_Bdd_Carte_Groupe.First_Item (Bdd_Carte_Groupe, Cle);
when others =>
raise Bdd_Error;
end case;
end First_Item;
procedure Next_Item (Type_Objet : Objet_Generic.T_Type_Objet) is
begin
case Type_Objet is
when O_G.Lecteur =>
T_Bdd_Lecteur.Next_Item (Bdd_Lecteur_Iter, Bdd_Lecteur);
when O_G.Plage =>
T_Bdd_Plage.Next_Item (Bdd_Plage_Iter, Bdd_Plage);
when O_G.Acces =>
T_Bdd_Acces.Next_Item (Bdd_Acces_Iter, Bdd_Acces);
when O_G.Carte =>
T_Bdd_Carte.Next_Item (Bdd_Carte_Iter, Bdd_Carte);
when O_G.Lecteur_Zone =>
T_Bdd_Lecteur_Zone.Next_Item
(Bdd_Lecteur_Zone_Iter, Bdd_Lecteur_Zone);
when O_G.Carte_Groupe =>
T_Bdd_Carte_Groupe.Next_Item
(Bdd_Carte_Groupe_Iter, Bdd_Carte_Groupe);
when others =>
raise Bdd_Error;
end case;
end Next_Item;
function Current_Item (Type_Objet : Objet_Generic.T_Type_Objet)
return Objet_Generic.Object is
O : Objet_Generic.Object;
begin
case Type_Objet is
when O_G.Lecteur =>
O_G.Create (O, T_Bdd_Lecteur.Current_Item
(Bdd_Lecteur_Iter, Bdd_Lecteur));
when O_G.Plage =>
O_G.Create (O, T_Bdd_Plage.Current_Item
(Bdd_Plage_Iter, Bdd_Plage));
when O_G.Acces =>
O_G.Create (O, T_Bdd_Acces.Current_Item
(Bdd_Acces_Iter, Bdd_Acces));
when O_G.Carte =>
O_G.Create (O, T_Bdd_Carte.Current_Item
(Bdd_Carte_Iter, Bdd_Carte));
when O_G.Lecteur_Zone =>
O_G.Create (O, T_Bdd_Lecteur_Zone.Current_Item
(Bdd_Lecteur_Zone_Iter, Bdd_Lecteur_Zone));
when O_G.Carte_Groupe =>
O_G.Create (O, T_Bdd_Carte_Groupe.Current_Item
(Bdd_Carte_Groupe_Iter, Bdd_Carte_Groupe));
when others =>
raise Bdd_Error;
end case;
return O;
end Current_Item;
function End_Iter
(Type_Objet : Objet_Generic.T_Type_Objet) return Boolean is
begin
case Type_Objet is
when O_G.Lecteur =>
return T_Bdd_Lecteur.End_Of_Iter (Bdd_Lecteur_Iter);
when O_G.Plage =>
return T_Bdd_Plage.End_Of_Iter (Bdd_Plage_Iter);
when O_G.Acces =>
return T_Bdd_Acces.End_Of_Iter (Bdd_Acces_Iter);
when O_G.Carte =>
return T_Bdd_Carte.End_Of_Iter (Bdd_Carte_Iter);
when O_G.Lecteur_Zone =>
return T_Bdd_Lecteur_Zone.End_Of_Iter (Bdd_Lecteur_Zone_Iter);
when O_G.Carte_Groupe =>
return T_Bdd_Carte_Groupe.End_Of_Iter (Bdd_Carte_Groupe_Iter);
when others =>
raise Bdd_Error;
end case;
end End_Iter;
begin
T_Bdd_Lecteur.Initialise (Bdd_Lecteur);
T_Bdd_Lecteur_Zone.Initialise (Bdd_Lecteur_Zone);
T_Bdd_Acces.Initialise (Bdd_Acces);
T_Bdd_Plage.Initialise (Bdd_Plage);
T_Bdd_Carte_Groupe.Initialise (Bdd_Carte_Groupe);
T_Bdd_Carte.Initialise (Bdd_Carte);
end Bdd;
nblk1=10
nid=0
hdr6=20
[0x00] rec0=18 rec1=00 rec2=01 rec3=04c
[0x01] rec0=14 rec1=00 rec2=03 rec3=018
[0x02] rec0=17 rec1=00 rec2=02 rec3=00a
[0x03] rec0=13 rec1=00 rec2=0c rec3=040
[0x04] rec0=17 rec1=00 rec2=0f rec3=008
[0x05] rec0=11 rec1=00 rec2=07 rec3=00a
[0x06] rec0=11 rec1=00 rec2=0b rec3=020
[0x07] rec0=19 rec1=00 rec2=06 rec3=05c
[0x08] rec0=12 rec1=00 rec2=0d rec3=08c
[0x09] rec0=17 rec1=00 rec2=05 rec3=05e
[0x0a] rec0=09 rec1=00 rec2=10 rec3=016
[0x0b] rec0=17 rec1=00 rec2=04 rec3=018
[0x0c] rec0=19 rec1=00 rec2=08 rec3=064
[0x0d] rec0=15 rec1=00 rec2=0e rec3=004
[0x0e] rec0=17 rec1=00 rec2=0a rec3=04a
[0x0f] rec0=10 rec1=00 rec2=09 rec3=000
tail 0x2154b284a87995af48042 0x42a00088462060003