DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦30c5e7702⟧ TextFile

    Length: 4473 (0x1179)
    Types: TextFile
    Names: »B«

Derivation

└─⟦149519bd4⟧ Bits:30000546 8mm tape, Rational 1000, !projects 93-07-13
    └─ ⟦124ff5788⟧ »DATA« 
        └─⟦this⟧ 
└─⟦a7d1ea751⟧ Bits:30000550 8mm tape, Rational 1000, !users!projects 94_04_11
    └─ ⟦129cab021⟧ »DATA« 
        └─⟦this⟧ 
└─⟦f64eaa120⟧ Bits:30000752 8mm tape, Rational 1000, !projects 93 02 16
    └─ ⟦6f12a12be⟧ »DATA« 
        └─⟦this⟧ 
└─⟦2f6cfab89⟧ Bits:30000547 8mm tape, Rational 1000, !projects 94-01-04
    └─ ⟦d65440be7⟧ »DATA« 
        └─⟦this⟧ 

TextFile

with Umps_Defs;
with Notice;
with Set;
with Slot;  
with Text_Io;

package body Package_Notice is

    procedure Test_Creation is
        Note  : Notice.Element;
        Param : Set.Object := Set.Null_Object;
        function Note_Image is new Notice.Image
                                      (Separator => Umps_Defs.Separator);
        use Text_Io;
    begin
        Put_Line ("-- Creation d'une Notice :");
        Put_Line ("-- NOTICE : 2, 4, File, Open, 1, Inode, INTEGER, 12.");
        Notice.Add_Sender (2, Note);
        Notice.Add_Handler (4, Note);
        Notice.Add_Class ("File", Note);
        Notice.Add_Id ("Open", Note);
        Param := Set.Add (Slot.Make ("Inode", 12), Param);
        Notice.Add_Params (Param, Note);
        Put_Line ("ENTEXTE : " & Note_Image (Note));
        Set.Free (Param);  
        New_Line;
        Notice.Display (Note);

        New_Line;
        Text_Io.Put_Line ("-- Notice");
        Put_Line (Umps_Defs.Behavior_Number'Image (Notice.Sender (Note)));
        Put_Line (Umps_Defs.Behavior_Number'Image (Notice.Handler (Note)));
        Put_Line (Notice.Class (Note));
        Put_Line (Notice.Id (Note));

    end Test_Creation;


    procedure Test_Comparaison is
        Note  : Notice.Element;
        Note2 : Notice.Element;
        Param : Set.Object := Set.Null_Object;
        function Is_Name_Equal  is new Notice.Is_Equal (Field => Slot.On_Name);
        function Is_Kind_Equal  is new Notice.Is_Equal (Field => Slot.On_Kind);
        function Is_Value_Equal is new Notice.Is_Equal (Field => Slot.On_Value);
        function Note_Image     is new Notice.Image
                                          (Separator => Umps_Defs.Separator);
        use Text_Io;
    begin
        Put_Line ("-- Creation d'une Notice :");
        Put_Line
           ("-- Notice : 2, 3, File, Open, 3, Inode, integer, 12, Name, string, toto.c, Time, integer, 13");
        Notice.Add_Sender (2, Note);
        Notice.Add_Handler (3, Note);
        Notice.Add_Class ("File", Note);
        Notice.Add_Id ("Open", Note);
        Param :=
           Set.Add (Slot.Make (The_Variable => "Name", With_Value => "toto.c"),
                    Param);
        Param :=
           Set.Add
              (Slot.Make (The_Variable => "Inode", With_Value => 12), Param);
        Param :=
           Set.Add
              (Slot.Make (The_Variable => "Time", With_Value => 13), Param);
        Notice.Add_Params (Param, Note);
        Put_Line ("ENTEXTE : " & Note_Image (Note));
        Set.Free (Param);
        New_Line;

        Put_Line ("-- Copie de la Notice");
        Note2 := Note;
        Put_Line ("-- Test egalite sur noms (TRUE)" &
                  Boolean'Image (Is_Name_Equal (Note, Note2)));
        Put_Line ("-- Test egalite sur kinds (TRUE)" &
                  Boolean'Image (Is_Kind_Equal (Note, Note2)));
        Put_Line ("-- Test egalite sur values (TRUE)" &
                  Boolean'Image (Is_Value_Equal (Note, Note2)));

        Put_Line ("-- Creation d'une 2eme requete avec une valeur vide");
        Notice.Add_Sender (2, Note2);
        Notice.Add_Handler (3, Note2);
        Notice.Add_Class ("File", Note2);
        Notice.Add_Id ("Open", Note2);
        Param :=
           Set.Add (Slot.Make (The_Variable => "Name", With_Value => "toto.c"),
                    Param);
        Param :=
           Set.Add
              (Slot.Make (The_Variable => "Inode", With_Value => 12), Param);
        Param :=
           Set.Add
              (Slot.Make (The_Variable => "Time", With_Kind => Slot.Integer),
               Param);
        Notice.Add_Params (Param, Note2);
        Put_Line ("ENTEXTE : " & Note_Image (Note2));
        Set.Free (Param);
        Put_Line ("-- Test egalite sur noms (TRUE)" &
                  Boolean'Image (Is_Name_Equal (Note, Note2)));
        Put_Line ("-- Test egalite sur kinds (TRUE)" &
                  Boolean'Image (Is_Kind_Equal (Note, Note2)));
        Put_Line ("-- Test egalite sur values (FALSE)" &
                  Boolean'Image (Is_Value_Equal (Note, Note2)));
        New_Line;  
    end Test_Comparaison;


    procedure Test is
        use Text_Io;
    begin  
        New_Line;
        Put_Line ("---> Test package Notice");
        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_Notice;