Requirements
------------

- pluggable backends:

  - XML
  - flat file
  - GConf/bonobo conf
  - web registry
  - in memory (trivial?)
  - SQL backend (gda?)

- provide API to the core to load/inspect/save plugins.
- provide user/system registry
- provide combination of backends
- provide backend specific queries

user/system registry
--------------------
There are two be two registries on the system. One system registry and one user registry.
The user registry should be queried first, then if that doesn't exist or don't contain any 
plugins able to handle the mediatype it should fall back to system registry.

model:
------

registry_pool
 !
 !---> registry (name, priority)
 !
 !
 !---> registry (name, priority)
 !        !
 !	  !-> plugin
 !	  !
 !	  !-> plugin
 !       ...    !
 !              !-> feature ...
 !
 ...


A registrypool holds a list of registries each with a priority

A registry contains a list of plugins (or libraries)

A plugin contains a list of features (elementfactories, typefacories, ...)

Loading the registry will do

 - instantiate empty GstPlugin objects (loaded flag == FALSE)
 - instantiate empty plugin features






 
API
---



