[Bug 44535] New: Add versioning to GabblePluginInterface

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Fri Jan 6 17:53:00 CET 2012


https://bugs.freedesktop.org/show_bug.cgi?id=44535

             Bug #: 44535
           Summary: Add versioning to GabblePluginInterface
    Classification: Unclassified
           Product: Telepathy
           Version: git master
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: enhancement
          Priority: medium
         Component: gabble
        AssignedTo: telepathy-bugs at lists.freedesktop.org
        ReportedBy: ollisal at gmail.com
         QAContact: telepathy-bugs at lists.freedesktop.org
                CC: jonny.lamb at collabora.co.uk,
                    simon.mcvittie at collabora.co.uk
        Depends on: 44331


Gabble's plugin callback interface is a bit ad hoc. Bug 44331 details some
backwards incompatible changes we need to make to it at the moment... To avoid
such changes breaking existing plugins in the future, we should add versioning
to the interface, by doing something like:

- add a integer member as the first item in GabblePluginInterface after
GTypeInterface
- document somehow that the current version of the plugin interface is 1
- in plugins, fill the interface struct member with the version of the API the
plugin was written against
- in code, which calls into plugins... switch/ifelse based on the version
member, to use the correct members and expect corresponding behavior for each
version
- whenever there's an incompatible change to the plugin API, bump the current
version number... but retain the code which calls the old API, for the benefit
of old plugins

Let's have this bug depend on the the currently planned incompatible changes,
because we only want to declare plugin API version 1 after finishing those.

-- 
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