|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T V
Length: 7465 (0x1d29)
Types: TextFile
Names: »V«
└─⟦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⟧
with Calendar;
package Directory is
type Object is private;
-- Objects in the directory system are accessed via Directory.Object
function Nil return Object;
function Is_Nil (The_Object : Object) return Boolean;
function Hash (The_Object : Object) return Integer;
function Same_Object (Left, Right : Object) return Boolean;
type Class_Enumeration is new Natural range 0 .. 63;
Unknown_Class : constant Class_Enumeration := 0;
Directory_Class : constant Class_Enumeration := 1;
File_Class : constant Class_Enumeration := 2;
Link_Class : constant Class_Enumeration := 3;
function Class (The_Object : Object) return Class_Enumeration;
function Equal (Class1, Class2 : Class_Enumeration) return Boolean;
function Image (The_Class : Class_Enumeration) return String;
function Value (S : String) return Class_Enumeration;
type Subclass is limited private;
function Nil return Subclass;
function Is_Nil (The_Subclass : Subclass) return Boolean;
function Unique (The_Subclass : Subclass) return Integer;
function Subclass_Of (The_Object : Object) return Subclass;
function Image (The_Subclass : Subclass) return String;
function Value (S : String) return Subclass;
function Class_Of (The_Subclass : Subclass) return Class_Enumeration;
function Same_Subclass (Left, Right : Subclass) return Boolean;
type Iterator is limited private;
procedure Next (Iter : in out Iterator);
function Done (Iter : Iterator) return Boolean;
function Value (Iter : Iterator) return Object;
procedure Reset (Iter : Iterator);
package Naming is
-- Provides mechanisms for manipulating and resolving names and for
-- establishing a context for name resolution.
type Status is (Ok, Ill_Formed_Name);
subtype String_Name is String;
-- Lexically and syntactically a Directory system string name.
subtype Simple_String_Name is String;
-- A single segment of a string name.
subtype Context is Object;
-- The Directory System Object that serves as the initial context
-- for name resolution. May be any Object.
procedure Set_Default_Context (The_Context : Naming.String_Name;
Status : out Naming.Status);
procedure Set_Default_Context
(The_Context : Naming.Context; Status : out Naming.Status);
-- Establishes the default naming context for the job.
function Default_Context return Naming.String_Name;
function Default_Context return Naming.Context;
-- Returns the default name resolution context for the job.
function Is_Well_Formed (A_Name : String_Name) return Boolean;
-- Tests whether a name is lexically and syntactically valid.
function Prefix (The_Name : String_Name) return String_Name;
-- Removes the last segment from a selected name and returns
-- the prefix.
-- Prefix ("A/B/C") => "A/B"
-- Prefix ("A") => ""
function Simple_Name (The_Name : String_Name) return Simple_String_Name;
-- Returns only the last segment of a selected name, without attributes
-- Simple_name ("A/B/C") => "C"
-- Simple_name ("A") => "A"
function Head (The_Name : String_Name) return Simple_String_Name;
-- Returns only the first segment of a selected name.
-- Head ("A/B/C") => "A"
-- Head ("A") => "A"
-- Head ("/A") => "/"
function Tail (The_Name : String_Name) return String_Name;
-- Removes the first segment from a selected name and returns the tail.
-- Tail ("A/B/C") => "B/C"
-- Tail ("A") => ""
function Extension (A_Name : String_Name) return String;
-- Returns the Extension at the end of the given string name.
-- If the simple name of the given string name has no attributes,
-- the null string is returned. The returned string starts with '.'.
function Full_Name (The_Object : Object) return Naming.String_Name;
-- Computes the fully qualified string name for the The_Object.
function Simple_Name (The_Object : Object) return Simple_String_Name;
-- Computes the simple name for the The_Object.
function Resolution
(Name : Naming.String_Name;
Context : Naming.Context := Default_Context) return Object;
-- Resolve name to a single Object. Wild cards may be used, but
-- the name must resolve to a unique Object.
function Resolution (Name : Naming.String_Name;
Context : Naming.Context := Default_Context)
return Iterator;
-- Resolves (ambiguous) Source name in the given context.
end Naming;
package Traversal is
-- Provides operations for traversing the Directory System
-- in a variety of ways.
function Root return Object;
-- Returns the (somewhat special) Object corresponding to the
-- root of the universe.
function Parent (The_Object : Object) return Object;
-- Returns the parent Object for The_Object.
function Child (The_Object : Object;
Child_Name : Naming.Simple_String_Name) return Object;
-- Retrieve the named subobject.
function Children (The_Object : Object;
Pattern : Naming.Simple_String_Name := "*";
Class : Class_Enumeration := Unknown_Class)
return Iterator;
-- Initializes the iteration over the children that match the
-- specified name pattern.
-- If a class is provided, only children of that class are returned.
end Traversal;
package Any_Object is
type Status is (Ok, Already_Existent_Object, Non_Existent_Object);
-- Operations to Create, Copy and Destroy Objects.
procedure Create (The_Object : out Object;
Object_Name : String;
Status : out Any_Object.Status);
procedure Copy (Source : Object;
Destination : in out Object;
Status : out Any_Object.Status);
procedure Delete (The_Object : Object; Status : out Any_Object.Status);
end Any_Object;
package Statistics is
subtype User is String;
function Time_Of_Last_Update (The_Object : Object) return Calendar.Time;
function Time_Of_Last_Read (The_Object : Object) return Calendar.Time;
function Time_Of_Creation (The_Object : Object) return Calendar.Time;
function Last_Updater (The_Object : Object) return User;
function Last_Reader (The_Object : Object) return User;
function Creator (The_Object : Object) return User;
function Object_Size (The_Object : Object) return Integer;
function Last_Edit_Time (The_Unit : Object) return Calendar.Time;
end Statistics;
private
type Object_Data;
type Object is access Object_Data;
type Subclass_Data;
type Subclass is access Subclass_Data;
type Iterator_Implementation;
type Iterator is access Iterator_Implementation;
end Directory;