// // C++ Interface: k9dvdread // // Description: // // // Author: Jean-Michel PETIT , (C) 2006 // // Copyright: See COPYING file that comes with this distribution // // #ifndef K9DVDREAD_H #define K9DVDREAD_H #include "k9common.h" #include /** @author Jean-Michel PETIT */ class k9DVDRead; class k9Ifo2; class k9DVDFile { friend class k9DVDRead; private: dvd_file_t *m_file; k9DVDRead *m_dvd; TQLibrary *m_library; void openIfo(uint _vts); void openMenu(uint _vts); void openTitle(uint _vts); public: k9DVDFile(k9DVDRead *_dvd); ~k9DVDFile(); void close(); int readBytes(uchar *_buffer,uint32_t _size); int readBlocks(uint32_t _sector,uint32_t _size,uchar*_buffer); }; class k9DVDRead{ friend class k9DVDTitle; private: dvd_reader_t *m_dvd; TQPtrList files; TQPtrList ifos; public: k9DVDRead(); ~k9DVDRead(); void openDevice(const TQString & _device); k9DVDFile *openIfo(uint _vts); k9DVDFile *openMenu(uint _vts); k9DVDFile *openTitle(uint _vts); k9Ifo2 *getIfo(int _num); TQString getDiscId(); void close(); bool opened(); dvd_reader_t* getDvd() const { return m_dvd; } }; #endif