[Bug 28915] MC does not save "old-ssl" flag
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Aug 9 19:51:15 CEST 2010
https://bugs.freedesktop.org/show_bug.cgi?id=28915
--- Comment #5 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2010-08-09 10:51:14 PDT ---
(In reply to comment #4)
> > Could this usefully be a method on the McdPluginAccountManager, or even a
> > non-virtual convenience method on the McpAccountManager GInterface? That would
> > break the circular dependency between McdAccountManager and McdAccount.
>
> At the moment, the account manager is the thing that wrangles the storage
> plugins and makes sure they're called in the right order and so forth:
> Since the storage plugins don't know about each other, they can't (currently)
> handle things where a decision needs to be made about who gets the account
> setting, (or the account), it has to be the AM for now.
The McdPluginAccountManager (which is the implementation of McpAccountManager)
isn't a plugin; it's the thing in src/ that plugins see when they think they're
talking to the account manager. As such, it could reasonably know about the
plugins.
An example of breaking a similar cycle: we used to have:
McdDispatcher
... owns several McdDispatcherContext instances
... which each have a pointer back to the McdDispatcher
but by splitting some of the McdDispatcher functionality away into smaller
classes, we now have:
McdDispatcher
... owns several McdDispatchOperation instances
.... which each have a pointer to the McdHandlerMap and McdClientRegistry
The AccountManager could reasonably be split into:
D-Bus AccountManager (McdAccountManager
... owns some Account instances
... which each point to McdAccountStorageThing [1]
Historically, the closest equivalent to [1] is the big GKeyFile that everyone
shares :-)
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the telepathy-bugs
mailing list