[ Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters]

Arc de Triomphe clipart (2486 bytes)

Unix File/Directory Handling Cluster


Written by Friedrich Dominicus.

Version 0.2

fdh_0-2.tgz (27,594 bytes) - source code
Friedrich.Dominicus@inka.deFriedrich Dominicus (maintainer) mail address.


Prerequisites

You should have installed GOBO and for running the fsu_test_main class you had to install the formatter cluster Object Tools wrote for Eiffel and which can be found on www.eiffel.forum.org. It was adapted by me to run with any of the Eiffel-Compilers but Tower-Eiffel. Tower-Eiffel is not longer supported and Tower Eiffel did not agree to sell the sources or make them open source and I can't get a recent version, which I wouldn't buy even if it were available because of Towers attitude towards opening the source or selling it, so why should I care then.

You need one of the following compilers: ISE Eiffel (version > 3.3.7 should do the job) Halstenbach Eiffel (Version 3.0) SmallEiffel -0.78 (because just from there on defined for EIF_{INTEGER,CHARACTER, etc} are available in runtime/sys/base.h Visual Eiffel for Linux (v. 2.96beta), please check if cecil.h is included in your version. This is needed for interfacing Eiffel-C with Visual Eiffel.

The classes are just wrappers around C-POSIX calls so your platform better support POSIX;-) We will adapt the classes such that one can use them on Window Platforms too. But it should work at least for all Unices. Ports to other platforms are not planned at the moment. BTW it's not easy to get other Operating Systems like VMS etc which one need to do the port. But if someone finds the classes useful he/she may port it him/herself.

General Information

This is the first preliminary version of Eiffel compiler independent classes for directory and file-handling. At the moment it's just a very thin layer above POSIX-C calls, with some enhancments to make it more comfortable for Eiffel Programmers.

Development Environment

It was developed and tested on following platform:
machine: P II/300 MHz, 128 MB RAM, SCSI-HARD-DISK
operating system : Debian 2.0 (glib 2.0.7 based)
Eiffel-compilers:
C-Backend used: egcs-2.91.60

Documentation

Not very much available at the moment, just the short forms (generated with SmallEiffels short command and can be found in docs/html.

I mainly the information from Advanced Programming in the Unix Environment from Richard Stevens, which unfortunatly died too young (AFAIK just 48 years old) a month or so ago. If you found his book as good as I've found them you may search for what he's last will was and spend some money on it.

The chapter which was used for this classes is Number 4.

Some conventions used:

Features used with interfacing to/from C are prefixed with c_ Maybe this had to be changed because c_ is reserved for future use by some Posix library.

If there is a C type in special notation it will be reflected in the name even on the Eiffel-side (e.g c_dir_ptr). This is somewhat like hungarian notation but because I'm using EIF_POINTER all around, which is in fact just a void*-pointer, so generic as can be, this should remind me of handing over the right parameter and insert the appropriate conversions.

char* should be encoded as str. I hope I've done it in all cases to be consistent.

Licening

This software is licened under the Eiffel Forum Freeware Licence. To get a version have a look at www.eiffel-forum.org.

Todo:

see TODO

Questions/Comments/Critique

maintained by:
Friedrich Dominicus

[ Home Page ] [ Eiffel Archive ] [ Eiffel Classes and Clusters]