File indexing completed on 2024-04-28 04:01:22

0001 /* -*- C++ -*-
0002     A dependency between jobs.
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 DEPENDENCY_H
0010 #define DEPENDENCY_H
0011 
0012 #include "jobpointer.h"
0013 
0014 namespace ThreadWeaver
0015 {
0016 class JobInterface;
0017 
0018 class THREADWEAVER_EXPORT Dependency
0019 {
0020 public:
0021     explicit Dependency(const JobPointer &dependent, const JobPointer &dependee);
0022     explicit Dependency(JobInterface *dependent, JobInterface *dependee);
0023     explicit Dependency(const JobPointer &dependent, JobInterface *dependee);
0024     explicit Dependency(JobInterface *dependent, const JobPointer &dependee);
0025 
0026     JobPointer dependent() const;
0027     JobPointer dependee() const;
0028 
0029 private:
0030     const JobPointer m_dependent;
0031     const JobPointer m_dependee;
0032 };
0033 
0034 }
0035 
0036 #endif // DEPENDENCY_H