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