| Requirements |
| ------------ |
| |
| - plugable 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 |
| --- |
| |
| |
| |