/* -*- C++ -*- This file declares the SuspendingState class. SPDX-FileCopyrightText: 2005-2013 Mirko Boehm SPDX-License-Identifier: LGPL-2.0-or-later $Id: SuspendingState.h 32 2005-08-17 08:38:01Z mirko $ */ #ifndef SuspendingState_H #define SuspendingState_H #include "weaver.h" #include "weaverimplstate.h" namespace ThreadWeaver { /* * SuspendingState is the state after suspend() has been called, but * before all threads finished executing the current job and blocked. */ class SuspendingState : public WeaverImplState { public: explicit SuspendingState(Weaver *weaver); /*! Suspend job processing. */ void suspend() override; /*! Resume job processing. */ void resume() override; /*! Assign a job to an idle thread. */ JobPointer applyForWork(Thread *th, bool wasBusy) override; /*! Overload. */ void activated() override; /*! reimpl */ StateId stateId() const override; }; } #endif // SuspendingState_H