|
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: 8192 (0x2000) Types: Ada Source Notes: 03_class, FILE, R1k_Segment, e3_tag, package body Package_Request, seg_026cf5
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000 └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« └─⟦this⟧
with Umps_Defs; with Request; with Set; with Slot; with Text_Io; package body Package_Request is procedure Test_Creation is Rq : Request.Element; Param : Set.Object := Set.Null_Object; function Rq_Image is new Request.Image (Separator => Umps_Defs.Separator); use Text_Io; begin Put_Line ("-- Creation d'une Requete :"); Put_Line ("-- Requete : 2, 3, Open, 2, File, string, toto.c, Rights, string, rw."); Request.Add_Sender (2, Rq); Request.Add_Handler (3, Rq); Request.Add_Method ("Open", Rq); Param := Set.Add (Slot.Make (The_Variable => "Rights", With_Value => "rw"), Param); Param := Set.Add (Slot.Make (The_Variable => "File", With_Value => "toto.c"), Param); Request.Add_Params (Param, Rq); Put_Line ("ENTEXTE : " & Rq_Image (Rq)); Set.Free (Param); New_Line; Request.Display (Rq); New_Line; Put_Line ("-- Affichage des differents champs :"); Put_Line ("-- Requete"); Put_Line (Umps_Defs.Behavior_Number'Image (Request.Sender (Rq))); Put_Line (Umps_Defs.Behavior_Number'Image (Request.Handler (Rq))); Put_Line (Request.Method (Rq)); end Test_Creation; procedure Test_Comparaison is Rq : Request.Element; Rq2 : Request.Element; Param : Set.Object := Set.Null_Object; function Is_Name_Equal is new Request.Is_Equal (Field => Slot.On_Name); function Is_Kind_Equal is new Request.Is_Equal (Field => Slot.On_Kind); function Is_Value_Equal is new Request.Is_Equal (Field => Slot.On_Value); function Rq_Image is new Request.Image (Separator => Umps_Defs.Separator); use Text_Io; begin Put_Line ("-- Creation d'une Requete :"); Put_Line ("-- Requete : 2, 3, Date, 3, Day, integer, 5, Mounth, integer, 4, Year, integer, 1993"); Request.Add_Sender (2, Rq); Request.Add_Handler (3, Rq); Request.Add_Method ("Date", Rq); Param := Set.Add (Slot.Make (The_Variable => "Mounth", With_Value => 4), Param); Param := Set.Add (Slot.Make (The_Variable => "Day", With_Value => 5), Param); Param := Set.Add (Slot.Make (The_Variable => "Year", With_Value => 1993), Param); Request.Add_Params (Param, Rq); Put_Line ("ENTEXTE : " & Rq_Image (Rq)); Set.Free (Param); New_Line; Put_Line ("-- Copie de la requete"); Rq2 := Rq; Put_Line ("-- Test egalite sur noms (TRUE)" & Boolean'Image (Is_Name_Equal (Rq, Rq2))); Put_Line ("-- Test egalite sur kinds (TRUE)" & Boolean'Image (Is_Kind_Equal (Rq, Rq2))); Put_Line ("-- Test egalite sur values (TRUE)" & Boolean'Image (Is_Value_Equal (Rq, Rq2))); Put_Line ("-- Creation d'une 2eme requete avec une valeur vide"); Request.Add_Sender (2, Rq2); Request.Add_Handler (3, Rq2); Request.Add_Method ("Date", Rq2); Param := Set.Add (Slot.Make (The_Variable => "Mounth", With_Value => 4), Param); Param := Set.Add (Slot.Make (The_Variable => "Day", With_Value => 5), Param); Param := Set.Add (Slot.Make (The_Variable => "Year", With_Kind => Slot.Integer), Param); Request.Add_Params (Param, Rq2); Put_Line ("ENTEXTE : " & Rq_Image (Rq2)); Set.Free (Param); Put_Line ("-- Test egalite sur noms (TRUE)" & Boolean'Image (Is_Name_Equal (Rq, Rq2))); Put_Line ("-- Test egalite sur kinds (TRUE)" & Boolean'Image (Is_Kind_Equal (Rq, Rq2))); Put_Line ("-- Test egalite sur values (FALSE)" & Boolean'Image (Is_Value_Equal (Rq, Rq2))); New_Line; end Test_Comparaison; procedure Test is use Text_Io; begin New_Line; Put_Line ("---> Test Package Request"); New_Line; Put_Line ("-- Test de creation et affichage"); Test_Creation; New_Line; Put_Line ("-- Test de comparaison"); Test_Comparaison; New_Line; end Test; end Package_Request;
nblk1=7 nid=4 hdr6=a [0x00] rec0=1e rec1=00 rec2=01 rec3=05e [0x01] rec0=19 rec1=00 rec2=07 rec3=012 [0x02] rec0=17 rec1=00 rec2=02 rec3=056 [0x03] rec0=17 rec1=00 rec2=06 rec3=004 [0x04] rec0=1b rec1=00 rec2=03 rec3=000 [0x05] rec0=1b rec1=00 rec2=05 rec3=001 [0x06] rec0=ce rec1=b4 rec2=00 rec3=011 tail 0x21520433a83aa67747bb9 0x42a00088462063c03 Free Block Chain: 0x4: 0000 00 05 02 ba 80 32 20 20 20 20 50 75 74 5f 4c 69 ┆ 2 Put_Li┆ 0x5: 0000 00 00 02 a5 80 1d 74 20 65 67 61 6c 69 74 65 20 ┆ t egalite ┆