Integration Issues
==================

To integrate the InterFace (retroshare) plugin into Dooble, a number
of open issues have to be addressed.

Plugin Installation
===================

On platforms that use a packaging system, this packaging system should
be used to install the Dooble plugins as it is used to install Dooble itself.
This has the advantage that version matching is handled by the
packaging system. For Linux, it should be sufficient to provide .deb and .rpm
packages (using build.opensuse.org) to cover the most prevalent
package managers.

Plugin Loading
==============

The Qt plugin documentation talks at length about the automatic detection
of plugins in various directories. For dynamically-loaded plugins, this
is all irrelevant - the QPluginLoader does not do any searching. If we
want to do searching, we have to do it ourselves. The sandbox plugin-host
provides an example of how to do that.

Plugin Start
============

The plugins we are concerned about display things in widgets.
For these purposes, loading and starting are not the same thing.
The plugin-spec interface, therefore, has a run() entry point to
tell the plugin to start the widget.

Plugin Stop
===========

Some plugins will have the capability to stop and restart, others will not.
The plugin-spec interface provides an entry point for stopping a plugin and
a boolean function allowing the plugin to specify whether a restart will work.

In addition, the pugin-spec provides a signal to tell the host (dooble) when 
a plugin has stopped running.
