Mercurial > audlegacy-plugins
diff src/console/Data_Reader.h @ 341:986f098da058 trunk
[svn] - merge in blargg's changes
author | nenolod |
---|---|
date | Thu, 07 Dec 2006 15:20:41 -0800 |
parents | fb513e10174e |
children |
line wrap: on
line diff
--- a/src/console/Data_Reader.h Wed Dec 06 07:57:05 2006 -0800 +++ b/src/console/Data_Reader.h Thu Dec 07 15:20:41 2006 -0800 @@ -4,34 +4,30 @@ #ifndef DATA_READER_H #define DATA_READER_H -#undef DATA_READER_H -// allow blargg_config.h to #include Data_Reader.h -#include "blargg_config.h" -#ifndef DATA_READER_H -#define DATA_READER_H +#include "blargg_common.h" // Supports reading and finding out how many bytes are remaining class Data_Reader { public: - Data_Reader() { } virtual ~Data_Reader() { } static const char eof_error []; // returned by read() when request goes beyond end - typedef const char* error_t; // NULL if successful - // Read at most count bytes and return number actually read, or <= 0 if error virtual long read_avail( void*, long n ) = 0; // Read exactly count bytes and return error if they couldn't be read - virtual error_t read( void*, long count ); + virtual blargg_err_t read( void*, long count ); // Number of bytes remaining until end of file virtual long remain() const = 0; // Read and discard count bytes - virtual error_t skip( long count ); + virtual blargg_err_t skip( long count ); +public: + Data_Reader() { } + typedef blargg_err_t error_t; // deprecated private: // noncopyable Data_Reader( const Data_Reader& ); @@ -48,26 +44,26 @@ virtual long tell() const = 0; // Go to new position - virtual error_t seek( long ) = 0; + virtual blargg_err_t seek( long ) = 0; long remain() const; - error_t skip( long n ); + blargg_err_t skip( long n ); }; // Disk file reader class Std_File_Reader : public File_Reader { public: - error_t open( const char* path ); + blargg_err_t open( const char* path ); void close(); public: Std_File_Reader(); ~Std_File_Reader(); long size() const; - error_t read( void*, long ); + blargg_err_t read( void*, long ); long read_avail( void*, long ); long tell() const; - error_t seek( long ); + blargg_err_t seek( long ); private: void* file_; }; @@ -81,7 +77,7 @@ long size() const; long read_avail( void*, long ); long tell() const; - error_t seek( long ); + blargg_err_t seek( long ); private: const char* const begin; const long size_; @@ -109,7 +105,7 @@ public: long remain() const; long read_avail( void*, long ); - error_t read( void*, long ); + blargg_err_t read( void*, long ); private: char const* header; char const* header_end; @@ -120,11 +116,11 @@ // Invokes callback function to read data. Size of data must be specified in advance. class Callback_Reader : public Data_Reader { public: - typedef error_t (*callback_t)( void* data, void* out, long count ); + typedef const char* (*callback_t)( void* data, void* out, long count ); Callback_Reader( callback_t, long size, void* data = 0 ); public: long read_avail( void*, long ); - error_t read( void*, long ); + blargg_err_t read( void*, long ); long remain() const; private: callback_t const callback; @@ -136,7 +132,7 @@ // Gzip compressed file reader class Gzip_File_Reader : public File_Reader { public: - error_t open( const char* path ); + blargg_err_t open( const char* path ); void close(); public: @@ -145,7 +141,7 @@ long size() const; long read_avail( void*, long ); long tell() const; - error_t seek( long ); + blargg_err_t seek( long ); private: void* file_; long size_; @@ -153,4 +149,3 @@ #endif #endif -#endif