expanded class BASIC_DIRECTORY
Summary
Overview
features
  • directory_stream: POINTER
    This pointer memorize the current directory stream being scanned (used to compute is_connected).
  • current_entry: POINTER
    When is_connected, memorize the current entry in the current directory_stream.
State of Current basic directory stream:
Connect and disconnect:
  • connect_to (directory_path: STRING)
    Try to connect Current to some existing directory_path.
  • connect_with (some_path: STRING)
    Try to connect Current to some directory using some_path which may be either an existing directory path or some arbitrary file path name.
  • connect_to_current_working_directory
    Try to connect Current to the current working directory.
  • disconnect
    Do not forget to call this feature when you have finished with some previously opened directory stream.
Scanning:
  • last_entry: STRING
    Unique global buffer (once object) to get the last information computed by many routines of this class: read_entry, connect_with connect_to_current_working_directory, compute_parent_directory_of, ...
  • read_entry
    Read the next entry name and update last_entry and end_of_input accordingly.
File path handling tools:
Disk modification:
Miscellaneous:
directory_stream: POINTER
writable attribute
This pointer memorize the current directory stream being scanned (used to compute is_connected).
current_entry: POINTER
writable attribute
When is_connected, memorize the current entry in the current directory_stream.
is_connected: BOOLEAN
effective function
Is Current connected to some directory stream ?
end_of_input: BOOLEAN
effective function
Is end of input reached ?
connect_to (directory_path: STRING)
effective procedure
Try to connect Current to some existing directory_path.
connect_with (some_path: STRING)
effective procedure
Try to connect Current to some directory using some_path which may be either an existing directory path or some arbitrary file path name.
connect_to_current_working_directory
effective procedure
Try to connect Current to the current working directory.
disconnect
effective procedure
Do not forget to call this feature when you have finished with some previously opened directory stream.
last_entry: STRING
once function
Unique global buffer (once object) to get the last information computed by many routines of this class: read_entry, connect_with connect_to_current_working_directory, compute_parent_directory_of, ...
read_entry
effective procedure
Read the next entry name and update last_entry and end_of_input accordingly.
compute_parent_directory_of (some_path: STRING)
effective procedure
Using some_path (which may be either a file path or a directory path) tries to compute in the last_entry buffer the parent directory of some_path.
compute_subdirectory_with (parent_path: STRING, entry_name: STRING)
effective procedure
Try to compute in the last_entry buffer the new subdirectory path obtained when trying to concatenate smartly parent_path whith some entry_name.
compute_file_path_with (parent_path: STRING, file_name: STRING)
effective procedure
Try to compute in the last_entry buffer the new file path obtained when trying to concatenate smartly parent_path whith some file_name.
compute_absolute_file_path_with (path: STRING)
effective procedure
Try to compute an absolute path equivalent to path and store it in last_entry.
valid_path (path: STRING): BOOLEAN
effective function
Is the syntax of path valid for the system notation?
change_current_working_directory (directory_path: STRING)
effective procedure
Try to change the current working directory using some directory_path.
current_working_directory: STRING
effective function
The current working directory.
create_new_directory (directory_path: STRING): BOOLEAN
effective function
Try to create a new directory using the directory_path name.
remove_directory (directory_path: STRING): BOOLEAN
effective function
Try to remove directory directory_path which must be empty.
remove_files_of (directory_path: STRING)
effective procedure
Try to remove all files (not subdirectories) of directory specified by directory_path.
remove_recursively (directory_path: STRING): BOOLEAN
effective function
Try to remove all files and all subdirectories of directory specified by directory_path.
is_case_sensitive: BOOLEAN
effective function
system_notation: DIRECTORY_NOTATION
effective function
system_notation_buffer: REFERENCE[DIRECTORY_NOTATION]
once function
Unique common buffer to memorize the system path notation.
system_notation_detected: BOOLEAN
effective function
unix_notation: BOOLEAN
effective function
The Unix like file path notation looks like:
  /SmartEiffel/sys/system.se
windows_notation: BOOLEAN
effective function
The Windows like file path notation looks like:
  C:\SmartEiffel\sys\system.se
cygwin_notation: BOOLEAN
effective function
The Cygwin like file path notation looks like:
  //C/SmartEiffel/sys/system.se
amiga_notation: BOOLEAN
effective function
The Amiga file path notation looks like:
  DEV:SmartEiffel/sys/system.se
macintosh_notation: BOOLEAN
effective function
The Macintosh file path notation looks like:
  :SmartEiffel:sys:system.se
openvms_notation: BOOLEAN
effective function
The VMS file path notation looks like:
   DISK:[SmartEiffel.sys]system.se
The current working directory notation is:
   DISK:[]
The equivalent of Unix ..
set_notation_using (some_path: STRING)
effective procedure
Try to detect automatically the file system notation.
reset_notation_using (some_path: STRING)
effective procedure
Try to detect automatically the file system notation.
reset_notation
effective procedure
tmp_path: STRING
once function
directory_open (path_pointer: POINTER): POINTER
Try to open some existing directory using path.
directory_read_entry (dirstream: POINTER): POINTER
Read an return a new entry using the directory handle dirstream obtained with function basic_directory_open.
directory_get_entry_name (entry: POINTER): POINTER
Read an return a new entry using the directory handle dirstream obtained with function basic_directory_open.
directory_close (dirstream: POINTER): BOOLEAN
Try to close some opened dirstream directory.
directory_current_working_directory: POINTER
Try to get the current working directory path.
directory_chdir (destination: POINTER): BOOLEAN
Try to change the current working directory using destination.
directory_mkdir (directory_path: POINTER): BOOLEAN
Try to create a new directory using directory_path.
directory_rmdir (directory_path: POINTER): BOOLEAN
Try to remove directory_path.