home *** CD-ROM | disk | FTP | other *** search
- #ifndef RJS_DIRECTORY_CLASS_H
- #define RJS_DIRECTORY_CLASS_H
-
- #include <sys/types.h>
- #include <sys/dir.h>
-
- #include<RJS/String.h>
- #include<RJS/Status.h>
-
- class RJS_Directory : public RJS_Status {
- public:
- enum DirFmt { NoPath, FullPath };
- static const RJS_Status NoDirSpecified;
- RJS_Directory();
- RJS_Directory(const RJS_String &path, DirFmt fmt=NoPath);
- ~RJS_Directory();
- set(const RJS_String &path, DirFmt fmt=NoPath);
- const RJS_String &name() { return dirname; }
- int next(RJS_String &name);
- long position();
- void moveto(long pos);
- int number();
- void reset();
- int done();
- DirFmt format() { return dirfmt; }
- private:
- DIR *dir;
- RJS_String dirname;
- DirFmt dirfmt; // return filename with dir prepended
- };
-
- #endif
-