Line # Revision Author
1 1 moose TODO
2 ======
3
4 o Plugins
5 - install/unistall
6 - enable/disable
7 - dependencies
8 o Threads/Processes
9 - pause/resume/cancel
10 - dependencies
11 o Demux
12
13
14
15
16
17
18 Plugin *toload[];
19 foreach p (toload) {
20 foreach dep (p->dependencies()) {
21 if(!app->pluginIsLoaded(dep))
22 next p;
23 }
24 }
25
26 Carl Olson:
27 -----------
28 Insert plugins in unloaded list
29 While unloaded list is not empty
30 Foreach plugin in unloaded list
31 Foreach dependency
32 If dependency not in loaded list
33 and dependency not in unloaded list
34 Insert dependency in unloaded list
35 If all dependencies are in loaded list
36 Load plugin
37 Remove from unloaded list.
38 Add to loaded list.
39
40 list unloaded;
41 // insert plugins in unloaded list
42
43 while(!unloaded->empty) {
44 foreach plugin (unloaded) {
45 foreach dep (plugin->dependency) {
46 if(!loaded->in(dep) && !unloaded->in(dep))
47 unloaded->add(dep);
48 }
49
50 }
51 }