2 """The notional `Provider' which defines the interface which all service
3 providers for Hermes must meet. Implementations of this class are expected
4 to load their preferences on construction, display them through open_preferences
5 and pass them to the service object as necessary.
7 Copyright (c) Andrew Flegg <andrew@bleb.org> 2010.
8 Released under the Artistic Licence."""
11 # -----------------------------------------------------------------------
13 """Return the display name of this service. An icon, of with the lower-case,
14 all-alphabetic version of this name is expected to be provided."""
19 # -----------------------------------------------------------------------
20 def has_preferences(self):
21 """Whether or not this provider has any preferences. If it does not,
22 open_preferences must NOT be called; as the behaviour is undetermined."""
27 # -----------------------------------------------------------------------
28 def open_preferences(self, parent):
29 """Open the preferences for this provider as a child of the 'parent' widget."""
34 # -----------------------------------------------------------------------
35 def service(self, gui_callback):
36 """Return the service backend. This must be a class which implements the
42 See Service for more details."""