diff options
Diffstat (limited to 'lib/common/FileStream.h')
-rw-r--r-- | lib/common/FileStream.h | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/lib/common/FileStream.h b/lib/common/FileStream.h index 721bf3dd..7c4118cd 100644 --- a/lib/common/FileStream.h +++ b/lib/common/FileStream.h @@ -31,13 +31,17 @@ class FileStream : public IOStream { public: - FileStream(const char *Filename, -#ifdef WIN32 + FileStream(const std::string& rFilename, int flags = (O_RDONLY | O_BINARY), -#else - int flags = O_RDONLY, -#endif int mode = (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)); + + // Ensure that const char * name doesn't end up as a handle + // on Windows! + + FileStream(const char *pFilename, + int flags = (O_RDONLY | O_BINARY), + int mode = (S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH)); + FileStream(tOSFileHandle FileDescriptor); virtual ~FileStream(); @@ -52,15 +56,16 @@ public: virtual bool StreamDataLeft(); virtual bool StreamClosed(); + bool CompareWith(IOStream& rOther, int Timeout = IOStream::TimeOutInfinite); + private: tOSFileHandle mOSFileHandle; bool mIsEOF; FileStream(const FileStream &rToCopy) { /* do not call */ } + void AfterOpen(); -#ifdef WIN32 // for debugging.. - std::string fileName; -#endif + std::string mFileName; }; |