DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦36a4d186a⟧ Ada Source

    Length: 5120 (0x1400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, procedure Oms_Test, seg_027c68, seg_027d03

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Text_Io;
with Object_Management_System;
with Directory;
procedure Oms_Test is
    package Oms renames Object_Management_System;

    Path : constant String := "/home/aconit/projects/umps/directory/test";
    Lib_Obj, Tmp_Obj, Enclos_Obj : Oms.Library_Object;
    Tmp_File : Directory.Object;
    Iter : Oms.Iterator;
    File_Iter : Directory.Iterator;
    Item : Character;
begin
    Lib_Obj := Oms.Any_Object.Make_Library_Object
                  (The_Name => Path, The_Subclass => Oms.Library_Subclass);
    Iter := Oms.Library.Children (The_Library => Lib_Obj);
    Text_Io.Put_Line ("La vue UNIX du repertoire " & Path & " : ");
    File_Iter := Oms.Unix_View.Get_Iterator_On_Files;
    while not Directory.Done (File_Iter) loop
        Tmp_File := Directory.Value (File_Iter);
        Text_Io.Put_Line (Oms.Unix_View.Image (The_Object => Tmp_File));
        Directory.Next (File_Iter);
    end loop;
    Text_Io.New_Line;
    Text_Io.Put_Line ("La vue OBJECT du repertoire " & Path & " : ");
    Oms.Reset (Iter);
    while not Oms.Done (Iter) loop
        Tmp_Obj := Oms.Value (Iter);
        Text_Io.Put_Line (Oms.Any_Object.Image (The_Object => Tmp_Obj));
        Oms.Next (Iter);
    end loop;
    Text_Io.New_Line;

    Text_Io.Put_Line
       ("Recherche de l'object correspondant a la derniere ligne de la vue ci_dessus :");

    declare
        Str : constant String := Oms.Any_Object.Image (The_Object => Tmp_Obj);
    begin
        Tmp_Obj := Oms.Any_Object.Value (Str);
        Text_Io.Put_Line (Oms.Any_Object.Image (The_Object => Tmp_Obj));
    end;

    File_Iter := Oms.Unix_View.Get_Iterator_On_Files;
    Directory.Next (File_Iter);
    Directory.Next (File_Iter);
    Tmp_File := Directory.Value (File_Iter);
    Text_Io.New_Line;
    Text_Io.Put_Line
       ("Le fichier correspondant a la troixieme ligne de la vue UNIX ci dessus est :");
    Text_Io.Put_Line (Oms.Unix_View.Image
                         (Oms.Unix_View.Value
                             (Oms.Unix_View.Image (Tmp_File))));

    Enclos_Obj := Oms.Any_Object.Enclosing_Library (The_Object => Tmp_Obj);
    Text_Io.New_Line;
    Text_Io.Put_Line ("Le repertoire parent de la vue ci_dessus vaut : ");
    Text_Io.Put_Line (Oms.Any_Object.Image (The_Object => Enclos_Obj));

    Text_Io.New_Line;
    Text_Io.Put ("Appuyer sur une touche pour voir son contenu...");
    Text_Io.Get (Item);
    Text_Io.New_Line;
    Iter := Oms.Library.Children (The_Library => Enclos_Obj);
    while not Oms.Done (Iter) loop
        Tmp_Obj := Oms.Value (Iter);
        Text_Io.Put_Line (Oms.Any_Object.Image (The_Object => Tmp_Obj));
        Oms.Next (Iter);
    end loop;


end Oms_Test;

pragma Main;

E3 Meta Data

    nblk1=4
    nid=0
    hdr6=8
        [0x00] rec0=1a rec1=00 rec2=01 rec3=042
        [0x01] rec0=00 rec1=00 rec2=04 rec3=030
        [0x02] rec0=1b rec1=00 rec2=02 rec3=052
        [0x03] rec0=17 rec1=00 rec2=03 rec3=000
    tail 0x21721d4b283ad38cbb0b5 0x42a00088462060003