dip.plugins.default_plugin_manager

The dip.plugins.plugin_manager module contains dip’s default plugin manager implementation.

PluginManager

class dip.plugins.default_plugin_manager.PluginManager

Base class: Model

The PluginManager class is the default implementation of the IPluginManager interface.

bind_extension_point(id, obj, name)

Bind an extension point to an attribute of an object. The attribute must have an append() method.

Parameters:
  • id – is the identifier of the extension point.
  • obj – is the object containing the attribute that the extension point is bound to.
  • name – is the name of the attribute that the extension point is bound to.
bind_service(interface, obj, name)

Bind the service for an interface to an attribute of an object.

Parameters:
  • interface – is the interface.
  • obj – is the object containing the attribute that the service is bound to.
  • name – is the name of the attribute that the service is bound to.
choose_service(services)

Choose a particular service from a list of possible services.

Parameter:services – a list of contributed services to choose from.
Returns:the chosen service or None if one wasn’t chosen.
contribute(id, contribution)

Contribute an object to an extension point.

Parameters:
  • id – is the identifier of the extension point.
  • contribution – is the contribution to make to the extension point.
service(interface)

Get a service for a particular interface.

Parameter:interface – is the interface.
Returns:the service which will implement or be able to be adapted to the interface. An exception is raised if there is no service available.

Table Of Contents

Previous topic

dip.plugins

Next topic

dip.publish

This Page