| Revision 1 (by moose, 2006/03/06 10:00:33) |
Initial Import
|
TODO
======
o Plugins
- install/unistall
- enable/disable
- dependencies
o Threads/Processes
- pause/resume/cancel
- dependencies
o Demux
Plugin *toload[];
foreach p (toload) {
foreach dep (p->dependencies()) {
if(!app->pluginIsLoaded(dep))
next p;
}
}
Carl Olson:
-----------
Insert plugins in unloaded list
While unloaded list is not empty
Foreach plugin in unloaded list
Foreach dependency
If dependency not in loaded list
and dependency not in unloaded list
Insert dependency in unloaded list
If all dependencies are in loaded list
Load plugin
Remove from unloaded list.
Add to loaded list.
list unloaded;
// insert plugins in unloaded list
while(!unloaded->empty) {
foreach plugin (unloaded) {
foreach dep (plugin->dependency) {
if(!loaded->in(dep) && !unloaded->in(dep))
unloaded->add(dep);
}
}
}