device: Impose per-backend DeviceManager
authorEmmanuele Bassi <ebassi@linux.intel.com>
Wed, 17 Feb 2010 17:06:25 +0000 (17:06 +0000)
committerEmmanuele Bassi <ebassi@linux.intel.com>
Wed, 17 Feb 2010 17:46:48 +0000 (17:46 +0000)
commitb398292089b0f70b9457985426d6b962d9179fa7
tree507f3f817c327d1a890df342b7393f001aae0616
parent0bf6d57ab128f301588695d011a9ab5d1b1dce1a
device: Impose per-backend DeviceManager

The DeviceManager class should be abstract in Clutter, and implemented
by each backend, as different backends will have different ways to
detect, initialize and list devices; the X11 backend alone has *two*
ways of dealing with devices.

This commit makes DeviceManager an abstract class and delegates the
device initialization and enumeration to per-backend sub-classes.

The responsible for creating the device manager is, obviously, the
backend singleton.

The X11 and Win32 backends have been updated to the new layout; the
Win32 backend has been updated blindly, so it might require additional
testing.
16 files changed:
clutter/clutter-backend.h
clutter/clutter-device-manager.c
clutter/clutter-device-manager.h
clutter/clutter-private.h
clutter/win32/Makefile.am
clutter/win32/clutter-backend-win32.c
clutter/win32/clutter-backend-win32.h
clutter/win32/clutter-device-manager-win32.c [new file with mode: 0644]
clutter/win32/clutter-device-manager-win32.h [new file with mode: 0644]
clutter/win32/clutter-event-win32.c
clutter/x11/Makefile.am
clutter/x11/clutter-backend-x11.c
clutter/x11/clutter-backend-x11.h
clutter/x11/clutter-device-manager-x11.c [new file with mode: 0644]
clutter/x11/clutter-device-manager-x11.h [new file with mode: 0644]
clutter/x11/clutter-event-x11.c