1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
/*
SPDX-FileCopyrightText: 2017 Kai Uwe Broulik <kde@privat.broulik.de>
SPDX-FileCopyrightText: 2017 David Edmundson <davidedmundson@kde.org>
SPDX-License-Identifier: MIT
*/
#pragma once
#include "abstractkrunnerplugin.h"
#include <QDBusMessage>
#include <QJsonArray>
#include <QMultiHash>
class TabsRunnerPlugin : public AbstractKRunnerPlugin
{
Q_OBJECT
public:
explicit TabsRunnerPlugin(QObject *parent);
using AbstractBrowserPlugin::handleData;
void handleData(const QString &event, const QJsonObject &data) override;
// DBus API
RemoteActions Actions() override;
RemoteMatches Match(const QString &searchTerm) override;
void Run(const QString &id, const QString &actionId) override;
void Teardown() override;
private:
RemoteMatches match(const QString &query) const;
QMultiHash<QString, QDBusMessage> m_requests;
QJsonArray m_tabs;
};
|