File indexing completed on 2024-11-24 04:44:35

0001 /*  This file is part of the KDE project
0002     SPDX-FileCopyrightText: 2009, 2010 Kevin Krammer <kevin.krammer@gmx.at>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #pragma once
0008 
0009 #include "session_p.h"
0010 
0011 #include <memory>
0012 
0013 namespace Akonadi
0014 {
0015 namespace FileStore
0016 {
0017 class FiFoQueueJobSessionPrivate;
0018 
0019 /**
0020  */
0021 class FiFoQueueJobSession : public AbstractJobSession
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     explicit FiFoQueueJobSession(QObject *parent = nullptr);
0027 
0028     ~FiFoQueueJobSession() override;
0029 
0030     void addJob(Job *job) override;
0031 
0032     void cancelAllJobs() override;
0033 
0034 protected:
0035     void removeJob(Job *job) override;
0036 
0037 private:
0038     std::unique_ptr<FiFoQueueJobSessionPrivate> const d;
0039 };
0040 }
0041 }