aboutsummaryrefslogtreecommitdiff
path: root/Src/external_dependencies/openmpt-trunk/unarchiver/unlha.h
diff options
context:
space:
mode:
Diffstat (limited to 'Src/external_dependencies/openmpt-trunk/unarchiver/unlha.h')
-rw-r--r--Src/external_dependencies/openmpt-trunk/unarchiver/unlha.h46
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