1Requirements 2------------ 3 4- pluggable backends: 5 6 - XML 7 - flat file 8 - GConf/bonobo conf 9 - web registry 10 - in memory (trivial?) 11 - SQL backend (gda?) 12 13- provide API to the core to load/inspect/save plugins. 14- provide user/system registry 15- provide combination of backends 16- provide backend specific queries 17 18user/system registry 19-------------------- 20There are two be two registries on the system. One system registry and one user registry. 21The user registry should be queried first, then if that doesn't exist or don't contain any 22plugins able to handle the mediatype it should fall back to system registry. 23 24model: 25------ 26 27registry_pool 28 ! 29 !---> registry (name, priority) 30 ! 31 ! 32 !---> registry (name, priority) 33 ! ! 34 ! !-> plugin 35 ! ! 36 ! !-> plugin 37 ! ... ! 38 ! !-> feature ... 39 ! 40 ... 41 42 43A registrypool holds a list of registries each with a priority 44 45A registry contains a list of plugins (or libraries) 46 47A plugin contains a list of features (elementfactories, typefacories, ...) 48 49Loading the registry will do 50 51 - instantiate empty GstPlugin objects (loaded flag == FALSE) 52 - instantiate empty plugin features 53 54 55 56 57 58 59 60API 61--- 62 63 64 65