File indexing completed on 2024-04-28 04:01:23
0001 /* -*- C++ -*- 0002 Shared pointer based jobs that are managed by the caller in ThreadWeaver. 0003 0004 SPDX-FileCopyrightText: 2005-2013 Mirko Boehm <mirko@kde.org> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #ifndef MANAGEDJOBPOINTER_H 0010 #define MANAGEDJOBPOINTER_H 0011 0012 #include <QSharedPointer> 0013 0014 #include "jobinterface.h" 0015 0016 namespace ThreadWeaver 0017 { 0018 inline void doNotDeleteJob(JobInterface *) 0019 { 0020 } 0021 0022 template<typename T> 0023 class ManagedJobPointer : public QSharedPointer<T> 0024 { 0025 public: 0026 ManagedJobPointer(T *job) 0027 : QSharedPointer<T>(job, doNotDeleteJob) 0028 { 0029 } 0030 }; 0031 0032 } 0033 0034 #endif // MANAGEDJOBPOINTER_H