KWin
Loading...
Searching...
No Matches
plugin.h
Go to the documentation of this file.
1/*
2 SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
3
4 SPDX-License-Identifier: GPL-2.0-or-later
5*/
6
7#pragma once
8
9#include <config-kwin.h>
10#include <kwin_export.h>
11
12#include <QObject>
13#include <memory>
14
15namespace KWin
16{
17
18#define PluginFactory_iid "org.kde.kwin.PluginFactoryInterface" KWIN_PLUGIN_VERSION_STRING
19
25class KWIN_EXPORT Plugin : public QObject
26{
27 Q_OBJECT
28
29public:
30 explicit Plugin();
31};
32
36class KWIN_EXPORT PluginFactory : public QObject
37{
38 Q_OBJECT
39
40public:
41 explicit PluginFactory();
42
43 virtual std::unique_ptr<Plugin> create() const = 0;
44};
45
46} // namespace KWin
47
48Q_DECLARE_INTERFACE(KWin::PluginFactory, PluginFactory_iid)
virtual std::unique_ptr< Plugin > create() const =0
#define PluginFactory_iid
Definition plugin.h:18