On Tue, 2010-08-24 at 10:30 +0100, Simon McVittie wrote: > On Tue, 24 Aug 2010 at 12:39:04 +1000, Danielle Madeley wrote: > > Our discussion on TpChannelView seems to have fallen by the wayside. We > > really need a consensus on this so that we can get TpStreamTube, > > TpDBusTube and TpTextChannel finished and merged. > > I think we're heading for consensus that subclasses are the right thing > to do after all, and that TpBaseClient and TpAccountChannelRequest should > let you plug in either a GType for a TpChannel subclass, or an object > implementing a GInterface that turns (object path, immutable properties) into > a TpChannel.
Perhaps TpBaseClient et al should take an optional TpBaseChannelFactory, which if not provided, defaults to TpChannelFactory. TpBaseChannelFactory has one method you need to implement, create_channel, which gives you a path, and the properties, and expects you to call whatever preparation you need, eventually calling back to tp_base_channel_factory_channel_ready(). This would allow you to create a channel factory that could prepare extra properties, or handle additional channel subclasses. The default concrete implementation, TpChannelFactory, would do whatever we expected it to do in the normal case. -- Danielle Madeley Software Developer, Collabora Ltd. Melbourne, Australia www.collabora.co.uk _______________________________________________ telepathy mailing list telepathy@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/telepathy