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

⟦65476fc53⟧ TextFile

    Length: 4395 (0x112b)
    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 Set_Generic;
with String_Utilities;
with Directory_Implementation;
package body Directory is

    package Su renames String_Utilities;
    package Di renames Directory_Implementation;


    Set_Of_Objects : Object_Set.Set;

    Error_Message : Gs.Object;


    function Get_Error_Message return String is
    begin
        return Gs.Image (Error_Message);
    end Get_Error_Message;

    procedure Put_Error_Message (The_Message : in String := "") is
    begin
        if The_Message = "" then
            Gs.Create (Error_Message, Di.Get_Error_Message);
        else
            Gs.Create (Error_Message, The_Message);
        end if;
    end Put_Error_Message;


    function Nil return Object is
    begin
        return Object'(Name => Gs.Undefined_Object);
    end Nil;


    function Is_Nil (The_Object : Object) return Boolean is
    begin
        return Gs."=" (The_Object.Name, Gs.Undefined_Object);
    end Is_Nil;



    function Same_Object (Left, Right : Object) return Boolean is
    begin
        return Gs.Image (Left.Name) = Gs.Image (Right.Name);
    end Same_Object;

    function Class (The_Object : Object) return Class_Enumeration is
    begin
        if Di.Is_Directory (Path => Gs.Image (The_Object.Name)) then
            return Directory_Class;
        elsif Di.Is_File (Path => Gs.Image (The_Object.Name)) then
            return File_Class;
        elsif Di.Is_Symbolic_Link (Path => Gs.Image (The_Object.Name)) then
            return Link_Class;
        elsif Di.Is_Fifo (Path => Gs.Image (The_Object.Name)) then
            return Fifo_Class;
        elsif Di.Is_Socket (Path => Gs.Image (The_Object.Name)) then
            return Socket_Class;
        elsif Di.Is_Character_Special_File
                 (Path => Gs.Image (The_Object.Name)) then
            return Character_Special_Class;
        elsif Di.Is_Bloc_Special_File (Path => Gs.Image (The_Object.Name)) then
            return Bloc_Special_Class;
        elsif Di.Is_Multiplex_Character_Special_File
                 (Path => Gs.Image (The_Object.Name)) then
            return Multiplex_File_Class;
        end if;
    end Class;


    function Equal (Class1, Class2 : Class_Enumeration) return Boolean is
    begin
        return Class1 = Class2;
    end Equal;


    function Image (The_Class : Class_Enumeration) return String is
    begin
        case The_Class is
            when Unknown_Class =>
                return " ";
            when Directory_Class =>
                return "d";
            when File_Class =>
                return "-";
            when Fifo_Class =>
                return "f";
            when Socket_Class =>
                return "s";
            when Character_Special_Class =>
                return "c";
            when Bloc_Special_Class =>
                return "b";
            when Multiplex_File_Class =>
                return "m";
            when others =>
                return " ";
        end case;
    end Image;


    function Value (S : String) return Class_Enumeration is
    begin  
        if S = " " then
            return Unknown_Class;
        elsif S = "d" then
            return Directory_Class;
        elsif S = "-" then
            return File_Class;
        elsif S = "f" then
            return Fifo_Class;
        elsif S = "s" then
            return Socket_Class;
        elsif S = "c" then
            return Character_Special_Class;
        elsif S = "b" then
            return Bloc_Special_Class;
        elsif S = "m" then
            return Multiplex_File_Class;
        end if;
    end Value;


    procedure Next (Iter : in out Iterator) is
    begin  
        Object_Set.Next (Object_Set.Iterator (Iter));
    end Next;


    function Done (Iter : Iterator) return Boolean is
    begin  
        return Object_Set.Done (Object_Set.Iterator (Iter));
    end Done;


    function Value (Iter : Iterator) return Object is
    begin  
        return Object_Set.Value (Object_Set.Iterator (Iter));
    end Value;


    procedure Reset (Iter : in out Iterator) is
    begin  
        Object_Set.Init (Object_Set.Iterator (Iter), Set_Of_Objects);
    end Reset;



    package body Naming is separate;
    package body Traversal is separate;
    package body Any_Object is separate;
    package body Statistics is separate;

begin
    Naming.Set_Default_Context (The_Context => Di.Get_Home_Directory);
end Directory;