diff options
Diffstat (limited to 'Src/external_dependencies/openmpt-trunk/unarchiver/unlha.h')
-rw-r--r-- | Src/external_dependencies/openmpt-trunk/unarchiver/unlha.h | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/Src/external_dependencies/openmpt-trunk/unarchiver/unlha.h b/Src/external_dependencies/openmpt-trunk/unarchiver/unlha.h new file mode 100644 index 00000000..cf330255 --- /dev/null +++ b/Src/external_dependencies/openmpt-trunk/unarchiver/unlha.h @@ -0,0 +1,46 @@ +/* + * 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 |