#ifndef __CDREADER_H__ #define __CDREADER_H__ #ifdef __cplusplus #include #include #include #include class cdreader : public Handle { public: cdreader(const String & = "/dev/cdrom") throw (GeneralException); cdreader(const cdreader &); virtual ~cdreader() {} virtual bool CanWrite(); virtual bool CanRead(); virtual bool CanSeek(); virtual ssize_t read(void *buf, size_t count) throw (GeneralException); virtual off_t seek(off_t, int) throw (GeneralException); virtual String GetName(); virtual ssize_t GetSize(); virtual void getsector(void *, int = -1) throw (GeneralException); virtual void sectorseek(int); protected: String n; int sector; }; class Stdin_t : public cdreader { public: Stdin_t(); virtual ~Stdin_t() {} virtual bool CanSeek(); virtual String GetName(); }; extern Stdin_t Stdin; #else #error This only works with a C++ compiler #endif #endif