File indexing completed on 2024-05-05 17:44:59

0001 /*
0002     SPDX-FileCopyrightText: 2016 Aleix Pol Gonzalez <aleixpol@kde.org>
0003 
0004     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0005 */
0006 
0007 #pragma once
0008 
0009 #include <AppStreamQt/pool.h>
0010 #include <KRunner/AbstractRunner>
0011 #include <QMutex>
0012 
0013 class InstallerRunner : public Plasma::AbstractRunner
0014 {
0015     Q_OBJECT
0016 
0017 public:
0018     InstallerRunner(QObject *parent, const KPluginMetaData &metaData, const QVariantList &args);
0019     ~InstallerRunner() override;
0020 
0021     void match(Plasma::RunnerContext &context) override;
0022     void run(const Plasma::RunnerContext &context, const Plasma::QueryMatch &action) override;
0023 
0024 private:
0025     QList<AppStream::Component> findComponentsByString(const QString &query);
0026 
0027     AppStream::Pool m_db;
0028     QMutex m_appstreamMutex;
0029 };