http://bugs.meego.com/show_bug.cgi?id=3563

           Summary: D-Bus: self description of features
    Classification: MeeGo Projects
           Product: SyncEvolution
           Version: unspecified
          Platform: All
      Architecture: ---
            Status: ASSIGNED
          Severity: enhancement
          Priority: Medium
         Component: SyncEvolution
        AssignedTo: [email protected]
        ReportedBy: [email protected]
         QAContact: [email protected]
                CC: [email protected],
                    [email protected]
            Blocks: 3558,3559,3560,3562
   Estimated Hours: 0.0


>From [SyncEvolution] Lessons from Genesis development: Enhancement proposals

We are about to extend the D-Bus API. Clients need some way of determining
whether the new features are available. A strict numbering of the API is
inflexible, so let's use "capability" strings instead. Also add flexible
version querying, for debugging.

    <method name="GetCapabilities">
      <doc:doc>
        <doc:description>
          <doc:para>
            Describes which features are implemented by the server. If the
method itself
            is unavailable, then the features correspond to SyncEvolution 1.0.
The following
            capabilities are currently defined:
            <doc:list>
             
<doc:item><doc:term>ConfigChanged</doc:term><doc:definition>Server.ConfigChange
signal available; if not, reread config after each
session</doc:definition></doc:item>
             
<doc:item><doc:term>GetConfigName</doc:term><doc:definition>Session.GetConfigName()
implemented</doc:definition></doc:item>
             
<doc:item><doc:term>Notifications</doc:term><doc:definition>Server.DisableNotifications()
and Server.EnableNotifications() implemented</doc:definition></doc:item>
             
<doc:item><doc:term>Version</doc:term><doc:definition>Server.GetVersion()
implemented; note that this is not meant to be used to determine supported
features</doc:definition></doc:item>
             
<doc:item><doc:term>SessionFlags</doc:term><doc:definition>Server.StartSessionWithFlags()
and Session.GetFlags() are implemented</doc:definition></doc:item>
            </doc:list>
          </doc:para>
        </doc:description>
      </doc:doc>
      <arg type="a{s}" name="capabilities" direction="out">
        <doc:doc><doc:summary>
          set of supported capabilities
        </doc:summary></doc:doc>
      </arg>
    </method>

    <method name="GetVersions">
      <doc:doc>
        <doc:description>
          <doc:para>
            Returns information about server side implementations.
          </doc:para>
        </doc:description>
      </doc:doc>
      <arg type="a{ss}" name="info" direction="out">
        <doc:doc><doc:summary>
            "version" - main SyncEvolution release name (usually a number,
sometimes also a beta or alpha suffix),
            "system" - some plain text information about system libraries,
            "backends" - available backend libraries
        </doc:summary></doc:doc>
      </arg>
    </method>

-- 
Configure bugmail: http://bugs.meego.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching someone on the CC list of the bug.
_______________________________________________
Syncevolution-issues mailing list
[email protected]
http://lists.syncevolution.org/listinfo/syncevolution-issues

Reply via email to