summaryrefslogtreecommitdiffstats
path: root/hostTools/lzma/compress/IInOutStreams.h
diff options
context:
space:
mode:
Diffstat (limited to 'hostTools/lzma/compress/IInOutStreams.h')
-rw-r--r--hostTools/lzma/compress/IInOutStreams.h31
1 files changed, 31 insertions, 0 deletions
diff --git a/hostTools/lzma/compress/IInOutStreams.h b/hostTools/lzma/compress/IInOutStreams.h
new file mode 100644
index 0000000..c084217
--- /dev/null
+++ b/hostTools/lzma/compress/IInOutStreams.h
@@ -0,0 +1,31 @@
+#ifndef __IINOUTSTREAMS_H
+#define __IINOUTSTREAMS_H
+
+#include "Portable.h"
+
+class ISequentialInStream
+{
+ const char* data;
+ unsigned size;
+public:
+ ISequentialInStream(const char* Adata, unsigned Asize) : data(Adata), size(Asize) { }
+
+ HRESULT Read(void *aData, UINT32 aSize, UINT32 *aProcessedSize);
+};
+
+class ISequentialOutStream
+{
+ char* data;
+ unsigned size;
+ bool overflow;
+ unsigned total;
+public:
+ ISequentialOutStream(char* Adata, unsigned Asize) : data(Adata), size(Asize), overflow(false), total(0) { }
+
+ bool overflow_get() const { return overflow; }
+ unsigned size_get() const { return total; }
+
+ HRESULT Write(const void *aData, UINT32 aSize, UINT32 *aProcessedSize);
+};
+
+#endif