summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp
diff options
context:
space:
mode:
authorLasse Holmstedt <lasse.holmstedt@nokia.com>2011-05-25 11:24:37 +0200
committerQt Continuous Integration System <qt-info@nokia.com>2011-05-25 17:05:49 +0200
commit1909e038823f8dff9d18882b64e637b15234f837 (patch)
tree6a34c18096c7a0fdd67a19acc5451807d1a584e0 /src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp
parent6fe12b0e80b95775b1daa201ea601e537c600286 (diff)
Add authentication token support for wayland windows
For compositors that support it, the wayland clients can associate themselves with an auth token, specified by WL_AUTHENTICATION_TOKEN env var, or by directly specifying it in the wayland client plugin. Change-Id: I74a50a27c7c61c2b2cf1e09868618f36edc94cb1 Reviewed-by: Samuel Rødal Reviewed-on: http://codereview.qt.nokia.com/116 Reviewed-by: Paul Olav Tvete <paul.tvete@nokia.com>
Diffstat (limited to 'src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp')
-rw-r--r--src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp b/src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp
index bf8342308e..4236f395cb 100644
--- a/src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp
+++ b/src/plugins/platforms/wayland/windowmanager_integration/qwaylandwindowmanagerintegration.cpp
@@ -68,12 +68,11 @@ struct wl_windowmanager *QWaylandWindowManagerIntegration::windowManager() const
return mWaylandWindowManager;
}
-void QWaylandWindowManagerIntegration::wlHandleListenerGlobal(wl_display *display, uint32_t id, const char *interface,
- uint32_t version, void *data)
+void QWaylandWindowManagerIntegration::wlHandleListenerGlobal(wl_display *display, uint32_t id, const char *interface, uint32_t version, void *data)
{
if (strcmp(interface, "wl_windowmanager") == 0) {
QWaylandWindowManagerIntegration *integration = static_cast<QWaylandWindowManagerIntegration *>(data);
- integration->mWaylandWindowManager = wl_windowmanager_create(display,id, version);
+ integration->mWaylandWindowManager = wl_windowmanager_create(display, id);
}
}
@@ -83,3 +82,11 @@ void QWaylandWindowManagerIntegration::mapClientToProcess(long long processId)
wl_windowmanager_map_client_to_process(mWaylandWindowManager, (uint32_t) processId);
}
+void QWaylandWindowManagerIntegration::authenticateWithToken(const QByteArray &token)
+{
+ QByteArray authToken = token;
+ if (authToken.isEmpty())
+ authToken = qgetenv("WL_AUTHENTICATION_TOKEN");
+ if (mWaylandWindowManager)
+ wl_windowmanager_authenticate_with_token(mWaylandWindowManager, authToken.constData());
+}