diff options
author | Robert Göffringmann | 2005-05-05 03:06:32 +0000 |
---|---|---|
committer | Robert Göffringmann | 2005-05-05 03:06:32 +0000 |
commit | 4120ae9921cfb135777a4fb25e98545a7038e7aa (patch) | |
tree | 129eea6e1f132b726c92dc653a6e828185703f2e /backends/ps2/fileio.h | |
parent | 38c9a40c22c9017b4e43b1c5670ba569da94dee8 (diff) | |
download | scummvm-rg350-4120ae9921cfb135777a4fb25e98545a7038e7aa.tar.gz scummvm-rg350-4120ae9921cfb135777a4fb25e98545a7038e7aa.tar.bz2 scummvm-rg350-4120ae9921cfb135777a4fb25e98545a7038e7aa.zip |
various PS2 system changes
svn-id: r17912
Diffstat (limited to 'backends/ps2/fileio.h')
-rw-r--r-- | backends/ps2/fileio.h | 47 |
1 files changed, 30 insertions, 17 deletions
diff --git a/backends/ps2/fileio.h b/backends/ps2/fileio.h index 8b9fd431fd..fc10ad8bd8 100644 --- a/backends/ps2/fileio.h +++ b/backends/ps2/fileio.h @@ -24,30 +24,44 @@ #include "scummsys.h" -class AccessFio { +class Ps2File { public: - AccessFio(void); - virtual ~AccessFio(void); - virtual bool open(const char *name, int mode); - virtual void read(void *dest, uint32 size); - virtual void write(const void *src, uint32 size); - virtual int seek(int32 offset, int whence); - virtual int32 sync(void); - virtual bool poll(void); - virtual bool fioAvail(void); -protected: - int _handle; + Ps2File(int64 cacheId); + virtual ~Ps2File(void); + virtual bool open(const char *name) = 0; + virtual uint32 read(void *dest, uint32 len) = 0; + virtual uint32 write(const void *src, uint32 len) = 0; + virtual uint32 tell(void) = 0; + virtual uint32 size(void) = 0; + virtual int seek(int32 offset, int origin) = 0; + virtual bool eof(void) = 0; + int64 _cacheId; +private: }; -class File; +class Ps2SmushFile : public Ps2File { +public: + Ps2SmushFile(int64 cacheId); + virtual ~Ps2SmushFile(void); + virtual bool open(const char *name); + virtual uint32 read(void *dest, uint32 len); + virtual uint32 write(const void *src, uint32 len); + virtual uint32 tell(void); + virtual uint32 size(void); + virtual int seek(int32 offset, int origin); + virtual bool eof(void); +private: + uint32 _filePos, _fileSize; + int _id; +}; FILE *ps2_fopen(const char *fname, const char *mode); int ps2_fclose(FILE *stream); int ps2_fflush(FILE *stream); int ps2_fseek(FILE *stream, long offset, int origin); -long ps2_ftell(FILE *stream); +uint32 ps2_ftell(FILE *stream); int ps2_feof(FILE *stream); -long ps2_fsize(FILE *stream); +uint32 ps2_fsize(FILE *stream); size_t ps2_fread(void *buf, size_t r, size_t n, FILE *stream); int ps2_fgetc(FILE *stream); @@ -58,6 +72,5 @@ int ps2_fputc(int c, FILE *stream); int ps2_fputs(const char *s, FILE *stream); int ps2_fprintf(FILE *pOut, const char *zFormat, ...); -AccessFio *fetchHandle(File *file); - #endif // __PS2FILE_IO__ + |