Renaming things in FileIO to match PWE's naming conventions

This commit is contained in:
parax0
2015-12-16 15:21:21 -07:00
parent 2db8d23516
commit 4eaf4d9440
85 changed files with 666 additions and 668 deletions

View File

@@ -2,28 +2,28 @@
CFileInStream::CFileInStream()
{
mFStream = nullptr;
mpFStream = nullptr;
}
CFileInStream::CFileInStream(std::string File)
CFileInStream::CFileInStream(const std::string& rkFile)
{
mFStream = nullptr;
Open(File, IOUtil::BigEndian);
mpFStream = nullptr;
Open(rkFile, IOUtil::eBigEndian);
}
CFileInStream::CFileInStream(std::string File, IOUtil::EEndianness FileEndianness)
CFileInStream::CFileInStream(const std::string& rkFile, IOUtil::EEndianness FileEndianness)
{
mFStream = nullptr;
Open(File, FileEndianness);
mpFStream = nullptr;
Open(rkFile, FileEndianness);
}
CFileInStream::CFileInStream(CFileInStream& src)
CFileInStream::CFileInStream(const CFileInStream& rkSrc)
{
mFStream = nullptr;
Open(src.mName, src.mDataEndianness);
mpFStream = nullptr;
Open(rkSrc.mName, rkSrc.mDataEndianness);
if (src.IsValid())
Seek(src.Tell(), SEEK_SET);
if (rkSrc.IsValid())
Seek(rkSrc.Tell(), SEEK_SET);
}
CFileInStream::~CFileInStream()
@@ -32,13 +32,13 @@ CFileInStream::~CFileInStream()
Close();
}
void CFileInStream::Open(std::string File, IOUtil::EEndianness FileEndianness)
void CFileInStream::Open(const std::string& rkFile, IOUtil::EEndianness FileEndianness)
{
if (IsValid())
Close();
fopen_s(&mFStream, File.c_str(), "rb");
mName = File;
fopen_s(&mpFStream, rkFile.c_str(), "rb");
mName = rkFile;
mDataEndianness = FileEndianness;
if (IsValid())
@@ -50,45 +50,45 @@ void CFileInStream::Open(std::string File, IOUtil::EEndianness FileEndianness)
else
mFileSize = 0;
size_t EndPath = File.find_last_of("\\/");
SetSourceString(File.substr(EndPath + 1, File.length() - EndPath));
size_t EndPath = rkFile.find_last_of("\\/");
SetSourceString(rkFile.substr(EndPath + 1, rkFile.length() - EndPath));
}
void CFileInStream::Close()
{
if (IsValid())
fclose(mFStream);
mFStream = nullptr;
fclose(mpFStream);
mpFStream = nullptr;
}
void CFileInStream::ReadBytes(void *dst, unsigned long Count)
void CFileInStream::ReadBytes(void *pDst, unsigned long Count)
{
if (!IsValid()) return;
fread(dst, 1, Count, mFStream);
fread(pDst, 1, Count, mpFStream);
}
bool CFileInStream::Seek(long Offset, long Origin)
{
if (!IsValid()) return false;
return (fseek(mFStream, Offset, Origin) != 0);
return (fseek(mpFStream, Offset, Origin) != 0);
}
bool CFileInStream::Seek64(long long Offset, long Origin)
{
if (!IsValid()) return false;
return (_fseeki64(mFStream, Offset, Origin) != 0);
return (_fseeki64(mpFStream, Offset, Origin) != 0);
}
long CFileInStream::Tell() const
{
if (!IsValid()) return 0;
return ftell(mFStream);
return ftell(mpFStream);
}
long long CFileInStream::Tell64() const
{
if (!IsValid()) return 0;
return _ftelli64(mFStream);
return _ftelli64(mpFStream);
}
bool CFileInStream::EoF() const
@@ -98,7 +98,7 @@ bool CFileInStream::EoF() const
bool CFileInStream::IsValid() const
{
return (mFStream != 0);
return (mpFStream != 0);
}
long CFileInStream::Size() const

View File

@@ -1,26 +1,26 @@
#ifndef CFILEINSTREAM_H
#define CFILEINSTREAM_H
#include "CInputStream.h"
#include "IInputStream.h"
#include "IOUtil.h"
class CFileInStream : public CInputStream
class CFileInStream : public IInputStream
{
private:
FILE *mFStream;
FILE *mpFStream;
std::string mName;
long mFileSize;
public:
CFileInStream();
CFileInStream(std::string file);
CFileInStream(std::string file, IOUtil::EEndianness FileEndianness);
CFileInStream(CFileInStream& src);
CFileInStream(const std::string& rkFile);
CFileInStream(const std::string& rkFile, IOUtil::EEndianness FileEndianness);
CFileInStream(const CFileInStream& rkSrc);
~CFileInStream();
void Open(std::string file, IOUtil::EEndianness FileEndianness);
void Open(const std::string& rkFile, IOUtil::EEndianness FileEndianness);
void Close();
void ReadBytes(void *dst, unsigned long count);
void ReadBytes(void *pDst, unsigned long count);
bool Seek(long offset, long origin);
bool Seek64(long long offset, long origin);
long Tell() const;

View File

@@ -2,29 +2,29 @@
CFileOutStream::CFileOutStream()
{
mFStream = nullptr;
mpFStream = nullptr;
mSize = 0;
}
CFileOutStream::CFileOutStream(std::string File)
CFileOutStream::CFileOutStream(const std::string& rkFile)
{
mFStream = nullptr;
Open(File, IOUtil::BigEndian);
mpFStream = nullptr;
Open(rkFile, IOUtil::eBigEndian);
}
CFileOutStream::CFileOutStream(std::string File, IOUtil::EEndianness FileEndianness)
CFileOutStream::CFileOutStream(const std::string& rkFile, IOUtil::EEndianness FileEndianness)
{
mFStream = nullptr;
Open(File, FileEndianness);
mpFStream = nullptr;
Open(rkFile, FileEndianness);
}
CFileOutStream::CFileOutStream(CFileOutStream& src)
CFileOutStream::CFileOutStream(const CFileOutStream& rkSrc)
{
mFStream = nullptr;
Open(src.mName, src.mDataEndianness);
mpFStream = nullptr;
Open(rkSrc.mName, rkSrc.mDataEndianness);
if (src.IsValid())
Seek(src.Tell(), SEEK_SET);
if (rkSrc.IsValid())
Seek(rkSrc.Tell(), SEEK_SET);
}
CFileOutStream::~CFileOutStream()
@@ -33,24 +33,24 @@ CFileOutStream::~CFileOutStream()
Close();
}
void CFileOutStream::Open(std::string File, IOUtil::EEndianness FileEndianness)
void CFileOutStream::Open(const std::string& rkFile, IOUtil::EEndianness FileEndianness)
{
if (IsValid())
Close();
fopen_s(&mFStream, File.c_str(), "wb");
mName = File;
fopen_s(&mpFStream, rkFile.c_str(), "wb");
mName = rkFile;
mDataEndianness = FileEndianness;
mSize = 0;
}
void CFileOutStream::Update(std::string File, IOUtil::EEndianness FileEndianness)
void CFileOutStream::Update(const std::string& rkFile, IOUtil::EEndianness FileEndianness)
{
if (IsValid())
Close();
fopen_s(&mFStream, File.c_str(), "rb+");
mName = File;
fopen_s(&mpFStream, rkFile.c_str(), "rb+");
mName = rkFile;
mDataEndianness = FileEndianness;
Seek(0x0, SEEK_END);
mSize = Tell();
@@ -60,40 +60,40 @@ void CFileOutStream::Update(std::string File, IOUtil::EEndianness FileEndianness
void CFileOutStream::Close()
{
if (IsValid())
fclose(mFStream);
mFStream = nullptr;
fclose(mpFStream);
mpFStream = nullptr;
mSize = 0;
}
void CFileOutStream::WriteBytes(void *src, unsigned long Count)
void CFileOutStream::WriteBytes(void *pSrc, unsigned long Count)
{
if (!IsValid()) return;
fwrite(src, 1, Count, mFStream);
fwrite(pSrc, 1, Count, mpFStream);
if ((unsigned long) Tell() > mSize) mSize = Tell();
}
bool CFileOutStream::Seek(long Offset, long Origin)
{
if (!IsValid()) return false;
return (fseek(mFStream, Offset, Origin) != 0);
return (fseek(mpFStream, Offset, Origin) != 0);
}
bool CFileOutStream::Seek64(long long Offset, long Origin)
{
if (!IsValid()) return false;
return (_fseeki64(mFStream, Offset, Origin) != 0);
return (_fseeki64(mpFStream, Offset, Origin) != 0);
}
long CFileOutStream::Tell() const
{
if (!IsValid()) return 0;
return ftell(mFStream);
return ftell(mpFStream);
}
long long CFileOutStream::Tell64() const
{
if (!IsValid()) return 0;
return _ftelli64(mFStream);
return _ftelli64(mpFStream);
}
bool CFileOutStream::EoF() const
@@ -103,7 +103,7 @@ bool CFileOutStream::EoF() const
bool CFileOutStream::IsValid() const
{
return (mFStream != 0);
return (mpFStream != 0);
}
long CFileOutStream::Size() const

View File

@@ -1,27 +1,27 @@
#ifndef CFILEOUTSTREAM_H
#define CFILEOUTSTREAM_H
#include "COutputStream.h"
#include "IOutputStream.h"
#include "IOUtil.h"
class CFileOutStream : public COutputStream
class CFileOutStream : public IOutputStream
{
private:
FILE *mFStream;
FILE *mpFStream;
std::string mName;
unsigned long mSize;
public:
CFileOutStream();
CFileOutStream(std::string file);
CFileOutStream(std::string file, IOUtil::EEndianness FileEndianness);
CFileOutStream(CFileOutStream& src);
CFileOutStream(const std::string& rkFile);
CFileOutStream(const std::string& rkFile, IOUtil::EEndianness FileEndianness);
CFileOutStream(const CFileOutStream& rkSrc);
~CFileOutStream();
void Open(std::string file, IOUtil::EEndianness);
void Update(std::string file, IOUtil::EEndianness FileEndianness);
void Open(const std::string& rkFile, IOUtil::EEndianness);
void Update(const std::string& rkFile, IOUtil::EEndianness FileEndianness);
void Close();
void WriteBytes(void *src, unsigned long count);
void WriteBytes(void *pSrc, unsigned long count);
bool Seek(long offset, long origin);
bool Seek64(long long offset, long origin);
long Tell() const;

View File

@@ -2,31 +2,31 @@
CMemoryInStream::CMemoryInStream()
{
mDataStart = nullptr;
mpDataStart = nullptr;
mDataSize = 0;
mPos = 0;
}
CMemoryInStream::CMemoryInStream(void *Data, unsigned long Size, IOUtil::EEndianness DataEndianness)
CMemoryInStream::CMemoryInStream(void *pData, unsigned long Size, IOUtil::EEndianness DataEndianness)
{
SetData(Data, Size, DataEndianness);
SetData(pData, Size, DataEndianness);
}
CMemoryInStream::~CMemoryInStream()
{
}
void CMemoryInStream::SetData(void *Data, unsigned long Size, IOUtil::EEndianness DataEndianness)
void CMemoryInStream::SetData(void *pData, unsigned long Size, IOUtil::EEndianness DataEndianness)
{
mDataStart = static_cast<char*>(Data);
mpDataStart = static_cast<char*>(pData);
mDataSize = Size;
mPos = 0;
mDataEndianness = DataEndianness;
}
void CMemoryInStream::ReadBytes(void *dst, unsigned long Count)
void CMemoryInStream::ReadBytes(void *pDst, unsigned long Count)
{
if (!IsValid()) return;
memcpy(dst, mDataStart + mPos, Count);
memcpy(pDst, mpDataStart + mPos, Count);
mPos += Count;
}
@@ -76,7 +76,7 @@ bool CMemoryInStream::EoF() const
bool CMemoryInStream::IsValid() const
{
return (mDataStart != nullptr);
return (mpDataStart != nullptr);
}
long CMemoryInStream::Size() const
@@ -93,10 +93,10 @@ void CMemoryInStream::SetSize(unsigned long Size)
void* CMemoryInStream::Data() const
{
return mDataStart;
return mpDataStart;
}
void* CMemoryInStream::DataAtPosition() const
{
return mDataStart + mPos;
return mpDataStart + mPos;
}

View File

@@ -1,22 +1,22 @@
#ifndef CMEMORYINSTREAM_H
#define CMEMORYINSTREAM_H
#include "CInputStream.h"
#include "IInputStream.h"
#include "IOUtil.h"
class CMemoryInStream : public CInputStream
class CMemoryInStream : public IInputStream
{
char *mDataStart;
char *mpDataStart;
long mDataSize;
long mPos;
public:
CMemoryInStream();
CMemoryInStream(void *Data, unsigned long Size, IOUtil::EEndianness dataEndianness);
CMemoryInStream(void *pData, unsigned long Size, IOUtil::EEndianness dataEndianness);
~CMemoryInStream();
void SetData(void *Data, unsigned long Size, IOUtil::EEndianness dataEndianness);
void SetData(void *pData, unsigned long Size, IOUtil::EEndianness dataEndianness);
void ReadBytes(void *dst, unsigned long Count);
void ReadBytes(void *pDst, unsigned long Count);
bool Seek(long offset, long Origin);
long Tell() const;
bool EoF() const;

View File

@@ -2,35 +2,35 @@
CMemoryOutStream::CMemoryOutStream()
{
mDataStart = nullptr;
mpDataStart = nullptr;
mDataSize = 0;
mPos = 0;
mUsed = 0;
}
CMemoryOutStream::CMemoryOutStream(void *Data, unsigned long Size, IOUtil::EEndianness DataEndianness)
CMemoryOutStream::CMemoryOutStream(void *pData, unsigned long Size, IOUtil::EEndianness DataEndianness)
{
SetData(Data, Size, DataEndianness);
SetData(pData, Size, DataEndianness);
}
CMemoryOutStream::~CMemoryOutStream()
{
}
void CMemoryOutStream::SetData(void *Data, unsigned long Size, IOUtil::EEndianness DataEndianness)
void CMemoryOutStream::SetData(void *pData, unsigned long Size, IOUtil::EEndianness DataEndianness)
{
mDataStart = static_cast<char*>(Data);
mpDataStart = static_cast<char*>(pData);
mDataSize = Size;
mPos = 0;
mUsed = 0;
mDataEndianness = DataEndianness;
}
void CMemoryOutStream::WriteBytes(void *src, unsigned long Count)
void CMemoryOutStream::WriteBytes(void *pSrc, unsigned long Count)
{
if (!IsValid()) return;
memcpy(mDataStart + mPos, src, Count);
memcpy(mpDataStart + mPos, pSrc, Count);
mPos += Count;
if (mPos > mUsed) mUsed = mPos;
}
@@ -82,7 +82,7 @@ bool CMemoryOutStream::EoF() const
bool CMemoryOutStream::IsValid() const
{
return (mDataStart != nullptr);
return (mpDataStart != nullptr);
}
long CMemoryOutStream::Size() const
@@ -104,10 +104,10 @@ void CMemoryOutStream::SetSize(unsigned long Size)
void* CMemoryOutStream::Data() const
{
return mDataStart;
return mpDataStart;
}
void* CMemoryOutStream::DataAtPosition() const
{
return mDataStart + mPos;
return mpDataStart + mPos;
}

View File

@@ -1,22 +1,22 @@
#ifndef CMEMORYOUTSTREAM_H
#define CMEMORYOUTSTREAM_H
#include "COutputStream.h"
#include "IOutputStream.h"
class CMemoryOutStream : public COutputStream
class CMemoryOutStream : public IOutputStream
{
char *mDataStart;
char *mpDataStart;
long mDataSize;
long mPos;
long mUsed;
public:
CMemoryOutStream();
CMemoryOutStream(void *Data, unsigned long Size, IOUtil::EEndianness mDataEndianness);
CMemoryOutStream(void *pData, unsigned long Size, IOUtil::EEndianness mDataEndianness);
~CMemoryOutStream();
void SetData(void *Data, unsigned long Size, IOUtil::EEndianness mDataEndianness);
void SetData(void *pData, unsigned long Size, IOUtil::EEndianness mDataEndianness);
void WriteBytes(void *src, unsigned long count);
void WriteBytes(void *pSrc, unsigned long count);
bool Seek(long offset, long origin);
long Tell() const;
bool EoF() const;

View File

@@ -1,114 +0,0 @@
#include "COutputStream.h"
COutputStream::~COutputStream()
{
}
void COutputStream::WriteByte(char Val)
{
WriteBytes(&Val, 1);
}
void COutputStream::WriteShort(short Val)
{
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 2);
}
void COutputStream::WriteLong(long Val)
{
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 4);
}
void COutputStream::WriteLongLong(long long Val)
{
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 8);
}
void COutputStream::WriteFloat(float Val)
{
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 4);
}
void COutputStream::WriteDouble(double Val)
{
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 8);
}
void COutputStream::WriteString(std::string Val)
{
for (unsigned int i = 0; i < Val.size(); i++)
WriteByte(Val[i]);
if ((Val.empty()) || (Val.back() != '\0'))
WriteByte(0);
}
void COutputStream::WriteString(std::string Val, unsigned long Count, bool Terminate)
{
for (unsigned int i = 0; i < Count; i++)
WriteByte(Val[i]);
if (Terminate && (Val[Count-1] != '\0'))
WriteByte(0);
}
void COutputStream::WriteWString(std::wstring Val)
{
for (unsigned int i = 0; i < Val.size(); i++)
WriteShort(Val[i]);
if ((!Val.empty()) && (Val.back() != '\0'))
WriteShort(0);
}
void COutputStream::WriteWString(std::wstring Val, unsigned long Count, bool Terminate)
{
for (unsigned int i = 0; i < Count; i++)
WriteShort(Val[i]);
if (Terminate && (Val[Count-1] != 0))
WriteShort(0);
}
void COutputStream::WriteToBoundary(unsigned long Boundary, char Fill)
{
long Num = Boundary - (Tell() % Boundary);
if (Num == Boundary) return;
for (int i = 0; i < Num; i++)
WriteByte(Fill);
}
void COutputStream::SetEndianness(IOUtil::EEndianness Endianness)
{
mDataEndianness = Endianness;
}
void COutputStream::SetDestString(const std::string &Dest)
{
mDataDest = Dest;
}
IOUtil::EEndianness COutputStream::GetEndianness() const
{
return mDataEndianness;
}
std::string COutputStream::GetDestString() const
{
return mDataDest;
}
bool COutputStream::Seek64(long long Offset, long Origin)
{
return Seek((long) Offset, Origin);
}
long long COutputStream::Tell64() const
{
return (long long) (Tell());
}

View File

@@ -2,19 +2,19 @@
#include <stdarg.h>
#include <stdio.h>
CTextInStream::CTextInStream(std::string File)
CTextInStream::CTextInStream(const std::string& rkFile)
{
mFStream = nullptr;
Open(File);
mpFStream = nullptr;
Open(rkFile);
}
CTextInStream::CTextInStream(CTextInStream& src)
CTextInStream::CTextInStream(const CTextInStream& rkSrc)
{
mFStream = nullptr;
Open(src.mFileName);
mpFStream = nullptr;
Open(rkSrc.mFileName);
if (src.IsValid())
Seek(src.Tell(), SEEK_SET);
if (rkSrc.IsValid())
Seek(rkSrc.Tell(), SEEK_SET);
}
CTextInStream::~CTextInStream()
@@ -23,13 +23,13 @@ CTextInStream::~CTextInStream()
Close();
}
void CTextInStream::Open(std::string File)
void CTextInStream::Open(const std::string& rkFile)
{
if (IsValid())
Close();
fopen_s(&mFStream, File.c_str(), "r");
mFileName = File;
fopen_s(&mpFStream, rkFile.c_str(), "r");
mFileName = rkFile;
if (IsValid())
{
@@ -44,23 +44,23 @@ void CTextInStream::Open(std::string File)
void CTextInStream::Close()
{
if (IsValid())
fclose(mFStream);
mFStream = nullptr;
fclose(mpFStream);
mpFStream = nullptr;
}
void CTextInStream::Scan(const char *Format, ... )
void CTextInStream::Scan(const char *pkFormat, ... )
{
if (!IsValid()) return;
va_list Args;
va_start(Args, Format);
vfscanf(mFStream, Format, Args);
va_start(Args, pkFormat);
vfscanf(mpFStream, pkFormat, Args);
}
char CTextInStream::GetChar()
{
if (!IsValid()) return 0;
return (char) fgetc(mFStream);
return (char) fgetc(mpFStream);
}
std::string CTextInStream::GetString()
@@ -68,20 +68,20 @@ std::string CTextInStream::GetString()
if (!IsValid()) return "";
char Buf[0x1000];
fgets(Buf, 0x1000, mFStream);
fgets(Buf, 0x1000, mpFStream);
return std::string(Buf);
}
long CTextInStream::Seek(long Offset, long Origin)
{
if (!IsValid()) return 1;
return fseek(mFStream, Offset, Origin);
return fseek(mpFStream, Offset, Origin);
}
long CTextInStream::Tell() const
{
if (!IsValid()) return 0;
return ftell(mFStream);
return ftell(mpFStream);
}
bool CTextInStream::EoF() const
@@ -91,7 +91,7 @@ bool CTextInStream::EoF() const
bool CTextInStream::IsValid() const
{
return (mFStream != 0);
return (mpFStream != 0);
}
long CTextInStream::Size() const

View File

@@ -6,19 +6,19 @@
class CTextInStream
{
FILE *mFStream;
FILE *mpFStream;
std::string mFileName;
long mFileSize;
public:
CTextInStream();
CTextInStream(std::string File);
CTextInStream(CTextInStream& src);
CTextInStream(const std::string& rkFile);
CTextInStream(const CTextInStream& rkSrc);
~CTextInStream();
void Open(std::string File);
void Open(const std::string& rkFile);
void Close();
void Scan(const char *Format, ... );
void Scan(const char *pkFormat, ... );
char GetChar();
std::string GetString();

View File

@@ -3,23 +3,23 @@
CTextOutStream::CTextOutStream()
{
mFStream = nullptr;
mpFStream = nullptr;
mSize = 0;
}
CTextOutStream::CTextOutStream(std::string File)
CTextOutStream::CTextOutStream(const std::string& rkFile)
{
mFStream = nullptr;
Open(File.c_str());
mpFStream = nullptr;
Open(rkFile.c_str());
}
CTextOutStream::CTextOutStream(CTextOutStream& src)
CTextOutStream::CTextOutStream(const CTextOutStream& rkSrc)
{
mFStream = nullptr;
Open(src.mFileName);
mpFStream = nullptr;
Open(rkSrc.mFileName);
if (src.IsValid())
Seek(src.Tell(), SEEK_SET);
if (rkSrc.IsValid())
Seek(rkSrc.Tell(), SEEK_SET);
}
CTextOutStream::~CTextOutStream()
@@ -28,54 +28,54 @@ CTextOutStream::~CTextOutStream()
Close();
}
void CTextOutStream::Open(std::string File)
void CTextOutStream::Open(const std::string& rkFile)
{
fopen_s(&mFStream, File.c_str(), "w");
mFileName = File;
fopen_s(&mpFStream, rkFile.c_str(), "w");
mFileName = rkFile;
mSize = 0;
}
void CTextOutStream::Close()
{
if (IsValid())
fclose(mFStream);
mFStream = nullptr;
fclose(mpFStream);
mpFStream = nullptr;
mSize = 0;
}
void CTextOutStream::Print(const char *Format, ... )
void CTextOutStream::Print(const char *pkFormat, ... )
{
if (!IsValid()) return;
va_list Args;
va_start(Args, Format);
vfprintf(mFStream, Format, Args);
va_start(Args, pkFormat);
vfprintf(mpFStream, pkFormat, Args);
}
void CTextOutStream::WriteChar(char c)
{
if (!IsValid()) return;
fputc(c, mFStream);
fputc(c, mpFStream);
if ((unsigned long) Tell() > mSize) mSize = Tell();
}
void CTextOutStream::WriteString(std::string Str)
void CTextOutStream::WriteString(const std::string& rkStr)
{
if (!IsValid()) return;
fputs(Str.c_str(), mFStream);
fputs(rkStr.c_str(), mpFStream);
if ((unsigned long) Tell() > mSize) mSize = Tell();
}
bool CTextOutStream::Seek(long Offset, long Origin)
{
if (!IsValid()) return false;
return (fseek(mFStream, Offset, Origin) != 0);
return (fseek(mpFStream, Offset, Origin) != 0);
}
long CTextOutStream::Tell() const
{
if (!IsValid()) return 0;
return ftell(mFStream);
return ftell(mpFStream);
}
bool CTextOutStream::EoF() const
@@ -85,7 +85,7 @@ bool CTextOutStream::EoF() const
bool CTextOutStream::IsValid() const
{
return (mFStream != 0);
return (mpFStream != 0);
}
long CTextOutStream::Size() const

View File

@@ -5,21 +5,21 @@
class CTextOutStream
{
FILE *mFStream;
FILE *mpFStream;
std::string mFileName;
unsigned long mSize;
public:
CTextOutStream();
CTextOutStream(std::string File);
CTextOutStream(CTextOutStream& src);
CTextOutStream(const std::string& rkFile);
CTextOutStream(const CTextOutStream& rkSrc);
~CTextOutStream();
void Open(std::string file);
void Open(const std::string& file);
void Close();
void Print(const char *Format, ... );
void Print(const char *pkFormat, ... );
void WriteChar(char c);
void WriteString(std::string Str);
void WriteString(const std::string& Str);
bool Seek(long Offset, long Origin);
long Tell() const;

View File

@@ -2,7 +2,7 @@
CVectorOutStream::CVectorOutStream()
{
mDataEndianness = IOUtil::BigEndian;
mDataEndianness = IOUtil::eBigEndian;
mPos = 0;
mUsed = 0;
}
@@ -26,14 +26,14 @@ CVectorOutStream::~CVectorOutStream()
{
}
void CVectorOutStream::WriteBytes(void *src, unsigned long Count)
void CVectorOutStream::WriteBytes(void *pSrc, unsigned long Count)
{
if (!IsValid()) return;
if ((mPos + Count) > mVector.size())
mVector.resize(mPos + Count);
memcpy(mVector.data() + mPos, src, Count);
memcpy(mVector.data() + mPos, pSrc, Count);
mPos += Count;
if (mPos > mUsed) mUsed = mPos;
}

View File

@@ -1,10 +1,10 @@
#ifndef CVECTOROUTSTREAM_H
#define CVECTOROUTSTREAM_H
#include "COutputStream.h"
#include "IOutputStream.h"
#include <vector>
class CVectorOutStream : public COutputStream
class CVectorOutStream : public IOutputStream
{
std::vector<char> mVector;
long mPos;
@@ -16,7 +16,7 @@ public:
CVectorOutStream(unsigned long InitialSize, IOUtil::EEndianness DataEndianness);
~CVectorOutStream();
void WriteBytes(void *src, unsigned long Count);
void WriteBytes(void *pSrc, unsigned long Count);
bool Seek(long Offset, long Origin);
long Tell() const;
bool EoF() const;

View File

@@ -3,12 +3,12 @@
#include "IOUtil.h"
#include "CInputStream.h"
#include "IInputStream.h"
#include "CFileInStream.h"
#include "CMemoryInStream.h"
#include "CTextInStream.h"
#include "COutputStream.h"
#include "IOutputStream.h"
#include "CFileOutStream.h"
#include "CMemoryOutStream.h"
#include "CVectorOutStream.h"

View File

@@ -6,6 +6,7 @@
QT -= core gui
QMAKE_CXXFLAGS += /WX
DEFINES += PWE_FILEIO
CONFIG += staticlib
TEMPLATE = lib
@@ -32,25 +33,25 @@ CONFIG (release, debug|release) {
HEADERS += \
CFileInStream.h \
CFileOutStream.h \
CInputStream.h \
CMemoryInStream.h \
CMemoryOutStream.h \
COutputStream.h \
CTextInStream.h \
CTextOutStream.h \
CVectorOutStream.h \
FileIO.h \
IOUtil.h
IOUtil.h \
IInputStream.h \
IOutputStream.h
# Source Files
SOURCES += \
CFileInStream.cpp \
CFileOutStream.cpp \
CInputStream.cpp \
CMemoryInStream.cpp \
CMemoryOutStream.cpp \
COutputStream.cpp \
CTextInStream.cpp \
CTextOutStream.cpp \
CVectorOutStream.cpp \
IOUtil.cpp
IOUtil.cpp \
IInputStream.cpp \
IOutputStream.cpp

View File

@@ -1,57 +1,57 @@
#include "CInputStream.h"
#include "IInputStream.h"
CInputStream::~CInputStream()
IInputStream::~IInputStream()
{
}
char CInputStream::ReadByte()
char IInputStream::ReadByte()
{
char Val;
ReadBytes(&Val, 1);
return Val;
}
short CInputStream::ReadShort()
short IInputStream::ReadShort()
{
short Val;
ReadBytes(&Val, 2);
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
return Val;
}
long CInputStream::ReadLong()
long IInputStream::ReadLong()
{
long Val;
ReadBytes(&Val, 4);
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
return Val;
}
long long CInputStream::ReadLongLong()
long long IInputStream::ReadLongLong()
{
long long Val;
ReadBytes(&Val, 8);
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
return Val;
}
float CInputStream::ReadFloat()
float IInputStream::ReadFloat()
{
float Val;
ReadBytes(&Val, 4);
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
return Val;
}
double CInputStream::ReadDouble()
double IInputStream::ReadDouble()
{
double Val;
ReadBytes(&Val, 8);
if (mDataEndianness != IOUtil::SystemEndianness) IOUtil::SwapBytes(Val);
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
return Val;
}
std::string CInputStream::ReadString()
std::string IInputStream::ReadString()
{
std::string Str;
char c = 1;
@@ -65,7 +65,7 @@ std::string CInputStream::ReadString()
return Str;
}
std::string CInputStream::ReadString(unsigned long Count)
std::string IInputStream::ReadString(unsigned long Count)
{
std::string Str(Count, 0);
@@ -75,7 +75,7 @@ std::string CInputStream::ReadString(unsigned long Count)
return Str;
}
std::wstring CInputStream::ReadWString()
std::wstring IInputStream::ReadWString()
{
std::wstring WStr;
short c = 1;
@@ -89,7 +89,7 @@ std::wstring CInputStream::ReadWString()
return WStr;
}
std::wstring CInputStream::ReadWString(unsigned long Count)
std::wstring IInputStream::ReadWString(unsigned long Count)
{
std::wstring WStr(Count, 0);
@@ -100,81 +100,81 @@ std::wstring CInputStream::ReadWString(unsigned long Count)
}
char CInputStream::PeekByte()
char IInputStream::PeekByte()
{
char Val = ReadByte();
Seek(-1, SEEK_CUR);
return Val;
}
short CInputStream::PeekShort()
short IInputStream::PeekShort()
{
short Val = ReadShort();
Seek(-2, SEEK_CUR);
return Val;
}
long CInputStream::PeekLong()
long IInputStream::PeekLong()
{
long Val = ReadLong();
Seek(-4, SEEK_CUR);
return Val;
}
long long CInputStream::PeekLongLong()
long long IInputStream::PeekLongLong()
{
long long Val = ReadLongLong();
Seek(-8, SEEK_CUR);
return Val;
}
float CInputStream::PeekFloat()
float IInputStream::PeekFloat()
{
float Val = ReadFloat();
Seek(-4, SEEK_CUR);
return Val;
}
double CInputStream::PeekDouble()
double IInputStream::PeekDouble()
{
double Val = ReadDouble();
Seek(-8, SEEK_CUR);
return Val;
}
void CInputStream::SeekToBoundary(unsigned long Boundary)
void IInputStream::SeekToBoundary(unsigned long Boundary)
{
long Num = Boundary - (Tell() % Boundary);
if (Num == Boundary) return;
else Seek(Num, SEEK_CUR);
}
void CInputStream::SetEndianness(IOUtil::EEndianness Endianness)
void IInputStream::SetEndianness(IOUtil::EEndianness Endianness)
{
mDataEndianness = Endianness;
}
void CInputStream::SetSourceString(const std::string& source)
void IInputStream::SetSourceString(const std::string& rkSource)
{
mDataSource = source;
mDataSource = rkSource;
}
IOUtil::EEndianness CInputStream::GetEndianness() const
IOUtil::EEndianness IInputStream::GetEndianness() const
{
return mDataEndianness;
}
std::string CInputStream::GetSourceString() const
std::string IInputStream::GetSourceString() const
{
return mDataSource;
}
bool CInputStream::Seek64(long long Offset, long Origin)
bool IInputStream::Seek64(long long Offset, long Origin)
{
return Seek((long) Offset, Origin);
}
long long CInputStream::Tell64() const
long long IInputStream::Tell64() const
{
return (long long) Tell();
}

View File

@@ -1,11 +1,11 @@
#ifndef CINPUTSTREAM_H
#define CINPUTSTREAM_H
#ifndef IINPUTSTREAM_H
#define IINPUTSTREAM_H
#include "IOUtil.h"
#include <string>
#include <vector>
class CInputStream
class IInputStream
{
protected:
IOUtil::EEndianness mDataEndianness;
@@ -32,12 +32,12 @@ public:
void SeekToBoundary(unsigned long boundary);
void SetEndianness(IOUtil::EEndianness endianness);
void SetSourceString(const std::string& source);
void SetSourceString(const std::string& rkSource);
IOUtil::EEndianness GetEndianness() const;
std::string GetSourceString() const;
virtual ~CInputStream();
virtual void ReadBytes(void *dst, unsigned long count) = 0;
virtual ~IInputStream();
virtual void ReadBytes(void *pDst, unsigned long count) = 0;
virtual bool Seek(long offset, long origin) = 0;
virtual bool Seek64(long long offset, long origin);
virtual long Tell() const = 0;
@@ -47,4 +47,4 @@ public:
virtual long Size() const = 0;
};
#endif // CINPUTSTREAM_H
#endif // IINPUTSTREAM_H

View File

@@ -8,72 +8,72 @@ namespace IOUtil
// 0x01000000 - Little Endian
// 0x00000001 - Big Endian
long EndianTest = 1;
if (*(char*)&EndianTest == 1) return LittleEndian;
else return BigEndian;
if (*(char*)&EndianTest == 1) return eLittleEndian;
else return eBigEndian;
}
const EEndianness SystemEndianness = FindSystemEndianness();
const EEndianness kSystemEndianness = FindSystemEndianness();
void SwapBytes(short& Val)
void SwapBytes(short& rVal)
{
Val = (((Val & 0x00FF) << 8) |
((Val & 0xFF00) >> 8));
rVal = (((rVal & 0x00FF) << 8) |
((rVal & 0xFF00) >> 8));
}
void SwapBytes(unsigned short& Val)
void SwapBytes(unsigned short& rVal)
{
Val = (((Val & 0x00FF) << 8) |
((Val & 0xFF00) >> 8));
rVal = (((rVal & 0x00FF) << 8) |
((rVal & 0xFF00) >> 8));
}
void SwapBytes(long& Val)
void SwapBytes(long& rVal)
{
Val = (((Val & 0x000000FF) << 24) |
((Val & 0x0000FF00) << 8) |
((Val & 0x00FF0000) >> 8) |
((Val & 0xFF000000) >> 24));
rVal = (((rVal & 0x000000FF) << 24) |
((rVal & 0x0000FF00) << 8) |
((rVal & 0x00FF0000) >> 8) |
((rVal & 0xFF000000) >> 24));
}
void SwapBytes(unsigned long& Val)
void SwapBytes(unsigned long& rVal)
{
Val = (((Val & 0x000000FF) << 24) |
((Val & 0x0000FF00) << 8) |
((Val & 0x00FF0000) >> 8) |
((Val & 0xFF000000) >> 24));
rVal = (((rVal & 0x000000FF) << 24) |
((rVal & 0x0000FF00) << 8) |
((rVal & 0x00FF0000) >> 8) |
((rVal & 0xFF000000) >> 24));
}
void SwapBytes(long long& Val)
void SwapBytes(long long& rVal)
{
Val = (((Val & 0x00000000000000FF) << 56) |
((Val & 0x000000000000FF00) << 40) |
((Val & 0x0000000000FF0000) << 24) |
((Val & 0x00000000FF000000) << 8) |
((Val & 0x000000FF00000000) >> 8) |
((Val & 0x0000FF0000000000) >> 24) |
((Val & 0x00FF000000000000) >> 40) |
((Val & 0xFF00000000000000) >> 56));
rVal = (((rVal & 0x00000000000000FF) << 56) |
((rVal & 0x000000000000FF00) << 40) |
((rVal & 0x0000000000FF0000) << 24) |
((rVal & 0x00000000FF000000) << 8) |
((rVal & 0x000000FF00000000) >> 8) |
((rVal & 0x0000FF0000000000) >> 24) |
((rVal & 0x00FF000000000000) >> 40) |
((rVal & 0xFF00000000000000) >> 56));
}
void SwapBytes(unsigned long long &Val)
void SwapBytes(unsigned long long& rVal)
{
Val = (((Val & 0x00000000000000FF) << 56) |
((Val & 0x000000000000FF00) << 40) |
((Val & 0x0000000000FF0000) << 24) |
((Val & 0x00000000FF000000) << 8) |
((Val & 0x000000FF00000000) >> 8) |
((Val & 0x0000FF0000000000) >> 24) |
((Val & 0x00FF000000000000) >> 40) |
((Val & 0xFF00000000000000) >> 56));
rVal = (((rVal & 0x00000000000000FF) << 56) |
((rVal & 0x000000000000FF00) << 40) |
((rVal & 0x0000000000FF0000) << 24) |
((rVal & 0x00000000FF000000) << 8) |
((rVal & 0x000000FF00000000) >> 8) |
((rVal & 0x0000FF0000000000) >> 24) |
((rVal & 0x00FF000000000000) >> 40) |
((rVal & 0xFF00000000000000) >> 56));
}
void SwapBytes(float& Val)
void SwapBytes(float& rVal)
{
long* ptr = (long*) &Val;
SwapBytes(*ptr);
long* pPtr = (long*) &rVal;
SwapBytes(*pPtr);
}
void SwapBytes(double& Val)
void SwapBytes(double& rVal)
{
long long* ptr = (long long*) &Val;
SwapBytes(*ptr);
long long* pPtr = (long long*) &rVal;
SwapBytes(*pPtr);
}
}

View File

@@ -4,19 +4,19 @@
namespace IOUtil
{
enum EEndianness {
LittleEndian,
BigEndian
eLittleEndian,
eBigEndian
};
extern const EEndianness SystemEndianness;
extern const EEndianness kSystemEndianness;
void SwapBytes(short& Val);
void SwapBytes(unsigned short& Val);
void SwapBytes(long& Val);
void SwapBytes(unsigned long& Val);
void SwapBytes(long long& Val);
void SwapBytes(unsigned long long& Val);
void SwapBytes(float& Val);
void SwapBytes(double& Val);
void SwapBytes(short& rVal);
void SwapBytes(unsigned short& rVal);
void SwapBytes(long& rVal);
void SwapBytes(unsigned long& rVal);
void SwapBytes(long long& rVal);
void SwapBytes(unsigned long long& rVal);
void SwapBytes(float& rVal);
void SwapBytes(double& rVal);
}
#endif // IOUTIL_H

View File

@@ -0,0 +1,114 @@
#include "IOutputStream.h"
IOutputStream::~IOutputStream()
{
}
void IOutputStream::WriteByte(char Val)
{
WriteBytes(&Val, 1);
}
void IOutputStream::WriteShort(short Val)
{
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 2);
}
void IOutputStream::WriteLong(long Val)
{
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 4);
}
void IOutputStream::WriteLongLong(long long Val)
{
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 8);
}
void IOutputStream::WriteFloat(float Val)
{
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 4);
}
void IOutputStream::WriteDouble(double Val)
{
if (mDataEndianness != IOUtil::kSystemEndianness) IOUtil::SwapBytes(Val);
WriteBytes(&Val, 8);
}
void IOutputStream::WriteString(const std::string& rkVal)
{
for (unsigned int i = 0; i < rkVal.size(); i++)
WriteByte(rkVal[i]);
if ((rkVal.empty()) || (rkVal.back() != '\0'))
WriteByte(0);
}
void IOutputStream::WriteString(const std::string& rkVal, unsigned long Count, bool Terminate)
{
for (unsigned int i = 0; i < Count; i++)
WriteByte(rkVal[i]);
if (Terminate && (rkVal[Count-1] != '\0'))
WriteByte(0);
}
void IOutputStream::WriteWideString(const std::wstring& rkVal)
{
for (unsigned int i = 0; i < rkVal.size(); i++)
WriteShort(rkVal[i]);
if ((!rkVal.empty()) && (rkVal.back() != '\0'))
WriteShort(0);
}
void IOutputStream::WriteWideString(const std::wstring& rkVal, unsigned long Count, bool Terminate)
{
for (unsigned int i = 0; i < Count; i++)
WriteShort(rkVal[i]);
if (Terminate && (rkVal[Count-1] != 0))
WriteShort(0);
}
void IOutputStream::WriteToBoundary(unsigned long Boundary, char Fill)
{
long Num = Boundary - (Tell() % Boundary);
if (Num == Boundary) return;
for (int i = 0; i < Num; i++)
WriteByte(Fill);
}
void IOutputStream::SetEndianness(IOUtil::EEndianness Endianness)
{
mDataEndianness = Endianness;
}
void IOutputStream::SetDestString(const std::string& rkDest)
{
mDataDest = rkDest;
}
IOUtil::EEndianness IOutputStream::GetEndianness() const
{
return mDataEndianness;
}
std::string IOutputStream::GetDestString() const
{
return mDataDest;
}
bool IOutputStream::Seek64(long long Offset, long Origin)
{
return Seek((long) Offset, Origin);
}
long long IOutputStream::Tell64() const
{
return (long long) (Tell());
}

View File

@@ -1,10 +1,10 @@
#ifndef COUTPUTSTREAM_H
#define COUTPUTSTREAM_H
#ifndef IOUTPUTSTREAM_H
#define IOUTPUTSTREAM_H
#include "IOUtil.h"
#include <string>
class COutputStream
class IOutputStream
{
protected:
IOUtil::EEndianness mDataEndianness;
@@ -17,19 +17,19 @@ public:
void WriteLongLong(long long Val);
void WriteFloat(float Val);
void WriteDouble(double Val);
void WriteString(std::string Val);
void WriteString(std::string Val, unsigned long Count, bool Terminate = false);
void WriteWString(std::wstring Val);
void WriteWString(std::wstring Val, unsigned long Count, bool Terminate = false);
void WriteString(const std::string& rkVal);
void WriteString(const std::string& rkVal, unsigned long Count, bool Terminate = false);
void WriteWideString(const std::wstring& rkVal);
void WriteWideString(const std::wstring& rkVal, unsigned long Count, bool Terminate = false);
void WriteToBoundary(unsigned long Boundary, char Fill);
void SetEndianness(IOUtil::EEndianness Endianness);
void SetDestString(const std::string& Dest);
void SetDestString(const std::string& rkDest);
IOUtil::EEndianness GetEndianness() const;
std::string GetDestString() const;
virtual ~COutputStream();
virtual void WriteBytes(void *src, unsigned long Count) = 0;
virtual ~IOutputStream();
virtual void WriteBytes(void *pSrc, unsigned long Count) = 0;
virtual bool Seek(long Offset, long Origin) = 0;
virtual bool Seek64(long long Offset, long Origin);
virtual long Tell() const = 0;