Lisaac prototype interface

Section Header
+ name := ABSTRACT_ENTRY;
- comment := "Abstract Entry.";
Section Inherit
- parent_object:OBJECT :=
Section Public
Path.
+ path:STRING_CONSTANT;
+ name:STRING_CONSTANT;
+ link_count:INTEGER;
Date / Time.
+ access_time:TIME;
+ access_date:DATE;
+ update_time:TIME;
+ update_date:DATE;
type.
+ is_directory:BOOLEAN;
- is_file:BOOLEAN <-
- this:ENTRY <-
Size.
+ size:UINTEGER_32;
Open / Close
- is_open:BOOLEAN <-
- open:ENTRY <-
Return FILE or DIRECTORY, NULL:error.
- open_read_only:ENTRY <-
Return FILE or DIRECTORY, NULL:error.
- open_bmp:BMP_FILE <-
Return FILE or DIRECTORY, NULL:error.
- open_ai:AI_FILE <-
Return FILE or DIRECTORY, NULL:error.
- close:ENTRY <-
Manager.
- remove:BOOLEAN <-
Remove file or directory (WARNING: delete recursive)
- rename new_name:ABSTRACT_STRING :BOOLEAN <-
Section ENTRY
+ child:ENTRY;
- make_entry p:ABSTRACT_STRING :BOOLEAN <-
- make e:ENTRY :BOOLEAN <-
Redefine in DIRECTORY and FILE
- set_path n:ABSTRACT_STRING <-
- reduce_path st:STRING <-
Section Public
Alias Entry.
- alias:HASHED_DICTIONARY[ENTRY,ABSTRACT_STRING] :=
- get_entry p:ABSTRACT_STRING :ENTRY <-
- get_parent_path p:ABSTRACT_STRING in tmp:STRING <-
- get_parent_intern p:ABSTRACT_STRING :DIRECTORY <-
Physical implementation.
- physical_make:BOOLEAN <-
- physical_remove_directory:BOOLEAN <-
- physical_remove_file:BOOLEAN <-
- physical_rename old_path:ABSTRACT_STRING with new_path:ABSTRACT_STRING :BOOLEAN <-
Service routine
- string_tmp:STRING :=
- string_tmp2:STRING :=