Skip to content

Libweston (basic) split

Marius Vlad requested to merge mvlad/weston:libweston-split into master

This MR is just "basic" split of libweston public header, and as such it doesn't touch objects in any form. It only it removes functions definitions that should not be present in libweston public header and places them into (specific) internal header files.

Version 3:

  • besides libweston-internal.h it adds backend.h that contains weston_head, weston_output and input related notify_*() methods. It moves weston_backend in it as well and forward-declares it in the public libweston header.

Version 2:

  • instead of using smaller header files use a bigger one to accumulate all other symbols that do not belong in the public libweston header.

Version 1:

This introduces the following internal headers:

  • weston-buffer-internal.h
  • weston-compositor-internal.h
  • weston-head-internal.h
  • weston-input-internal.h
  • weston-output-internal.h
  • weston-seat-internal.h
  • weston-surface-internal.h
  • weston-view-internal.h

Besides weston-input-internal.h all headers relate to their object counterpart. The input one is a bit special as it contains both functions from backends and weston_pointer, weston_touch and weston_keyboard objects.

While at it found and removed the following:

  • tty_* definitions (no declarations)
  • weston_compositor_set_default_pointer_grab() and weston_view_set_mask_infinite() as nobody is using them. Keeping the functions available for other users which might use them.

I've considered private those in libweston/backends-*, renderers (gl,pixman) and everything else under libweston. tests, libweston-desktop, compositor/screen-share and remoting are all on case by case basis, some of those directories contain calls into private bits, so they'll need to be discussed individually.

Looking into verifying all remaining definitions in libweston to see what remains.

LE: I've identified all remain functions and I've a few more internal headers:

  • weston-plane-internal.h
  • weston-transform-internal.h
  • weston-content-protection-internal.h
  • weston-animation-internal.h

There's still some functions remaining in libweston header, but most of them have class by categorized at this stage. Will update then finished with it. Finished parsing entire libweston, only some animation bits were left and put launcher into weston-launch.h header. Adding this notes for posterity.

Edited by Marius Vlad

Merge request reports