aboutsummaryrefslogtreecommitdiff
path: root/backends/ps2/fileio.h
diff options
context:
space:
mode:
Diffstat (limited to 'backends/ps2/fileio.h')
-rw-r--r--backends/ps2/fileio.h47
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__
+