Overriding interface methods
If a base class already implements an interface and a derived
class needs to implement the same interface but needs to override certain
methods, you must reimplement the interface and set only the interface
methods which need overriding.
In this example, ViewerAudioFile is derived from
ViewerFile. Both implement the ViewerEditable
interface. ViewerAudioFile only implements one method of the
ViewerEditable interface and uses the base class implementation of
the other.
To access the base class interface implementation use
g_type_interface_peek_parent
from within an interface's default_init function.
To call the base class implementation of an interface
method from a derived class where than interface method has been
overridden, stash away the pointer returned from
g_type_interface_peek_parent
in a global variable.
In this example ViewerAudioFile overrides the
save interface method. In its overridden method
it calls the base class implementation of the same interface method.