47 lines
1 KiB
C++
47 lines
1 KiB
C++
|
/*
|
||
|
SPDX-FileCopyrightText: 2020 Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||
|
|
||
|
SPDX-License-Identifier: LGPL-2.0-or-later
|
||
|
*/
|
||
|
|
||
|
#include "screencastmanager.h"
|
||
|
#include "main.h"
|
||
|
|
||
|
#include <KPluginFactory>
|
||
|
|
||
|
using namespace KWin;
|
||
|
|
||
|
class KWIN_EXPORT ScreencastManagerFactory : public PluginFactory
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
Q_PLUGIN_METADATA(IID PluginFactory_iid FILE "metadata.json")
|
||
|
Q_INTERFACES(KWin::PluginFactory)
|
||
|
|
||
|
public:
|
||
|
explicit ScreencastManagerFactory(QObject *parent = nullptr);
|
||
|
|
||
|
Plugin *create() const override;
|
||
|
};
|
||
|
|
||
|
ScreencastManagerFactory::ScreencastManagerFactory(QObject *parent)
|
||
|
: PluginFactory(parent)
|
||
|
{
|
||
|
}
|
||
|
|
||
|
Plugin *ScreencastManagerFactory::create() const
|
||
|
{
|
||
|
switch (kwinApp()->operationMode()) {
|
||
|
case Application::OperationModeX11:
|
||
|
return nullptr;
|
||
|
case Application::OperationModeXwayland:
|
||
|
case Application::OperationModeWaylandOnly:
|
||
|
return new ScreencastManager();
|
||
|
default:
|
||
|
return nullptr;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
K_EXPORT_PLUGIN_VERSION(KWIN_PLUGIN_API_VERSION)
|
||
|
|
||
|
#include "main.moc"
|