Beispiel #1
0
CISOFileReader* CISOFileReader::Create(const char* filename)
{
    if (IsCISOBlob(filename))
    {
        File::IOFile f(filename, "rb");
        return new CISOFileReader(f.ReleaseHandle());
    }
    else
        return NULL;
}
Beispiel #2
0
std::unique_ptr<CISOFileReader> CISOFileReader::Create(const std::string& filename)
{
	if (IsCISOBlob(filename))
	{
		File::IOFile f(filename, "rb");
		return std::unique_ptr<CISOFileReader>(new CISOFileReader(f.ReleaseHandle()));
	}

	return nullptr;
}
Beispiel #3
0
CISOFileReader* CISOFileReader::Create(const std::string& filename)
{
	if (IsCISOBlob(filename))
	{
		File::IOFile f(filename, "rb");
		return new CISOFileReader(f.ReleaseHandle());
	}
	else
	{
		return nullptr;
	}
}
Beispiel #4
0
IBlobReader* CreateBlobReader(const std::string& filename)
{
	if (cdio_is_cdrom(filename))
		return DriveReader::Create(filename);

	if (!File::Exists(filename))
		return nullptr;

	if (IsWbfsBlob(filename))
		return WbfsFileReader::Create(filename);

	if (IsCompressedBlob(filename))
		return CompressedBlobReader::Create(filename);

	if (IsCISOBlob(filename))
		return CISOFileReader::Create(filename);

	// Still here? Assume plain file - since we know it exists due to the File::Exists check above.
	return PlainFileReader::Create(filename);
}