|
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: 14336 (0x3800) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body General_Data_Base, seg_057ec7, seg_05826f
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
package body General_Data_Base is use Methode; use Filter; use Spy; use Spy_List; use Class; procedure Create_General_Data_Base (The_Data_Base : out T_General_Data_Base) is begin Initialize (The_Data_Base.One_Method_List); Initialize (The_Data_Base.One_Agent_List); Create_Agent_Nb_Generator (The_Data_Base.One_Agent_Nb_Generator); end Create_General_Data_Base; procedure Registration (The_Data_Base : in out T_General_Data_Base; The_Object : in Object; The_Agent_Nb : in out Agent_Nb.T_Agent_Nb; The_Class : in Var_String.V_String) is One_Agent : Agent.T_Agent; The_Method_List_Iter : Method_Set.Iterator; One_Method_Name : constant String := " "; begin Get_Agent_Nb (The_Object, The_Data_Base.One_Agent_Nb_Generator, The_Agent_Nb); Agent.Create_Agent (One_Agent); Agent.Init_Agent (One_Agent, The_Agent_Nb, Value (The_Class), Value_Method_Name (Var_String.Value (One_Method_Name))); if not (Agent_Set.Is_Member (The_Data_Base.One_Agent_List, One_Agent)) then Add (The_Data_Base.One_Agent_List, One_Agent); end if; end Registration; procedure Unregistration (The_Data_Base : in out T_General_Data_Base; The_Agent_Nb : in Agent_Nb.T_Agent_Nb) is begin Delete_One_Agent (The_Agent_Nb, The_Data_Base.One_Agent_Nb_Generator); end Unregistration; procedure Publication (The_Data_Base : in out T_General_Data_Base; The_Agent_Nb : in Agent_Nb.T_Agent_Nb; The_Method_Name : in Var_String.V_String; The_Parameter : in Var_String.V_String) is One_Method : T_Method; The_Method_List_Iter : Method_Set.Iterator; begin Init (The_Method_List_Iter, The_Data_Base.One_Method_List); loop exit when Done (The_Method_List_Iter); exit when String_Utilities.Equal (Var_String.Image (Image_Method_Name (Methode.Consult_Name (Method_Set.Value (The_Method_List_Iter)))), Var_String.Image (Image_Method_Name (Value_Method_Name (The_Method_Name)))); Next (The_Method_List_Iter); end loop; Create_Method (One_Method); if not (Done (The_Method_List_Iter)) then One_Method := Method_Set.Value (The_Method_List_Iter); Methode.Add_Agent (One_Method, The_Agent_Nb); Method_Set.Delete (The_Data_Base.One_Method_List, Method_Set.Value (The_Method_List_Iter)); Method_Set.Add (The_Data_Base.One_Method_List, One_Method); else One_Method := Init_Method (One_Method, Value_Method_Name (The_Method_Name), Value_Parameter (The_Parameter), The_Agent_Nb); Add (The_Data_Base.One_Method_List, One_Method); end if; end Publication; procedure Unpublication (The_Data_Base : in out T_General_Data_Base; The_Agent_Nb : in Agent_Nb.T_Agent_Nb; The_Method_Name : in Var_String.V_String) is One_Method : T_Method; One_Method_Name : T_Method_Name; One_Agent : Agent.T_Agent; One_Agent_Nb : Agent_Nb.T_Agent_Nb; The_Method_List_Iter : Method_Set.Iterator; The_Agent_List_Iter : Agent_Set.Iterator; begin Init (The_Agent_List_Iter, The_Data_Base.One_Agent_List); Init (The_Method_List_Iter, The_Data_Base.One_Method_List); loop exit when Done (The_Agent_List_Iter); Agent.Consult_Agent_Nb (Value (The_Agent_List_Iter), One_Agent_Nb); exit when Agent_Nb.Is_Equal (One_Agent_Nb, The_Agent_Nb); Next (The_Agent_List_Iter); end loop; if not (Done (The_Agent_List_Iter)) then One_Agent := Value (The_Agent_List_Iter); Agent.Remove_Method (Value_Method_Name (The_Method_Name), One_Agent); Delete (The_Data_Base.One_Agent_List, Value (The_Agent_List_Iter)); Add (The_Data_Base.One_Agent_List, One_Agent); end if; loop exit when Done (The_Method_List_Iter); -- exit when Consult_Name (Value (The_Method_List_Iter)) = -- Value_Method_Name (TheMethod_Name); exit when String_Utilities.Equal (Var_String.Image (Image_Method_Name (Methode.Consult_Name (Method_Set.Value (The_Method_List_Iter)))), Var_String.Image (Image_Method_Name (Value_Method_Name (The_Method_Name)))); Next (The_Agent_List_Iter); end loop; if not (Done (The_Method_List_Iter)) then One_Method := Value (The_Method_List_Iter); Delete_Agent (One_Method, The_Agent_Nb); Delete (The_Data_Base.One_Method_List, Value (The_Method_List_Iter)); Add (The_Data_Base.One_Method_List, One_Method); end if; end Unpublication; procedure Request (The_Data_Base : in out T_General_Data_Base; The_Method : in Var_String.V_String; The_Agent_Nb_Set : out Agent_Nb_Set.Set; The_Parameter : out Var_String.V_String; Request_Result : out Boolean) is The_Method_List_Iter : Method_Set.Iterator; One_Agent_Nb_Set : Agent_Nb_Set.Set; Nothing : constant String := " "; begin Init (The_Method_List_Iter, The_Data_Base.One_Method_List); loop exit when Done (The_Method_List_Iter); exit when String_Utilities.Equal (Var_String.Image (Image_Method_Name (Methode.Consult_Name (Method_Set.Value (The_Method_List_Iter)))), Var_String.Image (Image_Method_Name (Value_Method_Name (The_Method)))); Next (The_Method_List_Iter); end loop; if not (Done (The_Method_List_Iter)) then Request_Result := True; The_Parameter := Image_Parameter (Consult_Parameter (Value (The_Method_List_Iter))); The_Agent_Nb_Set := Consult_Agent_Set (Value (The_Method_List_Iter)); else --give back an empty agent nb set; Agent_Nb_Set.Initialize (One_Agent_Nb_Set); The_Agent_Nb_Set := One_Agent_Nb_Set; --give back an empty parameter field The_Parameter := Var_String.Value (Nothing); Request_Result := False; end if; end Request; procedure Get_Com_Chanel (The_Data_Base : in out T_General_Data_Base; The_Agent_Nb : in Agent_Nb.T_Agent_Nb; The_Object_Result : out Com_Chanel.Object) is begin Agent_Nb_Generator.Get_Object (The_Agent_Nb, The_Data_Base.One_Agent_Nb_Generator, The_Object_Result); end Get_Com_Chanel; end General_Data_Base;
nblk1=d nid=c hdr6=16 [0x00] rec0=1e rec1=00 rec2=01 rec3=000 [0x01] rec0=17 rec1=00 rec2=0a rec3=07c [0x02] rec0=1a rec1=00 rec2=06 rec3=048 [0x03] rec0=16 rec1=00 rec2=04 rec3=022 [0x04] rec0=14 rec1=00 rec2=02 rec3=04e [0x05] rec0=00 rec1=00 rec2=0b rec3=002 [0x06] rec0=17 rec1=00 rec2=09 rec3=070 [0x07] rec0=00 rec1=00 rec2=07 rec3=014 [0x08] rec0=15 rec1=00 rec2=03 rec3=05c [0x09] rec0=16 rec1=00 rec2=0d rec3=024 [0x0a] rec0=09 rec1=00 rec2=05 rec3=000 [0x0b] rec0=f1 rec1=80 rec2=00 rec3=000 [0x0c] rec0=24 rec1=00 rec2=17 rec3=2f6 tail 0x217645fb887c78867ecd2 0x42a00088462060003 Free Block Chain: 0xc: 0000 00 08 00 0e 80 0b 5f 41 67 65 6e 74 5f 4e 62 29 ┆ _Agent_Nb)┆ 0x8: 0000 00 00 00 a7 80 07 5f 4f 62 6a 65 63 74 07 00 3f ┆ _Object ?┆