1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-03-12 22:14:42 +00:00
OpenMW/components/files/lowlevelfile.cpp

54 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);
}