From 1400d28bfb37fc94f3c44dec0a4d0cef65fb8fb7 Mon Sep 17 00:00:00 2001 From: David Corrales Date: Wed, 1 Aug 2007 22:07:50 +0000 Subject: Initial commit of the new BaseFile implementation. It provides a common ground for file objects across platforms and divides responsibilities between the Common::File class and a base file implementation. Also rearranged the factories into a new directory for clarity. Note 1: The posix-file.h and cpp files are for testing only. Only the ds, ps2 and symbian architecture will use special BaseFile based objects. Note 2: The current code does not yet make use of this new structure, since the Common::File remains intact. svn-id: r28395 --- backends/file/posix/posix-file.cpp | 41 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 backends/file/posix/posix-file.cpp (limited to 'backends/file/posix/posix-file.cpp') diff --git a/backends/file/posix/posix-file.cpp b/backends/file/posix/posix-file.cpp new file mode 100644 index 0000000000..84c82fa5c5 --- /dev/null +++ b/backends/file/posix/posix-file.cpp @@ -0,0 +1,41 @@ +#include "backends/file/posix/posix-file.h" + +POSIXFile::POSIXFile() : BaseFile() { + // +} + +POSIXFile::~POSIXFile() { + close(); +} + +void POSIXFile::_clearerr(FILE *stream) { + clearerr(stream); +} + +int POSIXFile::_fclose(FILE *stream) { + return fclose(stream); +} + +int POSIXFile::_feof(FILE *stream) const { + return feof(stream); +} +FILE *POSIXFile::_fopen(const char * filename, const char * mode) { + printf("Opened a file!\n"); + return fopen(filename, mode); +} + +int POSIXFile::_fread(void *buffer, size_t obj_size, size_t num, FILE *stream) { + return fread(buffer, obj_size, num, stream); +} + +int POSIXFile::_fseek(FILE * stream, long int offset, int origin) const { + return fseek(stream, offset, origin); +} + +long POSIXFile::_ftell(FILE *stream) const { + return ftell(stream); +} + +int POSIXFile::_fwrite(const void * ptr, size_t obj_size, size_t count, FILE * stream) { + return fwrite(ptr, obj_size, count, stream); +} -- cgit v1.2.3