[Bug 24120] New: Refactor the McdDispatcher

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Sep 23 20:21:11 CEST 2009


http://bugs.freedesktop.org/show_bug.cgi?id=24120

           Summary: Refactor the McdDispatcher
           Product: Telepathy
           Version: unspecified
          Platform: Other
               URL: http://git.collabora.co.uk/?p=user/smcv/telepathy-
                    mission-control-
                    smcv.git;a=shortlog;h=refs/heads/dispatcher-refactor
        OS/Version: All
            Status: ASSIGNED
          Severity: enhancement
          Priority: high
         Component: telepathy-mission-control
        AssignedTo: simon.mcvittie at collabora.co.uk
        ReportedBy: simon.mcvittie at collabora.co.uk
         QAContact: telepathy-bugs at lists.freedesktop.org


mcd-dispatcher.c is too big and not OO enough.

[A] The McdClient struct in dispatcher.c should not exist: all the logic
concerning it should be in McdClientProxy (every McdClient struct has a
McdClientProxy object)

[B] Every McdDispatcherContext struct should have a McdDispatchOperation (at
the moment, not all of them do)

[C] McdDispatcher should split into McdDispatcher (the main dispatcher) and
McdClientRegistry (a container for McdClientProxy objects)

[D] (depends on [B]) McdDispatchOperation should use McdClientProxy to
implement much of the logic which is now in McdDispatcher/McdDispatcherContext

[E] (depends on [A]-[D]) all the dispatcher bugs should be fixed by improving
what goes on in an McdDispatchOperation :-)

The attached branch implements [A] and [B], plus some incidental changes. Fair
warning: it consists of 60 small patches!

I believe make check passes after each patch in the branch.


-- 
Configure bugmail: http://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