MCPcopy Create free account
hub / github.com/KDE/kdeconnect-kde / InputCaptureSession

Method InputCaptureSession

plugins/shareinputdevices/inputcapturesession.cpp:91–114  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

89};
90
91InputCaptureSession::InputCaptureSession(QObject *parent)
92 : QObject(parent)
93 , m_xkb(new Xkb)
94 , m_inputCapturePortal(new OrgFreedesktopPortalInputCaptureInterface(portalName(), portalPath(), QDBusConnection::sessionBus(), this))
95
96{
97 connect(m_inputCapturePortal, &OrgFreedesktopPortalInputCaptureInterface::Disabled, this, &InputCaptureSession::disabled);
98 connect(m_inputCapturePortal, &OrgFreedesktopPortalInputCaptureInterface::Activated, this, &InputCaptureSession::activated);
99 connect(m_inputCapturePortal, &OrgFreedesktopPortalInputCaptureInterface::Deactivated, this, &InputCaptureSession::deactivated);
100 connect(m_inputCapturePortal, &OrgFreedesktopPortalInputCaptureInterface::ZonesChanged, this, &InputCaptureSession::zonesChanged);
101
102 const QString token = u"kdeconnect_shareinputdevices%1"_s.arg(QRandomGenerator::global()->generate());
103 auto request = new OrgFreedesktopPortalRequestInterface(portalName(), requestPath(token), QDBusConnection::sessionBus(), this);
104 connect(request, &OrgFreedesktopPortalRequestInterface::Response, request, &QObject::deleteLater);
105 connect(request, &OrgFreedesktopPortalRequestInterface::Response, this, &InputCaptureSession::sessionCreated);
106 auto call = m_inputCapturePortal->CreateSession(QString(), {{u"handle_token"_s, token}, {u"session_handle_token"_s, token}, {u"capabilities"_s, 3u}});
107 connect(new QDBusPendingCallWatcher(call, this), &QDBusPendingCallWatcher::finished, request, [request](QDBusPendingCallWatcher *watcher) {
108 watcher->deleteLater();
109 if (watcher->isError()) {
110 qCWarning(KDECONNECT_PLUGIN_SHAREINPUTDEVICES) << "Error creating input capture session" << watcher->error();
111 request->deleteLater();
112 }
113 });
114}
115
116InputCaptureSession::~InputCaptureSession()
117{

Callers

nothing calls this directly

Calls 3

portalNameFunction · 0.85
portalPathFunction · 0.85
requestPathFunction · 0.85

Tested by

no test coverage detected