winamp/Src/external_dependencies/openmpt-trunk/unarchiver/unlha.h

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