File indexing completed on 2024-05-05 08:04:32
0001 /* -*- C++ -*- 0002 This file declares the WorkingHardState class. 0003 0004 SPDX-FileCopyrightText: 2005-2013 Mirko Boehm <mirko@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 0008 $Id: WorkingHardState.h 32 2005-08-17 08:38:01Z mirko $ 0009 */ 0010 0011 #ifndef WorkingHardState_H 0012 #define WorkingHardState_H 0013 0014 #include "weaver.h" 0015 #include "weaverimplstate.h" 0016 0017 namespace ThreadWeaver 0018 { 0019 /* WorkingHardState handles the state dependent calls in the state where 0020 * jobs are executed. */ 0021 class WorkingHardState : public WeaverImplState 0022 { 0023 public: 0024 explicit WorkingHardState(Weaver *weaver); 0025 /** Suspend job processing. */ 0026 void suspend() override; 0027 /** Resume job processing. */ 0028 void resume() override; 0029 /** Assign a job to an idle thread. */ 0030 JobPointer applyForWork(Thread *th, bool wasBusy) override; 0031 /** Overload. */ 0032 void activated() override; 0033 /** reimpl */ 0034 StateId stateId() const override; 0035 }; 0036 0037 } 0038 0039 #endif // WorkingHardIState_H