Index: src/libchcore/TOverlappedWriterFB.h =================================================================== diff -u -N -rb0a003dc39e6d21e34779cf1cf5d8a07318c1f5f -r7892d3d5ca43da7dca4d9e8e0c321c21c3e13ea0 --- src/libchcore/TOverlappedWriterFB.h (.../TOverlappedWriterFB.h) (revision b0a003dc39e6d21e34779cf1cf5d8a07318c1f5f) +++ src/libchcore/TOverlappedWriterFB.h (.../TOverlappedWriterFB.h) (revision 7892d3d5ca43da7dca4d9e8e0c321c21c3e13ea0) @@ -51,6 +51,9 @@ TSubTaskBase::ESubOperationResult Start(); + void StartThreaded(); + TSubTaskBase::ESubOperationResult StopThreaded(); + TOverlappedWriterPtr GetWriter() const; void SetReleaseMode(); @@ -59,6 +62,9 @@ TSubTaskBase::ESubOperationResult OnWriteFailed(); TSubTaskBase::ESubOperationResult OnWriteFinished(bool& bStopProcessing); + HANDLE GetEventWritingFinishedHandle() const; + HANDLE GetEventProcessingFinishedHandle() const; + private: void AdjustProcessedSize(file_size_t fsWritten); TSubTaskBase::ESubOperationResult AdjustFinalSize(); @@ -71,6 +77,12 @@ TOverlappedProcessorRangePtr m_spDataRange; bool m_bReleaseMode = false; bool m_bOnlyCreate = false; + + TEvent m_eventProcessingFinished; + TEvent m_eventWritingFinished; + + TWorkerThreadController& m_rThreadController; + TSubTaskBase::ESubOperationResult m_eThreadResult = TSubTaskBase::eSubResult_Continue; }; using TOverlappedWriterFBPtr = std::shared_ptr;