X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/600166152d857ccfc9df15b25bd1237b74c71d43..c1739d5c4d55401a03462467ed446763924be844:/src/views/versioncontrol/updateitemstatesthread.h diff --git a/src/views/versioncontrol/updateitemstatesthread.h b/src/views/versioncontrol/updateitemstatesthread.h index a28169755..eac28bb78 100644 --- a/src/views/versioncontrol/updateitemstatesthread.h +++ b/src/views/versioncontrol/updateitemstatesthread.h @@ -1,39 +1,24 @@ -/*************************************************************************** - * Copyright (C) 2009 by Peter Penz * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - * This program is distributed in the hope that it will be useful, * - * but WITHOUT ANY WARRANTY; without even the implied warranty of * - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * - * GNU General Public License for more details. * - * * - * You should have received a copy of the GNU General Public License * - * along with this program; if not, write to the * - * Free Software Foundation, Inc., * - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * - ***************************************************************************/ +/* + * SPDX-FileCopyrightText: 2009 Peter Penz + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ #ifndef UPDATEITEMSTATESTHREAD_H #define UPDATEITEMSTATESTHREAD_H -#include -#include +#include "dolphin_export.h" +#include "views/versioncontrol/versioncontrolobserver.h" #include #include -class KVersionControlPlugin; - /** * The performance of updating the version state of items depends * on the used plugin. To prevent that Dolphin gets blocked by a * slow plugin, the updating is delegated to a thread. */ -class LIBDOLPHINPRIVATE_EXPORT UpdateItemStatesThread : public QThread +class DOLPHIN_EXPORT UpdateItemStatesThread : public QThread { Q_OBJECT @@ -47,35 +32,19 @@ public: * @param itemStates List of items, where the states get updated. */ UpdateItemStatesThread(KVersionControlPlugin* plugin, - const QList& itemStates); - virtual ~UpdateItemStatesThread(); - - /** - * Whenever the plugin is accessed by the thread creator, lockPlugin() must - * be invoked. True is returned, if the plugin could be locked within 300 - * milliseconds. - */ - bool lockPlugin(); - - /** - * Must be invoked if lockPlugin() returned true and plugin has been accessed - * by the thread creator. - */ - void unlockPlugin(); - - QList itemStates() const; + const QMap >& itemStates); + ~UpdateItemStatesThread() override; - bool retrievedItems() const; + QMap > itemStates() const; protected: - virtual void run(); + void run() override; private: QMutex* m_globalPluginMutex; // Protects the m_plugin globally KVersionControlPlugin* m_plugin; - bool m_retrievedItems; - QList m_itemStates; + QMap > m_itemStates; }; #endif // UPDATEITEMSTATESTHREAD_H