beetle-pce-fast-libretro/mednafen/cdrom/CDAccess.h

34 lines
776 B
C
Raw Permalink Normal View History

2012-06-03 15:48:14 +00:00
#ifndef __MDFN_CDROMFILE_H
#define __MDFN_CDROMFILE_H
2020-10-03 10:40:06 +00:00
#include <stdint.h>
2020-10-04 14:43:04 +00:00
#include <string>
2012-06-03 15:48:14 +00:00
#include "CDUtility.h"
class CDAccess
{
public:
CDAccess();
virtual ~CDAccess();
2016-08-14 15:16:18 +00:00
virtual bool Read_Raw_Sector(uint8_t *buf, int32_t lba) = 0;
2012-06-03 15:48:14 +00:00
2016-08-14 09:57:54 +00:00
// Returns false if the read wouldn't be "fast"(i.e. reading from a disk),
// or if the read can't be done in a thread-safe re-entrant manner.
//
// Writes 96 bytes into pwbuf, and returns 'true' otherwise.
2016-08-14 12:21:22 +00:00
virtual bool Fast_Read_Raw_PW_TSRE(uint8_t* pwbuf, int32_t lba) = 0;
2013-09-08 11:41:01 +00:00
2016-08-14 15:16:18 +00:00
virtual bool Read_TOC(TOC *toc) = 0;
2013-09-08 11:41:01 +00:00
private:
CDAccess(const CDAccess&); // No copy constructor.
CDAccess& operator=(const CDAccess&); // No assignment operator.
2012-06-03 15:48:14 +00:00
};
2016-08-14 09:57:54 +00:00
CDAccess* CDAccess_Open(const std::string& path, bool image_memcache);
2012-06-03 15:48:14 +00:00
#endif