From 49c443896dcac8c4eaf08c4024e8bd2366ad899a Mon Sep 17 00:00:00 2001 From: LogicParrot Date: Sat, 2 Sep 2017 10:45:06 +0300 Subject: Revert "Replace ItemCallbacks with lambdas (#3948)" This reverts commit 496c337cdfa593654018c171f6a74c28272265b5. --- src/DeadlockDetect.cpp | 38 ++++++++++++++++++++++++++++++++------ 1 file changed, 32 insertions(+), 6 deletions(-) (limited to 'src/DeadlockDetect.cpp') diff --git a/src/DeadlockDetect.cpp b/src/DeadlockDetect.cpp index 411d452f6..df14e610b 100644 --- a/src/DeadlockDetect.cpp +++ b/src/DeadlockDetect.cpp @@ -56,12 +56,25 @@ bool cDeadlockDetect::Start(int a_IntervalSec) m_IntervalSec = a_IntervalSec; // Read the initial world data: - cRoot::Get()->ForEachWorld([=](cWorld & a_World) + class cFillIn : + public cWorldListCallback + { + public: + cFillIn(cDeadlockDetect * a_Detect) : + m_Detect(a_Detect) + { + } + + virtual bool Item(cWorld * a_World) override { - SetWorldAge(a_World.GetName(), a_World.GetWorldAge()); + m_Detect->SetWorldAge(a_World->GetName(), a_World->GetWorldAge()); return false; } - ); + + protected: + cDeadlockDetect * m_Detect; + } FillIn(this); + cRoot::Get()->ForEachWorld(FillIn); return super::Start(); } @@ -102,12 +115,25 @@ void cDeadlockDetect::Execute(void) while (!m_ShouldTerminate) { // Check the world ages: - cRoot::Get()->ForEachWorld([=](cWorld & a_World) + class cChecker : + public cWorldListCallback + { + public: + cChecker(cDeadlockDetect * a_Detect) : + m_Detect(a_Detect) + { + } + + protected: + cDeadlockDetect * m_Detect; + + virtual bool Item(cWorld * a_World) override { - CheckWorldAge(a_World.GetName(), a_World.GetWorldAge()); + m_Detect->CheckWorldAge(a_World->GetName(), a_World->GetWorldAge()); return false; } - ); + } Checker(this); + cRoot::Get()->ForEachWorld(Checker); std::this_thread::sleep_for(std::chrono::milliseconds(CYCLE_MILLISECONDS)); } // while (should run) -- cgit v1.2.3