[Bug 29375] New: add something resembling GabbleBaseChannel
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Tue Aug 3 12:16:45 CEST 2010
https://bugs.freedesktop.org/show_bug.cgi?id=29375
Summary: add something resembling GabbleBaseChannel
Product: Telepathy
Version: git master
Platform: Other
OS/Version: All
Status: NEW
Severity: enhancement
Priority: medium
Component: tp-glib
AssignedTo: telepathy-bugs at lists.freedesktop.org
ReportedBy: simon.mcvittie at collabora.co.uk
QAContact: telepathy-bugs at lists.freedesktop.org
In principle, it's obviously a good idea for GabbleBaseChannel to move to
telepathy-glib, so that connection managers don't have to keep reimplementing
GetHandle().
In practice, it's more subtle than that, because GabbleBaseChannel encapsulates
a certain spec-compliance level: you must have well-defined values for
Requested, InitiatorHandle, etc. to use it. If we add more functionality to
Channel (perhaps ConversationID from one of the proposals in Bug #26838), we
have to be careful to get the backwards compatibility right in the base channel
class.
As a result of that sort of issue, I'd like to avoid having BaseChannel be
mandatory: in particular, TpBaseConnection and channel managers should be in
terms of TpExportableChannel (a GInterface that anyone can implement), with
BaseChannel just being a sample implementation.
11:04 < sjoerd> smcv: what do you think of moving gabbles base channel to
tp-glib ?
11:06 < smcv> sjoerd: a bit tricky, we need to be clear that it's not suitable
for everyone
11:06 < smcv> sjoerd: it represents a "compliance level", so TpBase018Channel
or something
11:06 < sjoerd> In which cases is it not suitable ?
11:06 < smcv> the CM supports more properties than spec 0.18
11:07 * smcv looks at the code
11:07 < sjoerd> so that's a hypothetical future issue
11:08 < sjoerd> e.g. you mean more properties on the Channel interface right ?
11:08 < smcv> right, but one that affects the choice of naming
11:09 < smcv> I don't want to get into a situation where we have TpBaseChannel
and TpBetterBaseChannel, and you're actually meant to use the
latter :-)
11:10 < sjoerd> the problem we can't add more properties to the base channel is
because of property naming right ?
11:10 < sjoerd> e.g. a subclass might have a property with the same name as we
might add
11:10 < smcv> right, adding a property that a subclass already has => explodes
11:11 < smcv> also, for some properties there's no sane default
11:11 < smcv> e.g. Requested
11:11 < smcv> "I don't know" is a value, distinct from either True or False
11:11 < smcv> (which we forbid in modern CMs)
11:11 < smcv> if the base class claims to know something but actually we have
no idea, then that defeats backwards compat
11:12 < sjoerd> that would be a matter of a switch which says whether to expose
a certain property on dbus though
11:12 < smcv> I suppose so
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the telepathy-bugs
mailing list