For TpBaseCallContent etc, we have added a get_interfaces() class method which returns a GPtrArray of interfaces, allowing for the user to chain up the implemented interfaces when inheriting a base class. Currently as it stands, if I write a concrete class inheriting from TpBaseMediaCallChannel, I need to look at what class->interfaces equals in order to set my own class->interfaces. I propose adding a get_interfaces() class method to TpBaseChannel, which by default initialises to class->interfaces. And changing the Interfaces property, etc. to use that.
http://cgit.collabora.com/git/user/danni/telepathy-glib.git/commit/?h=call1&id=54c22625c0935b2227797a759ffe7bef56902f70
You should update the description for TpBaseChannel: > Subclasses should fill in TpBaseChannelClass.channel_type, TpBaseChannelClass.target_handle_type and TpBaseChannelClass.interfaces, and implement the TpBaseChannelClass.close virtual function.
(In reply to comment #2) > You should update the description for TpBaseChannel: Done. http://cgit.collabora.com/git/user/danni/telepathy-glib.git/commit/?h=call1&id=4197a42b6886c2badd2baa3332eb207cc9afe778
Yeah this looks good, except this: * Subclasses should fill in #TpBaseChannelClass.channel_type, - * #TpBaseChannelClass.target_handle_type and #TpBaseChannelClass.interfaces, - * and implement the #TpBaseChannelClass.close virtual function. + * #TpBaseChannelClass.target_handle_type and + * #TpBaseChannelClass.get_interfaces, and implement the + * #TpBaseChannelClass.close virtual function. Surely get_interfaces is also a virtual function and so this should read Subclasses should fill in [...], and implement the get_interfaces and close virtual functions. No?
You make a compelling point. Fixed. http://cgit.collabora.com/git/user/danni/telepathy-glib.git/commit/?h=call1&id=dd5271130eeed407bad3e938650a0e27c5029843
Apparently xclaesse merged this to master.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.