Plasma-workspace

screencasting.h
1/*
2 SPDX-FileCopyrightText: 2020 Aleix Pol Gonzalez <aleixpol@kde.org>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#pragma once
8
9#include "qwayland-zkde-screencast-unstable-v1.h"
10
11#include <QObject>
12#include <QWaylandClientExtensionTemplate>
13#include <qqmlregistration.h>
14
15#include <memory>
16
17class ScreencastingStream : public QObject, public QtWayland::zkde_screencast_stream_unstable_v1
18{
20
21public:
22 ScreencastingStream();
23 ~ScreencastingStream() override;
24
26 void created(quint32 nodeid);
27 void failed(const QString &error);
28 void closed();
29
30protected:
31 void zkde_screencast_stream_unstable_v1_created(uint32_t node) override;
32 void zkde_screencast_stream_unstable_v1_closed() override;
33 void zkde_screencast_stream_unstable_v1_failed(const QString &error) override;
34};
35
36class Screencasting : public QWaylandClientExtensionTemplate<Screencasting>, public QtWayland::zkde_screencast_unstable_v1
37{
38 Q_OBJECT
39 QML_ELEMENT
40 QML_UNCREATABLE("Use ScreencastingItem")
41
42public:
43 explicit Screencasting();
44 ~Screencasting() override;
45
46 std::unique_ptr<ScreencastingStream> createOutputStream(const QString &outputName, pointer mode);
47 std::unique_ptr<ScreencastingStream> createWindowStream(const QString &uuid, pointer mode);
48};
Q_OBJECTQ_OBJECT
Q_SIGNALSQ_SIGNALS
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:14:59 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.