[Bug 24762] New: Shouldn't expose so much internal stuff to its plugin API

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Oct 27 18:12:37 CET 2009


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

           Summary: Shouldn't expose so much internal stuff to its plugin
                    API
           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/mini-
                    plugins
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: mission-control
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: simon.mcvittie at collabora.co.uk


At the moment MC has a very large plugin API, which we can't keep stable for
very long at a time due to internal refactoring; as a result, we've turned off
plugin support in Debian and recommend that all distributions do the same. This
is basically rubbish.

My mini-plugins branch sketches out a GInterface-based API which could replace
this; it's not currently active, because I haven't put the necessary glue into
src/ to implement the GInterfaces and invoke plugins at the right times.

General design:

* McpRequest and McpDispatchOperation are implemented via an uninstalled header
(implementation.h), so only MC can implement them
* McpRequestPolicy and McpDispatchOperationPolicy are implemented by plugins;
they use the "hidden vtable" trick from telepathy-glib, to be expandable
(obviously, any functions we add later would have to have sensible behaviour if
left unimplemented - "do nothing", probably)
* mcp_plugin_ref_nth_object() is implemented by plugins and allows the plugin
to return one or more objects that implement McpRequestPolicy and/or
McpDispatchOperationPolicy

<http://git.collabora.co.uk/?p=user/smcv/telepathy-mission-control-smcv.git;a=shortlog;h=refs/heads/mini-plugins>

Not tagging 'patch' since it's just a sketch at the moment.


-- 
Configure bugmail: http://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the telepathy-bugs mailing list