File indexing completed on 2024-05-26 05:28:40

0001 /* Copyright (C) 2013 Pali Rohár <pali.rohar@gmail.com>
0002 
0003    This file is part of the Trojita Qt IMAP e-mail client,
0004    http://trojita.flaska.net/
0005 
0006    This program is free software; you can redistribute it and/or
0007    modify it under the terms of the GNU General Public License as
0008    published by the Free Software Foundation; either version 2 of
0009    the License or (at your option) version 3 or any later version
0010    accepted by the membership of KDE e.V. (or its successor approved
0011    by the membership of KDE e.V.), which shall act as a proxy
0012    defined in Section 14 of version 3 of the license.
0013 
0014    This program is distributed in the hope that it will be useful,
0015    but WITHOUT ANY WARRANTY; without even the implied warranty of
0016    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0017    GNU General Public License for more details.
0018 
0019    You should have received a copy of the GNU General Public License
0020    along with this program.  If not, see <http://www.gnu.org/licenses/>.
0021 */
0022 
0023 #include <QTimer>
0024 
0025 #include "PluginJob.h"
0026 
0027 namespace Plugins
0028 {
0029 
0030 void PluginJob::start()
0031 {
0032     if (m_running)
0033         return;
0034     m_running = true;
0035     QTimer::singleShot(0, this, SLOT(doStart()));
0036 }
0037 
0038 void PluginJob::stop()
0039 {
0040     if (!m_running)
0041         return;
0042     QTimer::singleShot(0, this, SLOT(doStop()));
0043 }
0044 
0045 bool PluginJob::autoDelete()
0046 {
0047     return m_autoDelete;
0048 }
0049 
0050 void PluginJob::setAutoDelete(bool b)
0051 {
0052     m_autoDelete = b;
0053 }
0054 
0055 bool PluginJob::isRunning()
0056 {
0057     return m_running;
0058 }
0059 
0060 void PluginJob::finished()
0061 {
0062     m_running = false;
0063     if (m_autoDelete)
0064         deleteLater();
0065 }
0066 
0067 PluginJob::PluginJob(QObject *parent) : QObject(parent), m_running(false), m_autoDelete(false)
0068 {
0069 }
0070 
0071 PluginJob::~PluginJob()
0072 {
0073 }
0074 
0075 }
0076 
0077 // vim: set et ts=4 sts=4 sw=4