D18569: Split out a dedicated InternalClient class

Martin Flöser <[email protected]>
Newsgroups gmane.comp.kde.devel.kwin
Message-ID <[email protected]>
graesslin created this revision.
graesslin added a reviewer: KWin.
Herald added a project: KWin.
Herald added a subscriber: kwin.
graesslin requested review of this revision.

REVISION SUMMARY
  Most of the functionality which is special to internal clients is moved
  from ShellClient to InternalClient. As KWin's qpa is still bound to the
  Wayland protocol InternalClient inherits from ShellClient. Due to that
  some aspects in ShellClient are "weird". ShellClient still detects
  whether it's an internal client and uses the variable m_internal to
  capture the state. This is required as we cannot use the isInternal
  method. Most of m_internal usage is in init which is called from
  constructor of ShellClient. Thus it's not possible to call into virtual
  methods of InternalClient.
  
  Also some of the code is duplicated and some methods are temporarily
  marked as virtual.
  
  The next step will be to remove ShmBuffer for internal windows which
  should decouple the two implementations further with the long term goal
  of having InternalClient inherit AbstractClient directly.

TEST PLAN
  Run nested KWin, triggered outline (OpenGL case) and debug console (shm case).
  InternalWindow unit test still passes.

REPOSITORY
  R108 KWin

BRANCH
  internal-client

REVISION DETAIL
  https://phabricator.kde.org/D18569

AFFECTED FILES
  CMakeLists.txt
  autotests/integration/internal_window.cpp
  internal_client.cpp
  internal_client.h
  shell_client.cpp
  shell_client.h
  wayland_server.cpp

To: graesslin, #kwin
Cc: kwin, jraleigh, GB_2, mkulinski, ragreen, jackyalcine, Pitel, iodelay, bwowk, ZrenBot, ngraham, lesliezhai, ali-mohamed, hardening, jensreuterberg, abetts, sebas, apol, mart
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.