File indexing completed on 2024-04-28 04:01:24
0001 /* -*- C++ -*- 0002 This file declares the Sequence class. 0003 0004 SPDX-FileCopyrightText: 2004-2013 Mirko Boehm <mirko@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 0008 $Id: DebuggingAids.h 30 2005-08-16 16:16:04Z mirko $ 0009 */ 0010 0011 #ifndef JOBSEQUENCE_H 0012 #define JOBSEQUENCE_H 0013 0014 #include "collection.h" 0015 0016 namespace ThreadWeaver 0017 { 0018 namespace Private 0019 { 0020 class Sequence_Private; 0021 } 0022 0023 /** @brief A Sequence is a vector of Jobs that will be executed in a sequence. 0024 * 0025 * It is implemented by automatically creating the necessary dependencies between the Jobs in the sequence. 0026 * 0027 * Sequence provides a handy cleanup and unwind mechanism: the stop() slot. If it is called, the processing 0028 * of the sequence will stop, and all its remaining Jobs will be dequeued. 0029 * A Sequence is the first element of itself. */ 0030 class THREADWEAVER_EXPORT Sequence : public Collection 0031 { 0032 public: 0033 explicit Sequence(); 0034 0035 private: 0036 Private::Sequence_Private *d(); 0037 const Private::Sequence_Private *d() const; 0038 }; 0039 0040 } 0041 0042 #endif