Revision 770909
Go back to digest for 10th February 2008Features in KDE Base
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
- /trunk/KDE/kdelibs/phonon
- /medianode_p.h
- /phonondefs_p.h