mirror of
https://github.com/libretro/Play-.git
synced 2025-02-08 18:16:12 +00:00
Minor cleanup again.
git-svn-id: http://svn.purei.org/purei/trunk@1231 b36208d7-6611-0410-8bec-b1987f11c4a2
This commit is contained in:
parent
de08706f9f
commit
19f58d9a2d
@ -1,5 +1,6 @@
|
||||
#include "PsfZipArchive.h"
|
||||
#include "StdStreamUtils.h"
|
||||
#include "make_unique.h"
|
||||
|
||||
CPsfZipArchive::CPsfZipArchive()
|
||||
: m_inputFile(nullptr)
|
||||
@ -10,29 +11,21 @@ CPsfZipArchive::CPsfZipArchive()
|
||||
|
||||
CPsfZipArchive::~CPsfZipArchive()
|
||||
{
|
||||
if(m_archive)
|
||||
{
|
||||
delete m_archive;
|
||||
}
|
||||
|
||||
if(m_inputFile)
|
||||
{
|
||||
delete m_inputFile;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
void CPsfZipArchive::Open(const boost::filesystem::path& filePath)
|
||||
{
|
||||
m_inputFile = new Framework::CStdStream(Framework::CreateInputStdStream(filePath.native()));
|
||||
m_archive = new Framework::CZipArchiveReader(*m_inputFile);
|
||||
|
||||
for(auto fileHeaderIterator(std::begin(m_archive->GetFileHeaders()));
|
||||
fileHeaderIterator != std::end(m_archive->GetFileHeaders()); fileHeaderIterator++)
|
||||
assert(m_inputFile.IsEmpty());
|
||||
assert(!m_archive);
|
||||
m_inputFile = Framework::CreateInputStdStream(filePath.native());
|
||||
m_archive = std::make_unique<Framework::CZipArchiveReader>(m_inputFile);
|
||||
for(const auto& fileHeaderPair : m_archive->GetFileHeaders())
|
||||
{
|
||||
const Framework::Zip::ZIPDIRFILEHEADER& fileHeader(fileHeaderIterator->second);
|
||||
const auto& fileHeader(fileHeaderPair.second);
|
||||
if(fileHeader.uncompressedSize == 0) continue;
|
||||
FILEINFO fileInfo;
|
||||
fileInfo.name = fileHeaderIterator->first;
|
||||
fileInfo.name = fileHeaderPair.first;
|
||||
fileInfo.length = fileHeader.uncompressedSize;
|
||||
m_files.push_back(fileInfo);
|
||||
}
|
||||
|
@ -1,5 +1,4 @@
|
||||
#ifndef _PSF_ZIP_ARCHIVE_H_
|
||||
#define _PSF_ZIP_ARCHIVE_H_
|
||||
#pragma once
|
||||
|
||||
#include "PsfArchive.h"
|
||||
#include "StdStream.h"
|
||||
@ -11,12 +10,12 @@ public:
|
||||
CPsfZipArchive();
|
||||
virtual ~CPsfZipArchive();
|
||||
|
||||
virtual void Open(const boost::filesystem::path&);
|
||||
virtual void ReadFileContents(const char*, void*, unsigned int);
|
||||
virtual void Open(const boost::filesystem::path&) override;
|
||||
virtual void ReadFileContents(const char*, void*, unsigned int) override;
|
||||
|
||||
private:
|
||||
Framework::CStdStream* m_inputFile;
|
||||
Framework::CZipArchiveReader* m_archive;
|
||||
};
|
||||
typedef std::unique_ptr<Framework::CZipArchiveReader> ZipArchiveReaderPtr;
|
||||
|
||||
#endif
|
||||
Framework::CStdStream m_inputFile;
|
||||
ZipArchiveReaderPtr m_archive;
|
||||
};
|
||||
|
Loading…
x
Reference in New Issue
Block a user