1
0
Fork 0
mirror of https://github.com/OpenMW/openmw.git synced 2025-02-05 20:15:33 +00:00
openmw/components/files/lowlevelfile.cpp

53 lines
963 B
C++

#include "lowlevelfile.hpp"
#include <stdexcept>
#include <sstream>
#include <cassert>
namespace File = Platform::File;
LowLevelFile::~LowLevelFile()
{
if (mHandle != File::Handle::Invalid)
File::close(mHandle);
}
void LowLevelFile::open(char const* filename)
{
mHandle = File::open(filename);
}
void LowLevelFile::close()
{
if (mHandle != File::Handle::Invalid)
File::close(mHandle);
mHandle = File::Handle::Invalid;
}
size_t LowLevelFile::size()
{
assert(mHandle != File::Handle::Invalid);
return File::size(mHandle);
}
void LowLevelFile::seek(size_t position)
{
assert(mHandle != File::Handle::Invalid);
return File::seek(mHandle, position);
}
size_t LowLevelFile::tell()
{
assert(mHandle != File::Handle::Invalid);
return File::tell(mHandle);
}
size_t LowLevelFile::read(void* data, size_t size)
{
assert(mHandle != File::Handle::Invalid);
return File::read(mHandle, data, size);
}