This patch removes the X11 specific code from MetaBarrier and creates an abstraction layer MetaBarrierImpl. The existing X11 implementation is moved to a new GObject MetaBarrierImplX11 implementing the abstract interface MetaBarrierImpl which is instantiated by MetaBarrier when supported.
While at it, move it to backends/ and properly name the files.
https://bugzilla.gnome.org/show_bug.cgi?id=706655
5f91a62 barriers: Separate implementation from public API
src/Makefile.am | 5 +-
src/backends/meta-barrier-private.h | 81 +++++++
src/backends/meta-barrier.c | 346 ++++++++++++++++++++++++++++
src/backends/x11/meta-barrier-x11.c | 216 ++++++++++++++++++
src/backends/x11/meta-barrier-x11.h | 57 +++++
src/core/barrier.c | 422 -----------------------------------
6 files changed, 704 insertions(+), 423 deletions(-)
Upstream: git.gnome.org