Mercurial > vba-linux
annotate src/win32/7zip/7z/CPP/7zip/Common/StreamBinder.h @ 1:f9f4f1b99eed
importing src directory
author | Robert McIntyre <rlm@mit.edu> |
---|---|
date | Sat, 03 Mar 2012 10:31:27 -0600 |
parents | |
children |
rev | line source |
---|---|
rlm@1 | 1 // StreamBinder.h |
rlm@1 | 2 |
rlm@1 | 3 #ifndef __STREAMBINDER_H |
rlm@1 | 4 #define __STREAMBINDER_H |
rlm@1 | 5 |
rlm@1 | 6 #include "../IStream.h" |
rlm@1 | 7 #include "../../Windows/Synchronization.h" |
rlm@1 | 8 |
rlm@1 | 9 class CStreamBinder |
rlm@1 | 10 { |
rlm@1 | 11 NWindows::NSynchronization::CManualResetEvent _allBytesAreWritenEvent; |
rlm@1 | 12 NWindows::NSynchronization::CManualResetEvent _thereAreBytesToReadEvent; |
rlm@1 | 13 NWindows::NSynchronization::CManualResetEvent _readStreamIsClosedEvent; |
rlm@1 | 14 UInt32 _bufferSize; |
rlm@1 | 15 const void *_buffer; |
rlm@1 | 16 public: |
rlm@1 | 17 // bool ReadingWasClosed; |
rlm@1 | 18 UInt64 ProcessedSize; |
rlm@1 | 19 CStreamBinder() {} |
rlm@1 | 20 HRes CreateEvents(); |
rlm@1 | 21 |
rlm@1 | 22 void CreateStreams(ISequentialInStream **inStream, |
rlm@1 | 23 ISequentialOutStream **outStream); |
rlm@1 | 24 HRESULT Read(void *data, UInt32 size, UInt32 *processedSize); |
rlm@1 | 25 void CloseRead(); |
rlm@1 | 26 |
rlm@1 | 27 HRESULT Write(const void *data, UInt32 size, UInt32 *processedSize); |
rlm@1 | 28 void CloseWrite(); |
rlm@1 | 29 void ReInit(); |
rlm@1 | 30 }; |
rlm@1 | 31 |
rlm@1 | 32 #endif |