KWaylandServer::Display

KWaylandServer::Display Class Reference

#include <display.h>

Inheritance diagram for KWaylandServer::Display:

Public Types

enum  StartMode { ConnectToSocket, ConnectClientsOnly }
 

Properties

bool automaticSocketNaming
 
bool running
 
QString socketName
 
- Properties inherited from QObject
 objectName
 

Signals

void aboutToTerminate ()
 
void automaticSocketNamingChanged (bool)
 
void clientConnected (KWaylandServer::ClientConnection *)
 
void clientDisconnected (KWaylandServer::ClientConnection *)
 
void runningChanged (bool)
 
void socketNameChanged (const QString &)
 

Public Member Functions

 Display (QObject *parent=nullptr)
 
bool automaticSocketNaming () const
 
QVector< ClientConnection * > connections () const
 
AppMenuManagerInterfacecreateAppMenuManagerInterface (QObject *parent=nullptr)
 
BlurManagerInterfacecreateBlurManager (QObject *parent=nullptr)
 
ClientConnectioncreateClient (int fd)
 
CompositorInterfacecreateCompositor (QObject *parent=nullptr)
 
ContrastManagerInterfacecreateContrastManager (QObject *parent=nullptr)
 
DataDeviceManagerInterfacecreateDataDeviceManager (QObject *parent=nullptr)
 
DpmsManagerInterfacecreateDpmsManager (QObject *parent=nullptr)
 
EglStreamControllerInterfacecreateEglStreamControllerInterface (QObject *parent=nullptr)
 
FakeInputInterfacecreateFakeInput (QObject *parent=nullptr)
 
IdleInterfacecreateIdle (QObject *parent=nullptr)
 
IdleInhibitManagerInterfacecreateIdleInhibitManager (const IdleInhibitManagerInterfaceVersion &version, QObject *parent=nullptr)
 
KeyStateInterface * createKeyStateInterface (QObject *parent=nullptr)
 
LinuxDmabufUnstableV1InterfacecreateLinuxDmabufInterface (QObject *parent=nullptr)
 
OutputInterfacecreateOutput (QObject *parent=nullptr)
 
OutputDeviceInterfacecreateOutputDevice (QObject *parent=nullptr)
 
OutputManagementInterface * createOutputManagement (QObject *parent=nullptr)
 
PlasmaShellInterfacecreatePlasmaShell (QObject *parent=nullptr)
 
PlasmaVirtualDesktopManagementInterfacecreatePlasmaVirtualDesktopManagement (QObject *parent=nullptr)
 
PlasmaWindowManagementInterfacecreatePlasmaWindowManagement (QObject *parent=nullptr)
 
PointerConstraintsInterfacecreatePointerConstraints (const PointerConstraintsInterfaceVersion &version, QObject *parent=nullptr)
 
PointerGesturesInterfacecreatePointerGestures (const PointerGesturesInterfaceVersion &version, QObject *parent=nullptr)
 
QtSurfaceExtensionInterface * createQtSurfaceExtension (QObject *parent=nullptr)
 
RelativePointerManagerInterfacecreateRelativePointerManager (const RelativePointerInterfaceVersion &version, QObject *parent=nullptr)
 
RemoteAccessManagerInterface * createRemoteAccessManager (QObject *parent=nullptr)
 
SeatInterfacecreateSeat (QObject *parent=nullptr)
 
ServerSideDecorationManagerInterfacecreateServerSideDecorationManager (QObject *parent=nullptr)
 
ServerSideDecorationPaletteManagerInterfacecreateServerSideDecorationPaletteManager (QObject *parent=nullptr)
 
ShadowManagerInterfacecreateShadowManager (QObject *parent=nullptr)
 
void createShm ()
 
SlideManagerInterfacecreateSlideManager (QObject *parent=nullptr)
 
SubCompositorInterfacecreateSubCompositor (QObject *parent=nullptr)
 
TabletManagerInterface * createTabletManagerInterface (QObject *parent=nullptr)
 
TextInputManagerInterfacecreateTextInputManager (const TextInputInterfaceVersion &version, QObject *parent=nullptr)
 
XdgDecorationManagerInterfacecreateXdgDecorationManager (XdgShellInterface *shellInterface, QObject *parent=nullptr)
 
XdgForeignInterfacecreateXdgForeignInterface (QObject *parent=nullptr)
 
XdgOutputManagerInterfacecreateXdgOutputManager (QObject *parent=nullptr)
 
XdgShellInterfacecreateXdgShell (const XdgShellInterfaceVersion &version, QObject *parent=nullptr)
 
void dispatchEvents (int msecTimeout=-1)
 
void * eglDisplay () const
 
ClientConnectiongetConnection (wl_client *client)
 
bool isRunning () const
 
quint32 nextSerial ()
 
 operator wl_display * ()
 
 operator wl_display * () const
 
QList< OutputDeviceInterface * > outputDevices () const
 
QList< OutputInterface * > outputs () const
 
void removeOutput (OutputInterface *output)
 
void removeOutputDevice (OutputDeviceInterface *output)
 
QVector< SeatInterface * > seats () const
 
quint32 serial ()
 
void setAutomaticSocketNaming (bool automaticSocketNaming)
 
void setEglDisplay (void *display)
 
void setSocketName (const QString &name)
 
QString socketName () const
 
void start (StartMode mode=StartMode::ConnectToSocket)
 
void startLoop ()
 
void terminate ()
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
bool blockSignals (bool block)
 
const QObjectListchildren () const const
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectInfo ()
 
void dumpObjectInfo () const const
 
void dumpObjectTree ()
 
void dumpObjectTree () const const
 
QList< QByteArraydynamicPropertyNames () const const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
bool inherits (const char *className) const const
 
void installEventFilter (QObject *filterObj)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
void killTimer (int id)
 
virtual const QMetaObjectmetaObject () const const
 
void moveToThread (QThread *targetThread)
 
QString objectName () const const
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
QVariant property (const char *name) const const
 
 Q_CLASSINFO (Name, Value)
 
 Q_DISABLE_COPY (Class)
 
 Q_DISABLE_COPY_MOVE (Class)
 
 Q_DISABLE_MOVE (Class)
 
 Q_EMIT Q_EMIT
 
 Q_ENUM (...)
 
 Q_ENUM_NS (...)
 
 Q_ENUMS (...)
 
 Q_FLAG (...)
 
 Q_FLAG_NS (...)
 
 Q_FLAGS (...)
 
 Q_GADGET Q_GADGET
 
 Q_INTERFACES (...)
 
 Q_INVOKABLE Q_INVOKABLE
 
 Q_NAMESPACE Q_NAMESPACE
 
 Q_NAMESPACE_EXPORT (EXPORT_MACRO)
 
 Q_OBJECT Q_OBJECT
 
 Q_PROPERTY (...)
 
 Q_REVISION Q_REVISION
 
 Q_SET_OBJECT_NAME (Object)
 
 Q_SIGNAL Q_SIGNAL
 
 Q_SIGNALS Q_SIGNALS
 
 Q_SLOT Q_SLOT
 
 Q_SLOTS Q_SLOTS
 
qFindChild (const QObject *obj, const QString &name)
 
QList< T > qFindChildren (const QObject *obj, const QRegExp &regExp)
 
QList< T > qFindChildren (const QObject *obj, const QString &name)
 
qobject_cast (QObject *object)
 
qobject_cast (const QObject *object)
 
 QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT
 
void removeEventFilter (QObject *obj)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const const
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
QThreadthread () const const
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QMetaObject::Connection connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
bool disconnect (const QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Public Attributes inherited from QObject
typedef QObjectList
 
- Protected Member Functions inherited from QObject
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
int receivers (const char *signal) const const
 
QObjectsender () const const
 
int senderSignalIndex () const const
 
virtual void timerEvent (QTimerEvent *event)
 

Detailed Description

Class holding the Wayland server display loop.

Todo:
Improve documentation

Definition at line 86 of file display.h.

Member Enumeration Documentation

How to setup the server connection.

  • ConnectToSocket: the server will open the socket identified by the socket name
  • ConnectClientsOnly: only connections through createClient are possible

Definition at line 120 of file display.h.

Member Function Documentation

AppMenuManagerInterface * KWaylandServer::Display::createAppMenuManagerInterface ( QObject parent = nullptr)

Creates the AppMenuManagerInterface in interface version.

Returns
The created manager object
Since
5.42

Definition at line 453 of file display.cpp.

ClientConnection * KWaylandServer::Display::createClient ( int  fd)

Create a client for the given file descriptor.

The client is created as if it connected through the normal server socket. This method can be used to create a connection bypassing the normal socket connection. It's recommended to use together with socketpair and pass the other side of the socket to the client.

Parameters
fdThe file descriptor for the socket to the client
Returns
The new ClientConnection or null on failure.

Definition at line 606 of file display.cpp.

EglStreamControllerInterface * KWaylandServer::Display::createEglStreamControllerInterface ( QObject parent = nullptr)

Creates the EglStreamControllerInterface.

Returns
the created EGL Stream controller
Since
5.58

Definition at line 495 of file display.cpp.

IdleInhibitManagerInterface * KWaylandServer::Display::createIdleInhibitManager ( const IdleInhibitManagerInterfaceVersion &  version,
QObject parent = nullptr 
)

Creates the IdleInhibitManagerInterface in interface version.

Returns
The created manager object
Since
5.41

Definition at line 441 of file display.cpp.

KeyStateInterface * KWaylandServer::Display::createKeyStateInterface ( QObject parent = nullptr)
Since
5.60

Definition at line 502 of file display.cpp.

LinuxDmabufUnstableV1Interface * KWaylandServer::Display::createLinuxDmabufInterface ( QObject parent = nullptr)

Creates the LinuxDmabufUnstableV1Interface in interface version.

Returns
A pointer to the created interface

Definition at line 467 of file display.cpp.

PlasmaVirtualDesktopManagementInterface * KWaylandServer::Display::createPlasmaVirtualDesktopManagement ( QObject parent = nullptr)

Creates the PlasmaVirtualDesktopManagementInterface in interface version.

Returns
The created manager object
Since
5.52

Definition at line 474 of file display.cpp.

PointerConstraintsInterface * KWaylandServer::Display::createPointerConstraints ( const PointerConstraintsInterfaceVersion &  version,
QObject parent = nullptr 
)

Creates the PointerConstraintsInterface in interface version.

Returns
The created manager object
Since
5.29

Definition at line 422 of file display.cpp.

PointerGesturesInterface * KWaylandServer::Display::createPointerGestures ( const PointerGesturesInterfaceVersion &  version,
QObject parent = nullptr 
)

Creates the PointerGesturesInterface in interface version.

Returns
The created manager object
Since
5.29

Definition at line 410 of file display.cpp.

RelativePointerManagerInterface * KWaylandServer::Display::createRelativePointerManager ( const RelativePointerInterfaceVersion &  version,
QObject parent = nullptr 
)

Creates the RelativePointerManagerInterface in interface version.

Returns
The created manager object
Since
5.28

Definition at line 398 of file display.cpp.

ServerSideDecorationManagerInterface * KWaylandServer::Display::createServerSideDecorationManager ( QObject parent = nullptr)
Since
5.6

Definition at line 356 of file display.cpp.

ServerSideDecorationPaletteManagerInterface * KWaylandServer::Display::createServerSideDecorationPaletteManager ( QObject parent = nullptr)

Creates the ServerSideDecorationPaletteManagerInterface in interface version.

Returns
The created manager object
Since
5.42

Definition at line 460 of file display.cpp.

TabletManagerInterface * KWaylandServer::Display::createTabletManagerInterface ( QObject parent = nullptr)

Creates the entry point to support wacom-like tablets and pens.

Since
5.67

Definition at line 509 of file display.cpp.

TextInputManagerInterface * KWaylandServer::Display::createTextInputManager ( const TextInputInterfaceVersion &  version,
QObject parent = nullptr 
)

Create the text input manager in interface version.

Returns
The created manager object
Since
5.23

Definition at line 363 of file display.cpp.

XdgDecorationManagerInterface * KWaylandServer::Display::createXdgDecorationManager ( XdgShellInterface shellInterface,
QObject parent = nullptr 
)

Creates the XdgDecorationManagerInterface.

Returns
the created manager
Since
5.54

Definition at line 488 of file display.cpp.

XdgForeignInterface * KWaylandServer::Display::createXdgForeignInterface ( QObject parent = nullptr)

Creates the XdgForeignInterface in interface version.

Returns
The created manager object
Since
5.40

Definition at line 434 of file display.cpp.

XdgOutputManagerInterface * KWaylandServer::Display::createXdgOutputManager ( QObject parent = nullptr)

Creates the XdgOutputManagerInterface.

Returns
the created manager
Since
5.47

Definition at line 481 of file display.cpp.

XdgShellInterface * KWaylandServer::Display::createXdgShell ( const XdgShellInterfaceVersion &  version,
QObject parent = nullptr 
)

Creates the XdgShell in interface version.

Since
5.25

Definition at line 380 of file display.cpp.

void KWaylandServer::Display::dispatchEvents ( int  msecTimeout = -1)

Dispatches pending events in a blocking way.

May only be used if the Display is created and started before the QCoreApplication is created. Once the QCoreApplication is created and the event loop is started this method delegates to the normal dispatch handling.

See also
startLoop

Definition at line 200 of file display.cpp.

void * KWaylandServer::Display::eglDisplay ( ) const
Returns
the EGLDisplay used for this Wayland display or EGL_NO_DISPLAY if not set.
See also
setEglDisplay
Since
5.3

Definition at line 626 of file display.cpp.

ClientConnection * KWaylandServer::Display::getConnection ( wl_client *  client)

Gets the ClientConnection for the given client.

If there is no ClientConnection yet for the given client, it will be created.

Parameters
clientThe native client for which the ClientConnection is retrieved
Returns
The ClientConnection for the given native client

Definition at line 574 of file display.cpp.

QVector< SeatInterface * > KWaylandServer::Display::seats ( ) const
Returns
All SeatInterface currently managed on the Display.
Since
5.6

Definition at line 569 of file display.cpp.

void KWaylandServer::Display::setAutomaticSocketNaming ( bool  automaticSocketNaming)

If automaticSocketNaming is true, the manually set socketName is ignored and it will use wl_display_add_socket_auto on start to get a free socket with a filename "wayland-%d" instead.

The effective socket is written into socketName.

Since
5.55

Definition at line 151 of file display.cpp.

void KWaylandServer::Display::setEglDisplay ( void *  display)

Set the EGL display for this Wayland display.

The EGLDisplay can only be set once and must be alive as long as the Wayland display is alive. The user should have set up the binding between the EGLDisplay and the Wayland display prior to calling this method.

See also
eglDisplay
Since
5.3

Definition at line 617 of file display.cpp.

void KWaylandServer::Display::setSocketName ( const QString name)

Sets the basename of the socket to name.

If name is empty, it will use wl_display_add_socket_auto to get a free socket with a filename "wayland-%d".

Definition at line 137 of file display.cpp.

void KWaylandServer::Display::startLoop ( )

Starts the event loop for the server socket.

This method should only be used if start() is used before creating the QCoreApplication. In that case start() cannot fully setup the event processing and the loop needs to be started after the QCoreApplication got created.

See also
start
dispatchEvents

Definition at line 193 of file display.cpp.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon May 25 2020 22:49:23 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.