Initial API implementation

This commit is contained in:
2015-05-18 14:03:13 -07:00
parent 20e12b86ca
commit 01f989c21c
9 changed files with 372 additions and 11 deletions

View File

@@ -31,7 +31,7 @@ namespace Athena
{
namespace io
{
FileWriter::FileWriter(const std::string& filename)
FileWriter::FileWriter(const std::string& filename, bool overwrite)
: m_filename(filename),
m_fileHandle(NULL),
m_endian(Endian::LittleEndian),
@@ -39,7 +39,7 @@ FileWriter::FileWriter(const std::string& filename)
m_bitShift(0),
m_bitValid(false)
{
open();
open(overwrite);
}
FileWriter::~FileWriter()
@@ -68,9 +68,13 @@ bool FileWriter::isLittleEndian() const
return (m_endian == Endian::LittleEndian);
}
void FileWriter::open()
void FileWriter::open(bool overwrite)
{
m_fileHandle = fopen(m_filename.c_str(), "w+b");
if (overwrite)
m_fileHandle = fopen(m_filename.c_str(), "w+b");
else
m_fileHandle = fopen(m_filename.c_str(), "r+b");
if (!m_fileHandle)
THROW_FILE_NOT_FOUND_EXCEPTION(m_filename);