Browse Source

DcopMediaSourcePlugin now tries to load the dcop plugin if it's not loaded, rather than just blindly failing

git-svn-id: http://svn.dmdirc.com/trunk@2622 00569f92-eb28-0410-84fd-f71c24880f
tags/0.5.5
Chris Smith 16 years ago
parent
commit
65ca76e6b9

+ 17
- 5
src/com/dmdirc/addons/mediasources/dcop/DcopMediaSourcePlugin.java View File

25
 import com.dmdirc.addons.nowplaying.MediaSource;
25
 import com.dmdirc.addons.nowplaying.MediaSource;
26
 import com.dmdirc.addons.nowplaying.MediaSourceManager;
26
 import com.dmdirc.addons.nowplaying.MediaSourceManager;
27
 import com.dmdirc.plugins.Plugin;
27
 import com.dmdirc.plugins.Plugin;
28
+import com.dmdirc.plugins.PluginInfo;
28
 import com.dmdirc.plugins.PluginManager;
29
 import com.dmdirc.plugins.PluginManager;
29
 
30
 
30
 import java.util.ArrayList;
31
 import java.util.ArrayList;
31
-import java.util.Arrays;
32
 import java.util.List;
32
 import java.util.List;
33
 
33
 
34
 /**
34
 /**
52
     }
52
     }
53
     
53
     
54
     /** {@inheritDoc} */
54
     /** {@inheritDoc} */
55
+    @Override
55
     public List<MediaSource> getSources() {
56
     public List<MediaSource> getSources() {
56
         return sources;
57
         return sources;
57
     }
58
     }
58
     
59
     
59
     /** {@inheritDoc} */
60
     /** {@inheritDoc} */
61
+    @Override
60
     public void onLoad() {
62
     public void onLoad() {
61
     }
63
     }
62
     
64
     
63
     /** {@inheritDoc} */
65
     /** {@inheritDoc} */
66
+    @Override
64
     public void onUnload() {
67
     public void onUnload() {
65
     }
68
     }
66
     
69
     
67
     /** {@inheritDoc} */
70
     /** {@inheritDoc} */
71
+    @Override
68
     public boolean checkPrerequisites() {
72
     public boolean checkPrerequisites() {
69
-        if (Arrays.asList(PluginManager.getPluginManager().getMainClassNames()).
70
-                contains("com.dmdirc.addons.dcop.DcopPlugin")) {
71
-            return true;
73
+        PluginManager.getPluginManager().addPlugin("dcop.jar");
74
+        
75
+        final PluginInfo pi = PluginManager.getPluginManager().getPluginInfoByName("dcop");
76
+        
77
+        if (pi == null) {
78
+            return false;
72
         }
79
         }
73
-        return false;
80
+        
81
+        if (!pi.isLoaded()) {
82
+            pi.loadPlugin();
83
+        }
84
+
85
+        return true;
74
     }
86
     }
75
 }
87
 }

+ 0
- 16
src/com/dmdirc/plugins/PluginManager.java View File

213
         return result;
213
         return result;
214
     }
214
     }
215
 
215
 
216
-    /**
217
-     * Get string[] of known plugin mainclass names.
218
-     *
219
-     * @return string[] of known plugin mainclass names.
220
-     * @deprecated Pointless method. Iterate getPluginInfos instead.
221
-     */
222
-    @Deprecated
223
-    public String[] getMainClassNames() {
224
-        final String[] result = new String[knownPlugins.size()];
225
-        int i = 0;
226
-        for (String name : knownPlugins.keySet()) {
227
-            result[i++] = knownPlugins.get(name).getMainClass();
228
-        }
229
-        return result;
230
-    }
231
-
232
     /**
216
     /**
233
      * Retrieves a list of all installed plugins.
217
      * Retrieves a list of all installed plugins.
234
      * Any file under the main plugin directory (~/.DMDirc/plugins or similar)
218
      * Any file under the main plugin directory (~/.DMDirc/plugins or similar)

Loading…
Cancel
Save