Revision 770909

Go back to digest for 10th February 2008

Features in KDE Base

Matthias Kretz committed changes in /trunk/KDE/kdelibs/phonon:

add new helpers to handle the backend interfaces.

The idea is that when a backend interface needs a new virtual function the old interface is renamed but the Q_DECLARE_INTERFACE is kept (with the changed interface name).

That way implementations from backends compiled against older libphonon can still be casted to that renamed interface. A new interface is added with the name the old interface had before and a new Q_DECLARE_INTERFACE statement is added. That way backends automatically get source incompatible (kind of) which helps to find the places where new implementations are needed.

To make it easier on the frontend side to access the backend I added template magic structs/functions that will return either 0 or the correctly casted pointer.

Now I'm praying that all compilers we need to support can handle this code.

File Changes

Modified 2 files
  • /trunk/KDE/kdelibs/phonon
  •   /medianode_p.h
  •   /phonondefs_p.h
2 files changed in total