File: tabsrunnerplugin.h

package info (click to toggle)
plasma-browser-integration 6.5.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,000 kB
  • sloc: cpp: 3,195; javascript: 2,553; xml: 127; python: 77; sh: 46; makefile: 16
file content (37 lines) | stat: -rw-r--r-- 909 bytes parent folder | download
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;
};