4#include "Stroika/Foundation/StroikaPreComp.h"
6#include "ProgressMonitor.h"
17 : fRep_{make_shared<Rep_> ()}
24 fRep_->fWorkThread_ = workThread;
36 for (
auto i : callbacks) {
44 fRep_->fCallbacks_.rwget ().rwref ().Append (make_shared<ChangedCallbackType> (progressChangedCallback));
50 fRep_->fCanceled_ =
true;
51 if (fRep_->fWorkThread_ !=
nullptr) {
52 fRep_->fWorkThread_.Abort ();
61void ProgressMonitor::Updater::CallNotifyProgress_ () const noexcept
64 for (shared_ptr<ChangedCallbackType> f : fRep_->fCallbacks_.load ()) {
#define RequireNotNull(p)
nonvirtual void AddOnProgressCallback(const ChangedCallbackType &progressChangedCallback)
Thread::Ptr is a (unsynchronized) smart pointer referencing an internally synchronized std::thread ob...
Iterable<T> is a base class for containers which easily produce an Iterator<T> to traverse them.