Pārlūkot izejas kodu

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 gadus atpakaļ
vecāks
revīzija
65ca76e6b9

+ 17
- 5
src/com/dmdirc/addons/mediasources/dcop/DcopMediaSourcePlugin.java Parādīt failu

@@ -25,10 +25,10 @@ package com.dmdirc.addons.mediasources.dcop;
25 25
 import com.dmdirc.addons.nowplaying.MediaSource;
26 26
 import com.dmdirc.addons.nowplaying.MediaSourceManager;
27 27
 import com.dmdirc.plugins.Plugin;
28
+import com.dmdirc.plugins.PluginInfo;
28 29
 import com.dmdirc.plugins.PluginManager;
29 30
 
30 31
 import java.util.ArrayList;
31
-import java.util.Arrays;
32 32
 import java.util.List;
33 33
 
34 34
 /**
@@ -52,24 +52,36 @@ public class DcopMediaSourcePlugin extends Plugin
52 52
     }
53 53
     
54 54
     /** {@inheritDoc} */
55
+    @Override
55 56
     public List<MediaSource> getSources() {
56 57
         return sources;
57 58
     }
58 59
     
59 60
     /** {@inheritDoc} */
61
+    @Override
60 62
     public void onLoad() {
61 63
     }
62 64
     
63 65
     /** {@inheritDoc} */
66
+    @Override
64 67
     public void onUnload() {
65 68
     }
66 69
     
67 70
     /** {@inheritDoc} */
71
+    @Override
68 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 Parādīt failu

@@ -213,22 +213,6 @@ public class PluginManager {
213 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 217
      * Retrieves a list of all installed plugins.
234 218
      * Any file under the main plugin directory (~/.DMDirc/plugins or similar)

Notiek ielāde…
Atcelt
Saglabāt