47 lines
865 B
C++
47 lines
865 B
C++
/*
|
|
* unlha.h
|
|
* -------
|
|
* Purpose: Header file for .lha loader
|
|
* Notes : (currently none)
|
|
* Authors: OpenMPT Devs
|
|
* The OpenMPT source code is released under the BSD license. Read LICENSE for more details.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include "openmpt/all/BuildSettings.hpp"
|
|
|
|
#include "archive.h"
|
|
|
|
|
|
#ifdef MPT_WITH_LHASA
|
|
|
|
typedef struct _LHAInputStream LHAInputStream;
|
|
typedef struct _LHAReader LHAReader;
|
|
typedef struct _LHAFileHeader LHAFileHeader;
|
|
|
|
#endif // MPT_WITH_LHASA
|
|
|
|
OPENMPT_NAMESPACE_BEGIN
|
|
|
|
#ifdef MPT_WITH_LHASA
|
|
|
|
class CLhaArchive : public ArchiveBase
|
|
{
|
|
private:
|
|
LHAInputStream *inputstream;
|
|
LHAReader *reader;
|
|
LHAFileHeader *firstfile;
|
|
void OpenArchive();
|
|
void CloseArchive();
|
|
public:
|
|
CLhaArchive(FileReader &file);
|
|
virtual ~CLhaArchive();
|
|
public:
|
|
bool ExtractFile(std::size_t index) override;
|
|
};
|
|
|
|
#endif // MPT_WITH_LHASA
|
|
|
|
OPENMPT_NAMESPACE_END
|