equal
deleted
inserted
replaced
|
1 // StreamBinder.h |
|
2 |
|
3 #ifndef __STREAMBINDER_H |
|
4 #define __STREAMBINDER_H |
|
5 |
|
6 #include "../IStream.h" |
|
7 #include "../../Windows/Synchronization.h" |
|
8 |
|
9 class CStreamBinder |
|
10 { |
|
11 NWindows::NSynchronization::CManualResetEvent _allBytesAreWritenEvent; |
|
12 NWindows::NSynchronization::CManualResetEvent _thereAreBytesToReadEvent; |
|
13 NWindows::NSynchronization::CManualResetEvent _readStreamIsClosedEvent; |
|
14 UInt32 _bufferSize; |
|
15 const void *_buffer; |
|
16 public: |
|
17 // bool ReadingWasClosed; |
|
18 UInt64 ProcessedSize; |
|
19 CStreamBinder() {} |
|
20 HRes CreateEvents(); |
|
21 |
|
22 void CreateStreams(ISequentialInStream **inStream, |
|
23 ISequentialOutStream **outStream); |
|
24 HRESULT Read(void *data, UInt32 size, UInt32 *processedSize); |
|
25 void CloseRead(); |
|
26 |
|
27 HRESULT Write(const void *data, UInt32 size, UInt32 *processedSize); |
|
28 void CloseWrite(); |
|
29 void ReInit(); |
|
30 }; |
|
31 |
|
32 #endif |