Files
dolphin/Source/Core/DiscIO/FileBlob.cpp
T

40 lines
692 B
C++
Raw Normal View History

// Copyright 2013 Dolphin Emulator Project
// Licensed under GPLv2
// Refer to the license.txt file included.
2008-12-08 05:30:24 +00:00
2014-03-12 15:33:41 -04:00
#include <string>
2014-02-17 05:18:15 -05:00
#include "DiscIO/FileBlob.h"
2008-12-08 05:30:24 +00:00
namespace DiscIO
{
PlainFileReader::PlainFileReader(std::FILE* file)
: m_file(file)
2008-12-08 05:30:24 +00:00
{
m_size = m_file.GetSize();
2008-12-08 05:30:24 +00:00
}
2014-03-12 15:33:41 -04:00
PlainFileReader* PlainFileReader::Create(const std::string& filename)
2008-12-08 05:30:24 +00:00
{
File::IOFile f(filename, "rb");
if (f)
return new PlainFileReader(f.ReleaseHandle());
2008-12-08 05:30:24 +00:00
else
2014-03-09 21:14:26 +01:00
return nullptr;
2008-12-08 05:30:24 +00:00
}
bool PlainFileReader::Read(u64 offset, u64 nbytes, u8* out_ptr)
{
if (m_file.Seek(offset, SEEK_SET) && m_file.ReadBytes(out_ptr, nbytes))
{
return true;
}
else
{
m_file.Clear();
return false;
}
2008-12-08 05:30:24 +00:00
}
} // namespace