X-Git-Url: https://git.carlh.net/gitweb/?a=blobdiff_plain;f=src%2Fwx%2Fsuspender.cc;h=7680c147b097c9e36a3f14d9a7ae84f93039a086;hb=d0188ed3e1ea5536e729e93b87d54114368120ac;hp=9b1b64c8504e260ff84dd5b718a3f4c5da8aa283;hpb=746aa7337ac2d51a4fa09039c1d5d7717cc880fa;p=dcpomatic.git diff --git a/src/wx/suspender.cc b/src/wx/suspender.cc index 9b1b64c85..7680c147b 100644 --- a/src/wx/suspender.cc +++ b/src/wx/suspender.cc @@ -1,5 +1,5 @@ /* - Copyright (C) 2020 Carl Hetherington + Copyright (C) 2020-2021 Carl Hetherington This file is part of DCP-o-matic. @@ -18,51 +18,57 @@ */ + #include "suspender.h" -#include -Suspender::Suspender(boost::function handler) + +Suspender::Suspender(std::function handler) : _handler (handler) - , _count (0) { } + Suspender::Block::Block (Suspender* s) : _suspender (s) { _suspender->increment (); } + Suspender::Block::~Block () { _suspender->decrement (); } + Suspender::Block Suspender::block () { return Block (this); } + void Suspender::increment () { ++_count; } + void Suspender::decrement () { --_count; if (_count == 0) { - BOOST_FOREACH (int i, _pending) { + for (auto i: _pending) { _handler (i); } _pending.clear (); } } + bool Suspender::check (int property) {