Parcourir la source

Add base command plugins

Change-Id: I8bb1e5bc9e2ca965ff3687d365a167c9b5ccc746
Depends-On: I1d49bc2e572e44466193b4851646edb01d303998
Reviewed-on: http://gerrit.dmdirc.com/2613
Reviewed-by: Chris Smith <chris@dmdirc.com>
Automatic-Compile: DMDirc Build Manager
tags/0.8
Greg Holmes il y a 11 ans
Parent
révision
2ca4779a17
49 fichiers modifiés avec 250 ajouts et 142 suppressions
  1. 7
    4
      src/com/dmdirc/addons/activewindow/ActiveWindowPlugin.java
  2. 10
    5
      src/com/dmdirc/addons/audio/AudioPlugin.java
  3. 10
    5
      src/com/dmdirc/addons/calc/CalcPlugin.java
  4. 10
    5
      src/com/dmdirc/addons/contactlist/ContactListPlugin.java
  5. 7
    5
      src/com/dmdirc/addons/dcc/DCCPlugin.java
  6. 10
    5
      src/com/dmdirc/addons/dcop/DcopPlugin.java
  7. 7
    4
      src/com/dmdirc/addons/debug/DebugPlugin.java
  8. 10
    5
      src/com/dmdirc/addons/dns/DNSPlugin.java
  9. 10
    5
      src/com/dmdirc/addons/exec/ExecPlugin.java
  10. 17
    9
      src/com/dmdirc/addons/freedesktop_notifications/FreeDesktopNotificationsPlugin.java
  11. 1
    1
      src/com/dmdirc/addons/identd/IdentdPlugin.java
  12. 1
    1
      src/com/dmdirc/addons/lagdisplay/LagDisplayPlugin.java
  13. 7
    4
      src/com/dmdirc/addons/logging/LoggingPlugin.java
  14. 1
    1
      src/com/dmdirc/addons/mediasource_dbus/DBusMediaSource.java
  15. 1
    1
      src/com/dmdirc/addons/mediasource_dcop/DcopMediaSourcePlugin.java
  16. 1
    1
      src/com/dmdirc/addons/mediasource_linux_title/TitleMediaSourcePlugin.java
  17. 1
    1
      src/com/dmdirc/addons/mediasource_mplayer/MplayerMediaSourcePlugin.java
  18. 1
    1
      src/com/dmdirc/addons/mediasource_vlc/VlcMediaSourcePlugin.java
  19. 14
    6
      src/com/dmdirc/addons/mediasource_windows/WindowsMediaSourcePlugin.java
  20. 1
    1
      src/com/dmdirc/addons/nickcolours/NickColourPlugin.java
  21. 7
    3
      src/com/dmdirc/addons/nma/NotifyMyAndroidPlugin.java
  22. 7
    4
      src/com/dmdirc/addons/notifications/NotificationsPlugin.java
  23. 7
    4
      src/com/dmdirc/addons/nowplaying/NowPlayingPlugin.java
  24. 7
    4
      src/com/dmdirc/addons/osd/OsdPlugin.java
  25. 7
    3
      src/com/dmdirc/addons/osx_integration/OsxIntegrationPlugin.java
  26. 1
    1
      src/com/dmdirc/addons/parser_irc/IrcPlugin.java
  27. 1
    1
      src/com/dmdirc/addons/parser_msn/MSNPlugin.java
  28. 1
    1
      src/com/dmdirc/addons/parser_twitter/TwitterPlugin.java
  29. 1
    1
      src/com/dmdirc/addons/parser_xmpp/XmppPlugin.java
  30. 8
    4
      src/com/dmdirc/addons/parserdebug/DebugPlugin.java
  31. 10
    5
      src/com/dmdirc/addons/redirect/RedirectPlugin.java
  32. 1
    1
      src/com/dmdirc/addons/relaybot/RelayBotPlugin.java
  33. 8
    4
      src/com/dmdirc/addons/scriptplugin/ScriptPlugin.java
  34. 2
    1
      src/com/dmdirc/addons/serverlistdialog/ServerListDialogPlugin.java
  35. 1
    1
      src/com/dmdirc/addons/serverlists/ServerListPlugin.java
  36. 1
    1
      src/com/dmdirc/addons/sessionlock/SessionLock.java
  37. 1
    1
      src/com/dmdirc/addons/swingdebug/SwingDebugPlugin.java
  38. 8
    5
      src/com/dmdirc/addons/systray/SystrayPlugin.java
  39. 1
    1
      src/com/dmdirc/addons/tabcompletion_bash/BashStylePlugin.java
  40. 1
    1
      src/com/dmdirc/addons/tabcompletion_mirc/MircStylePlugin.java
  41. 7
    4
      src/com/dmdirc/addons/time/TimePlugin.java
  42. 1
    1
      src/com/dmdirc/addons/ui_dummy/DummyController.java
  43. 10
    4
      src/com/dmdirc/addons/ui_swing/SwingController.java
  44. 1
    1
      src/com/dmdirc/addons/ui_web/WebInterfacePlugin.java
  45. 11
    6
      src/com/dmdirc/addons/urlcatcher/UrlCatcherPlugin.java
  46. 1
    1
      src/com/dmdirc/addons/userlevel/UserLevelPlugin.java
  47. 7
    4
      src/com/dmdirc/addons/windowflashing/WindowFlashing.java
  48. 1
    1
      src/com/dmdirc/addons/windowstatus/WindowStatusPlugin.java
  49. 3
    3
      test/com/dmdirc/addons/urlcatcher/UrlCatcherPluginTest.java

+ 7
- 4
src/com/dmdirc/addons/activewindow/ActiveWindowPlugin.java Voir le fichier

@@ -23,11 +23,12 @@
23 23
 package com.dmdirc.addons.activewindow;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.SwingController;
26
+import com.dmdirc.interfaces.CommandController;
26 27
 import com.dmdirc.messages.MessageSinkManager;
27
-import com.dmdirc.plugins.BasePlugin;
28
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
28 29
 
29 30
 /** Plugin to provide an active window command to the Swing UI. */
30
-public final class ActiveWindowPlugin extends BasePlugin {
31
+public final class ActiveWindowPlugin extends BaseCommandPlugin {
31 32
 
32 33
     /** The message sink to register and unregister. */
33 34
     private final ActiveWindowMessageSink sink;
@@ -36,9 +37,11 @@ public final class ActiveWindowPlugin extends BasePlugin {
36 37
      * Creates a new instance of this plugin.
37 38
      *
38 39
      * @param controller The controller to use to find active windows
40
+     * @param commandController Command controller to register commands
39 41
      */
40
-    public ActiveWindowPlugin(final SwingController controller) {
41
-        super();
42
+    public ActiveWindowPlugin(final SwingController controller,
43
+            final CommandController commandController) {
44
+        super(commandController);
42 45
 
43 46
         sink = new ActiveWindowMessageSink(controller.getMainFrame());
44 47
 

+ 10
- 5
src/com/dmdirc/addons/audio/AudioPlugin.java Voir le fichier

@@ -22,16 +22,21 @@
22 22
 
23 23
 package com.dmdirc.addons.audio;
24 24
 
25
-import com.dmdirc.plugins.BasePlugin;
25
+import com.dmdirc.interfaces.CommandController;
26
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
26 27
 
27 28
 /**
28 29
  * Adds Audio playing facility to client.
29 30
  */
30
-public final class AudioPlugin extends BasePlugin {
31
+public final class AudioPlugin extends BaseCommandPlugin {
31 32
 
32
-    /** Creates a new instance of this plugin. */
33
-    public AudioPlugin() {
34
-        super();
33
+    /**
34
+     * Creates a new instance of this plugin.
35
+     *
36
+     * @param commandController Command controller to register commands
37
+     */
38
+    public AudioPlugin(final CommandController commandController) {
39
+        super(commandController);
35 40
         registerCommand(new AudioCommand(), AudioCommand.INFO);
36 41
         registerCommand(new BeepCommand(), BeepCommand.INFO);
37 42
     }

+ 10
- 5
src/com/dmdirc/addons/calc/CalcPlugin.java Voir le fichier

@@ -22,16 +22,21 @@
22 22
 
23 23
 package com.dmdirc.addons.calc;
24 24
 
25
-import com.dmdirc.plugins.BasePlugin;
25
+import com.dmdirc.interfaces.CommandController;
26
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
26 27
 
27 28
 /**
28 29
  * A plugin which parses and evaluates various mathematical expressions.
29 30
  */
30
-public class CalcPlugin extends BasePlugin {
31
+public class CalcPlugin extends BaseCommandPlugin {
31 32
 
32
-    /** Creates a new instance of this plugin. */
33
-    public CalcPlugin() {
34
-        super();
33
+    /**
34
+     * Creates a new instance of this plugin.
35
+     *
36
+     * @param commandController Command controller to register commands
37
+     */
38
+    public CalcPlugin(final CommandController commandController) {
39
+        super(commandController);
35 40
         registerCommand(new CalcCommand(), CalcCommand.INFO);
36 41
     }
37 42
 }

+ 10
- 5
src/com/dmdirc/addons/contactlist/ContactListPlugin.java Voir le fichier

@@ -22,16 +22,21 @@
22 22
 
23 23
 package com.dmdirc.addons.contactlist;
24 24
 
25
-import com.dmdirc.plugins.BasePlugin;
25
+import com.dmdirc.interfaces.CommandController;
26
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
26 27
 
27 28
 /**
28 29
  * Plugin to provide a POC contact list.
29 30
  */
30
-public final class ContactListPlugin extends BasePlugin {
31
+public final class ContactListPlugin extends BaseCommandPlugin {
31 32
 
32
-    /** Creates a new instance of this plugin. */
33
-    public ContactListPlugin() {
34
-        super();
33
+    /**
34
+     * Creates a new instance of this plugin.
35
+     *
36
+     * @param commandController Command controller to register commands
37
+     */
38
+    public ContactListPlugin(final CommandController commandController) {
39
+        super(commandController);
35 40
         registerCommand(new ContactListCommand(), ContactListCommand.INFO);
36 41
     }
37 42
 }

+ 7
- 5
src/com/dmdirc/addons/dcc/DCCPlugin.java Voir le fichier

@@ -42,13 +42,14 @@ import com.dmdirc.config.prefs.PreferencesDialogModel;
42 42
 import com.dmdirc.config.prefs.PreferencesSetting;
43 43
 import com.dmdirc.config.prefs.PreferencesType;
44 44
 import com.dmdirc.interfaces.ActionListener;
45
+import com.dmdirc.interfaces.CommandController;
45 46
 import com.dmdirc.interfaces.actions.ActionType;
46 47
 import com.dmdirc.logger.ErrorLevel;
47 48
 import com.dmdirc.logger.Logger;
48 49
 import com.dmdirc.parser.interfaces.ClientInfo;
49 50
 import com.dmdirc.parser.interfaces.Parser;
50
-import com.dmdirc.plugins.BasePlugin;
51 51
 import com.dmdirc.plugins.PluginInfo;
52
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
52 53
 import com.dmdirc.ui.WindowManager;
53 54
 
54 55
 import java.io.File;
@@ -64,7 +65,7 @@ import javax.swing.JOptionPane;
64 65
 /**
65 66
  * This plugin adds DCC to DMDirc.
66 67
  */
67
-public final class DCCPlugin extends BasePlugin implements ActionListener {
68
+public final class DCCPlugin extends BaseCommandPlugin implements ActionListener {
68 69
 
69 70
     /** Our DCC Container window. */
70 71
     private PlaceholderContainer container;
@@ -83,12 +84,13 @@ public final class DCCPlugin extends BasePlugin implements ActionListener {
83 84
      * @param controller The controller to register UI implementations with
84 85
      * @param pluginInfo This plugin's plugin info
85 86
      * @param identityManager The Identity Manager that controls the current config
87
+     * @param commandController Command controller to register commands
86 88
      */
87 89
     public DCCPlugin(final SwingController controller,
88 90
             final PluginInfo pluginInfo,
89
-            final IdentityManager identityManager
90
-            ) {
91
-        super();
91
+            final IdentityManager identityManager,
92
+            final CommandController commandController) {
93
+        super(commandController);
92 94
         this.identityManager = identityManager;
93 95
         this.controller = controller;
94 96
         config = controller.getGlobalConfig();

+ 10
- 5
src/com/dmdirc/addons/dcop/DcopPlugin.java Voir le fichier

@@ -22,7 +22,8 @@
22 22
 
23 23
 package com.dmdirc.addons.dcop;
24 24
 
25
-import com.dmdirc.plugins.BasePlugin;
25
+import com.dmdirc.interfaces.CommandController;
26
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
26 27
 
27 28
 import java.io.BufferedReader;
28 29
 import java.io.IOException;
@@ -33,11 +34,15 @@ import java.util.List;
33 34
 /**
34 35
  * Allows the user to execute dcop commands (and read the results).
35 36
  */
36
-public final class DcopPlugin extends BasePlugin {
37
+public final class DcopPlugin extends BaseCommandPlugin {
37 38
 
38
-    /** Creates a new instance of this plugin. */
39
-    public DcopPlugin() {
40
-        super();
39
+    /**
40
+     * Creates a new instance of this plugin.
41
+     *
42
+     * @param commandController Command controller to register commands
43
+     */
44
+    public DcopPlugin(final CommandController commandController) {
45
+        super(commandController);
41 46
         registerCommand(new DcopCommand(), DcopCommand.INFO);
42 47
     }
43 48
 

+ 7
- 4
src/com/dmdirc/addons/debug/DebugPlugin.java Voir le fichier

@@ -24,10 +24,11 @@ package com.dmdirc.addons.debug;
24 24
 
25 25
 import com.dmdirc.addons.debug.commands.*; //NOPMD
26 26
 import com.dmdirc.config.IdentityManager;
27
+import com.dmdirc.interfaces.CommandController;
27 28
 import com.dmdirc.logger.ErrorLevel;
28 29
 import com.dmdirc.logger.Logger;
29
-import com.dmdirc.plugins.BasePlugin;
30 30
 import com.dmdirc.plugins.PluginManager;
31
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
31 32
 
32 33
 import java.util.ArrayList;
33 34
 import java.util.HashMap;
@@ -40,7 +41,7 @@ import lombok.Getter;
40 41
  * Debug plugin providing commands to aid in debugging the client.
41 42
  */
42 43
 @SuppressWarnings("unused")
43
-public class DebugPlugin extends BasePlugin {
44
+public class DebugPlugin extends BaseCommandPlugin {
44 45
 
45 46
     /** List of build in debug commands to load. */
46 47
     private static final Class[] CLASSES = {
@@ -68,10 +69,12 @@ public class DebugPlugin extends BasePlugin {
68 69
      *
69 70
      * @param identityManager Identity manager instance
70 71
      * @param pluginManager Plugin manager instance.
72
+     * @param commandController Command controller to register commands
71 73
      */
72 74
     public DebugPlugin(final IdentityManager identityManager,
73
-            final PluginManager pluginManager) {
74
-        super();
75
+            final PluginManager pluginManager,
76
+            final CommandController commandController) {
77
+        super(commandController);
75 78
         this.identityManager = identityManager;
76 79
         this.pluginManager = pluginManager;
77 80
         commands = new HashMap<String, DebugCommand>();

+ 10
- 5
src/com/dmdirc/addons/dns/DNSPlugin.java Voir le fichier

@@ -22,7 +22,8 @@
22 22
 
23 23
 package com.dmdirc.addons.dns;
24 24
 
25
-import com.dmdirc.plugins.BasePlugin;
25
+import com.dmdirc.interfaces.CommandController;
26
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
26 27
 
27 28
 import java.net.InetAddress;
28 29
 import java.net.UnknownHostException;
@@ -33,11 +34,15 @@ import java.util.List;
33 34
 /**
34 35
  * DNS plugin.
35 36
  */
36
-public final class DNSPlugin extends BasePlugin {
37
+public final class DNSPlugin extends BaseCommandPlugin {
37 38
 
38
-    /** Creates a new instance of this plugin. */
39
-    public DNSPlugin() {
40
-        super();
39
+    /**
40
+     * Creates a new instance of this plugin.
41
+     *
42
+     * @param commandController Command controller to register commands
43
+     */
44
+    public DNSPlugin(final CommandController commandController) {
45
+        super(commandController);
41 46
         registerCommand(new DNSCommand(), DNSCommand.INFO);
42 47
     }
43 48
 

+ 10
- 5
src/com/dmdirc/addons/exec/ExecPlugin.java Voir le fichier

@@ -22,16 +22,21 @@
22 22
 
23 23
 package com.dmdirc.addons.exec;
24 24
 
25
-import com.dmdirc.plugins.BasePlugin;
25
+import com.dmdirc.interfaces.CommandController;
26
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
26 27
 
27 28
 /**
28 29
  * A plugin which provides an execute command.
29 30
  */
30
-public class ExecPlugin extends BasePlugin {
31
+public class ExecPlugin extends BaseCommandPlugin {
31 32
 
32
-    /** Creates a new instance of this plugin. */
33
-    public ExecPlugin() {
34
-        super();
33
+    /**
34
+     * Creates a new instance of this plugin.
35
+     *
36
+     * @param commandController Command controller to register commands
37
+     */
38
+    public ExecPlugin(final CommandController commandController) {
39
+        super(commandController);
35 40
         registerCommand(new ExecCommand(), ExecCommand.INFO);
36 41
     }
37 42
 }

+ 17
- 9
src/com/dmdirc/addons/freedesktop_notifications/FreeDesktopNotificationsPlugin.java Voir le fichier

@@ -30,12 +30,14 @@ import com.dmdirc.config.prefs.PreferencesCategory;
30 30
 import com.dmdirc.config.prefs.PreferencesDialogModel;
31 31
 import com.dmdirc.config.prefs.PreferencesSetting;
32 32
 import com.dmdirc.config.prefs.PreferencesType;
33
+import com.dmdirc.interfaces.CommandController;
33 34
 import com.dmdirc.interfaces.ConfigChangeListener;
34 35
 import com.dmdirc.logger.ErrorLevel;
35 36
 import com.dmdirc.logger.Logger;
36
-import com.dmdirc.plugins.BaseFileDependantPlugin;
37 37
 import com.dmdirc.plugins.PluginInfo;
38 38
 import com.dmdirc.plugins.PluginManager;
39
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
40
+import com.dmdirc.plugins.implementations.PluginFilesHelper;
39 41
 import com.dmdirc.ui.messages.Styliser;
40 42
 import com.dmdirc.util.io.StreamReader;
41 43
 import com.dmdirc.util.resourcemanager.ResourceManager;
@@ -49,7 +51,7 @@ import org.apache.commons.lang.StringEscapeUtils;
49 51
  * This plugin adds freedesktop Style Notifications to dmdirc.
50 52
  */
51 53
 public final class FreeDesktopNotificationsPlugin
52
-        extends BaseFileDependantPlugin implements ConfigChangeListener {
54
+        extends BaseCommandPlugin implements ConfigChangeListener {
53 55
 
54 56
     /** notification timeout. */
55 57
     private int timeout;
@@ -69,19 +71,25 @@ public final class FreeDesktopNotificationsPlugin
69 71
     private final Identity identity;
70 72
     /** Plugin manager instance. */
71 73
     private final PluginManager pluginManager;
74
+    /** Plugin files helper. */
75
+    private final PluginFilesHelper filesHelper;
72 76
 
73 77
     /**
74 78
      * Creates a new instance of this plugin.
75 79
      *
76 80
      * @param pluginInfo This plugin's plugin info
77 81
      * @param identityManager Identity Manager instance
82
+     * @param pluginManager Plugin manager
83
+     * @param commandController Command controller to register commands
78 84
      */
79 85
     public FreeDesktopNotificationsPlugin(final PluginInfo pluginInfo,
80 86
             final IdentityManager identityManager,
81
-            final PluginManager pluginManager) {
82
-        super(pluginInfo.getMetaData());
87
+            final PluginManager pluginManager,
88
+            final CommandController commandController) {
89
+        super(commandController);
83 90
         this.pluginInfo = pluginInfo;
84 91
         this.pluginManager = pluginManager;
92
+        this.filesHelper = new PluginFilesHelper(pluginInfo.getMetaData());
85 93
         config = identityManager.getGlobalConfiguration();
86 94
         identity = identityManager.getGlobalAddonIdentity();
87 95
         registerCommand(new FDNotifyCommand(this), FDNotifyCommand.INFO);
@@ -95,13 +103,13 @@ public final class FreeDesktopNotificationsPlugin
95 103
      * @return True if the notification was shown.
96 104
      */
97 105
     public boolean showNotification(final String title, final String message) {
98
-        if (getFilesDir() == null) { return false; }
106
+        if (filesHelper.getFilesDir() == null) { return false; }
99 107
 
100 108
         final ArrayList<String> args = new ArrayList<String>();
101 109
 
102 110
         args.add("/usr/bin/env");
103 111
         args.add("python");
104
-        args.add(getFilesDirString() + "notify.py");
112
+        args.add(filesHelper.getFilesDirString() + "notify.py");
105 113
         args.add("-a");
106 114
         args.add("DMDirc");
107 115
         args.add("-i");
@@ -172,8 +180,8 @@ public final class FreeDesktopNotificationsPlugin
172 180
 
173 181
                 // Extract the files needed
174 182
                 try {
175
-                    res.extractResoucesEndingWith(getFilesDir(), ".py");
176
-                    res.extractResoucesEndingWith(getFilesDir(), ".png");
183
+                    res.extractResoucesEndingWith(filesHelper.getFilesDir(), ".py");
184
+                    res.extractResoucesEndingWith(filesHelper.getFilesDir(), ".png");
177 185
                 } catch (IOException ex) {
178 186
                     Logger.userError(ErrorLevel.MEDIUM, "Unable to extract files for Free desktop notifications: " + ex.getMessage(), ex);
179 187
                 }
@@ -197,7 +205,7 @@ public final class FreeDesktopNotificationsPlugin
197 205
     @Override
198 206
     public void domainUpdated() {
199 207
         identity.setOption(getDomain(),
200
-                "general.icon", getFilesDirString() + "icon.png");
208
+                "general.icon", filesHelper.getFilesDirString() + "icon.png");
201 209
     }
202 210
 
203 211
     /** {@inheritDoc} */

+ 1
- 1
src/com/dmdirc/addons/identd/IdentdPlugin.java Voir le fichier

@@ -35,7 +35,7 @@ import com.dmdirc.config.prefs.PreferencesType;
35 35
 import com.dmdirc.interfaces.ActionController;
36 36
 import com.dmdirc.interfaces.ActionListener;
37 37
 import com.dmdirc.interfaces.actions.ActionType;
38
-import com.dmdirc.plugins.BasePlugin;
38
+import com.dmdirc.plugins.implementations.BasePlugin;
39 39
 import com.dmdirc.plugins.PluginInfo;
40 40
 import com.dmdirc.util.validators.PortValidator;
41 41
 

+ 1
- 1
src/com/dmdirc/addons/lagdisplay/LagDisplayPlugin.java Voir le fichier

@@ -39,7 +39,7 @@ import com.dmdirc.config.prefs.PreferencesSetting;
39 39
 import com.dmdirc.config.prefs.PreferencesType;
40 40
 import com.dmdirc.interfaces.ActionListener;
41 41
 import com.dmdirc.interfaces.ConfigChangeListener;
42
-import com.dmdirc.plugins.BasePlugin;
42
+import com.dmdirc.plugins.implementations.BasePlugin;
43 43
 import com.dmdirc.plugins.PluginInfo;
44 44
 import com.dmdirc.util.collections.RollingList;
45 45
 

+ 7
- 4
src/com/dmdirc/addons/logging/LoggingPlugin.java Voir le fichier

@@ -39,6 +39,7 @@ import com.dmdirc.config.prefs.PreferencesSetting;
39 39
 import com.dmdirc.config.prefs.PreferencesType;
40 40
 import com.dmdirc.interfaces.ActionController;
41 41
 import com.dmdirc.interfaces.ActionListener;
42
+import com.dmdirc.interfaces.CommandController;
42 43
 import com.dmdirc.interfaces.ConfigChangeListener;
43 44
 import com.dmdirc.logger.ErrorLevel;
44 45
 import com.dmdirc.logger.Logger;
@@ -46,8 +47,8 @@ import com.dmdirc.parser.interfaces.ChannelClientInfo;
46 47
 import com.dmdirc.parser.interfaces.ChannelInfo;
47 48
 import com.dmdirc.parser.interfaces.ClientInfo;
48 49
 import com.dmdirc.parser.interfaces.Parser;
49
-import com.dmdirc.plugins.BasePlugin;
50 50
 import com.dmdirc.plugins.PluginInfo;
51
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
51 52
 import com.dmdirc.ui.messages.Styliser;
52 53
 import com.dmdirc.util.io.StreamUtils;
53 54
 
@@ -75,7 +76,7 @@ import java.util.TimerTask;
75 76
 /**
76 77
  * Adds logging facility to client.
77 78
  */
78
-public class LoggingPlugin extends BasePlugin implements ActionListener,
79
+public class LoggingPlugin extends BaseCommandPlugin implements ActionListener,
79 80
         ConfigChangeListener {
80 81
 
81 82
     /** Cached boolean settings. */
@@ -112,11 +113,13 @@ public class LoggingPlugin extends BasePlugin implements ActionListener,
112 113
      * @param pluginInfo This plugin's plugin info
113 114
      * @param actionController The action controller to register listeners with
114 115
      * @param identityManager The Identity Manager that controls the current config
116
+     * @param commandController Command controller to register commands
115 117
      */
116 118
     public LoggingPlugin(final PluginInfo pluginInfo,
117 119
             final ActionController actionController,
118
-            final IdentityManager identityManager) {
119
-        super();
120
+            final IdentityManager identityManager,
121
+            final CommandController commandController) {
122
+        super(commandController);
120 123
         this.identityManager = identityManager;
121 124
 
122 125
         this.pluginInfo = pluginInfo;

+ 1
- 1
src/com/dmdirc/addons/mediasource_dbus/DBusMediaSource.java Voir le fichier

@@ -26,7 +26,7 @@ import com.dmdirc.addons.nowplaying.MediaSource;
26 26
 import com.dmdirc.addons.nowplaying.MediaSourceManager;
27 27
 import com.dmdirc.logger.ErrorLevel;
28 28
 import com.dmdirc.logger.Logger;
29
-import com.dmdirc.plugins.BasePlugin;
29
+import com.dmdirc.plugins.implementations.BasePlugin;
30 30
 
31 31
 import java.io.BufferedReader;
32 32
 import java.io.File;

+ 1
- 1
src/com/dmdirc/addons/mediasource_dcop/DcopMediaSourcePlugin.java Voir le fichier

@@ -24,7 +24,7 @@ package com.dmdirc.addons.mediasource_dcop;
24 24
 
25 25
 import com.dmdirc.addons.nowplaying.MediaSource;
26 26
 import com.dmdirc.addons.nowplaying.MediaSourceManager;
27
-import com.dmdirc.plugins.BasePlugin;
27
+import com.dmdirc.plugins.implementations.BasePlugin;
28 28
 import com.dmdirc.plugins.NoSuchProviderException;
29 29
 import com.dmdirc.plugins.PluginManager;
30 30
 

+ 1
- 1
src/com/dmdirc/addons/mediasource_linux_title/TitleMediaSourcePlugin.java Voir le fichier

@@ -24,7 +24,7 @@ package com.dmdirc.addons.mediasource_linux_title;
24 24
 
25 25
 import com.dmdirc.addons.nowplaying.MediaSource;
26 26
 import com.dmdirc.addons.nowplaying.MediaSourceManager;
27
-import com.dmdirc.plugins.BasePlugin;
27
+import com.dmdirc.plugins.implementations.BasePlugin;
28 28
 
29 29
 import java.util.ArrayList;
30 30
 import java.util.List;

+ 1
- 1
src/com/dmdirc/addons/mediasource_mplayer/MplayerMediaSourcePlugin.java Voir le fichier

@@ -24,7 +24,7 @@ package com.dmdirc.addons.mediasource_mplayer;
24 24
 
25 25
 import com.dmdirc.addons.nowplaying.MediaSource;
26 26
 import com.dmdirc.addons.nowplaying.MediaSourceState;
27
-import com.dmdirc.plugins.BasePlugin;
27
+import com.dmdirc.plugins.implementations.BasePlugin;
28 28
 
29 29
 import java.io.BufferedReader;
30 30
 import java.io.IOException;

+ 1
- 1
src/com/dmdirc/addons/mediasource_vlc/VlcMediaSourcePlugin.java Voir le fichier

@@ -30,7 +30,7 @@ import com.dmdirc.config.prefs.PreferencesCategory;
30 30
 import com.dmdirc.config.prefs.PreferencesDialogModel;
31 31
 import com.dmdirc.config.prefs.PreferencesSetting;
32 32
 import com.dmdirc.config.prefs.PreferencesType;
33
-import com.dmdirc.plugins.BasePlugin;
33
+import com.dmdirc.plugins.implementations.BasePlugin;
34 34
 import com.dmdirc.plugins.PluginInfo;
35 35
 import com.dmdirc.util.io.Downloader;
36 36
 

+ 14
- 6
src/com/dmdirc/addons/mediasource_windows/WindowsMediaSourcePlugin.java Voir le fichier

@@ -26,8 +26,9 @@ import com.dmdirc.addons.nowplaying.MediaSource;
26 26
 import com.dmdirc.addons.nowplaying.MediaSourceManager;
27 27
 import com.dmdirc.logger.ErrorLevel;
28 28
 import com.dmdirc.logger.Logger;
29
-import com.dmdirc.plugins.BaseFileDependantPlugin;
30 29
 import com.dmdirc.plugins.PluginInfo;
30
+import com.dmdirc.plugins.implementations.BasePlugin;
31
+import com.dmdirc.plugins.implementations.PluginFilesHelper;
31 32
 import com.dmdirc.util.io.StreamReader;
32 33
 import com.dmdirc.util.resourcemanager.ResourceManager;
33 34
 
@@ -38,7 +39,7 @@ import java.util.List;
38 39
 /**
39 40
  * Manages all Windows based media sources.
40 41
  */
41
-public class WindowsMediaSourcePlugin extends BaseFileDependantPlugin
42
+public class WindowsMediaSourcePlugin extends BasePlugin
42 43
         implements MediaSourceManager {
43 44
 
44 45
     /** Media sources. */
@@ -47,14 +48,18 @@ public class WindowsMediaSourcePlugin extends BaseFileDependantPlugin
47 48
     /** My plugin info. */
48 49
     private final PluginInfo pluginInfo;
49 50
 
51
+    /** Plugin files helper. */
52
+    private final PluginFilesHelper filesHelper;
53
+
50 54
     /**
51 55
      * Creates a new instance of DcopMediaSourcePlugin.
52 56
      *
53 57
      * @param pluginInfo This plugin's plugin info
54 58
      */
55 59
     public WindowsMediaSourcePlugin(final PluginInfo pluginInfo) {
56
-        super(pluginInfo.getMetaData());
60
+        super();
57 61
         this.pluginInfo = pluginInfo;
62
+        this.filesHelper = new PluginFilesHelper(pluginInfo.getMetaData());
58 63
         sources = new ArrayList<MediaSource>();
59 64
         sources.add(new DllSource(this, "Winamp", true));
60 65
         sources.add(new DllSource(this, "iTunes", false));
@@ -75,7 +80,10 @@ public class WindowsMediaSourcePlugin extends BaseFileDependantPlugin
75 80
      */
76 81
     protected MediaInfoOutput getOutput(final String player, final String method) {
77 82
         try {
78
-            final Process myProcess = Runtime.getRuntime().exec(new String[]{getFilesDirString() + "GetMediaInfo.exe", player, method});
83
+            final Process myProcess = Runtime.getRuntime().exec(new String[]{
84
+                filesHelper.getFilesDirString() + "GetMediaInfo.exe",
85
+                player,
86
+                method});
79 87
             final StringBuffer data = new StringBuffer();
80 88
             new StreamReader(myProcess.getErrorStream()).start();
81 89
             new StreamReader(myProcess.getInputStream(), data).start();
@@ -109,8 +117,8 @@ public class WindowsMediaSourcePlugin extends BaseFileDependantPlugin
109 117
 
110 118
             // Extract the .dlls and .exe
111 119
             try {
112
-                res.extractResoucesEndingWith(getFilesDir(), ".dll");
113
-                res.extractResoucesEndingWith(getFilesDir(), ".exe");
120
+                res.extractResoucesEndingWith(filesHelper.getFilesDir(), ".dll");
121
+                res.extractResoucesEndingWith(filesHelper.getFilesDir(), ".exe");
114 122
             } catch (IOException ex) {
115 123
                 Logger.userError(ErrorLevel.MEDIUM, "Unable to extract files for windows media source: " + ex.getMessage(), ex);
116 124
             }

+ 1
- 1
src/com/dmdirc/addons/nickcolours/NickColourPlugin.java Voir le fichier

@@ -41,7 +41,7 @@ import com.dmdirc.interfaces.actions.ActionType;
41 41
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
42 42
 import com.dmdirc.parser.interfaces.ChannelInfo;
43 43
 import com.dmdirc.parser.interfaces.ClientInfo;
44
-import com.dmdirc.plugins.BasePlugin;
44
+import com.dmdirc.plugins.implementations.BasePlugin;
45 45
 import com.dmdirc.plugins.PluginInfo;
46 46
 import com.dmdirc.ui.Colour;
47 47
 import com.dmdirc.ui.messages.ColourManager;

+ 7
- 3
src/com/dmdirc/addons/nma/NotifyMyAndroidPlugin.java Voir le fichier

@@ -27,13 +27,14 @@ import com.dmdirc.config.prefs.PreferencesCategory;
27 27
 import com.dmdirc.config.prefs.PreferencesDialogModel;
28 28
 import com.dmdirc.config.prefs.PreferencesSetting;
29 29
 import com.dmdirc.config.prefs.PreferencesType;
30
-import com.dmdirc.plugins.BasePlugin;
30
+import com.dmdirc.interfaces.CommandController;
31 31
 import com.dmdirc.plugins.PluginInfo;
32
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
32 33
 
33 34
 /**
34 35
  * Plugin to allow pushing notifications to NotifyMyAndroid.
35 36
  */
36
-public class NotifyMyAndroidPlugin extends BasePlugin {
37
+public class NotifyMyAndroidPlugin extends BaseCommandPlugin {
37 38
 
38 39
     /** The command to register. */
39 40
     private final NotifyMyAndroidCommand command = new NotifyMyAndroidCommand();
@@ -45,8 +46,11 @@ public class NotifyMyAndroidPlugin extends BasePlugin {
45 46
      * Creates a new instance of the {@link NotifyMyAndroidPlugin}.
46 47
      *
47 48
      * @param pluginInfo The plugin info object for this plugin.
49
+     * @param commandController Command controller to register commands
48 50
      */
49
-    public NotifyMyAndroidPlugin(final PluginInfo pluginInfo) {
51
+    public NotifyMyAndroidPlugin(final PluginInfo pluginInfo,
52
+            final CommandController commandController) {
53
+        super(commandController);
50 54
         registerCommand(command, NotifyMyAndroidCommand.INFO);
51 55
 
52 56
         this.pluginInfo = pluginInfo;

+ 7
- 4
src/com/dmdirc/addons/notifications/NotificationsPlugin.java Voir le fichier

@@ -29,9 +29,10 @@ import com.dmdirc.config.prefs.PluginPreferencesCategory;
29 29
 import com.dmdirc.config.prefs.PreferencesCategory;
30 30
 import com.dmdirc.config.prefs.PreferencesDialogModel;
31 31
 import com.dmdirc.interfaces.ActionListener;
32
+import com.dmdirc.interfaces.CommandController;
32 33
 import com.dmdirc.interfaces.actions.ActionType;
33
-import com.dmdirc.plugins.BasePlugin;
34 34
 import com.dmdirc.plugins.PluginInfo;
35
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
35 36
 
36 37
 import java.util.ArrayList;
37 38
 import java.util.List;
@@ -41,7 +42,7 @@ import java.util.concurrent.Callable;
41 42
  * Notification Manager plugin, aggregates notification sources exposing them
42 43
  * via a single command.
43 44
  */
44
-public class NotificationsPlugin extends BasePlugin implements ActionListener {
45
+public class NotificationsPlugin extends BaseCommandPlugin implements ActionListener {
45 46
 
46 47
     /** The notification methods that we know of. */
47 48
     private final List<String> methods = new ArrayList<String>();
@@ -54,9 +55,11 @@ public class NotificationsPlugin extends BasePlugin implements ActionListener {
54 55
      * Creates a new instance of this plugin.
55 56
      *
56 57
      * @param pluginInfo This plugin's plugin info
58
+     * @param commandController Command controller to register commands
57 59
      */
58
-    public NotificationsPlugin(final PluginInfo pluginInfo) {
59
-        super();
60
+    public NotificationsPlugin(final PluginInfo pluginInfo,
61
+            final CommandController commandController) {
62
+        super(commandController);
60 63
         this.pluginInfo = pluginInfo;
61 64
         registerCommand(new NotificationCommand(this),
62 65
                 NotificationCommand.INFO);

+ 7
- 4
src/com/dmdirc/addons/nowplaying/NowPlayingPlugin.java Voir le fichier

@@ -30,10 +30,11 @@ import com.dmdirc.config.prefs.PreferencesCategory;
30 30
 import com.dmdirc.config.prefs.PreferencesDialogModel;
31 31
 import com.dmdirc.interfaces.ActionController;
32 32
 import com.dmdirc.interfaces.ActionListener;
33
+import com.dmdirc.interfaces.CommandController;
33 34
 import com.dmdirc.interfaces.actions.ActionType;
34
-import com.dmdirc.plugins.BasePlugin;
35 35
 import com.dmdirc.plugins.Plugin;
36 36
 import com.dmdirc.plugins.PluginInfo;
37
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
37 38
 
38 39
 import java.util.ArrayList;
39 40
 import java.util.Collections;
@@ -44,7 +45,7 @@ import java.util.concurrent.Callable;
44 45
  * Plugin that allows users to advertise what they're currently playing or
45 46
  * listening to.
46 47
  */
47
-public class NowPlayingPlugin extends BasePlugin implements ActionListener  {
48
+public class NowPlayingPlugin extends BaseCommandPlugin implements ActionListener  {
48 49
 
49 50
     /** The sources that we know of. */
50 51
     private final List<MediaSource> sources = new ArrayList<MediaSource>();
@@ -62,10 +63,12 @@ public class NowPlayingPlugin extends BasePlugin implements ActionListener  {
62 63
      *
63 64
      * @param pluginInfo This plugin's plugin info
64 65
      * @param actionController The action controller to register listeners with
66
+     * @param commandController Command controller to register commands
65 67
      */
66 68
     public NowPlayingPlugin(final PluginInfo pluginInfo,
67
-            final ActionController actionController) {
68
-        super();
69
+            final ActionController actionController,
70
+            final CommandController commandController) {
71
+        super(commandController);
69 72
 
70 73
         this.pluginInfo = pluginInfo;
71 74
         this.actionController = actionController;

+ 7
- 4
src/com/dmdirc/addons/osd/OsdPlugin.java Voir le fichier

@@ -31,8 +31,9 @@ import com.dmdirc.config.prefs.PreferencesDialogModel;
31 31
 import com.dmdirc.config.prefs.PreferencesSetting;
32 32
 import com.dmdirc.config.prefs.PreferencesType;
33 33
 import com.dmdirc.config.prefs.SettingChangeListener;
34
-import com.dmdirc.plugins.BasePlugin;
34
+import com.dmdirc.interfaces.CommandController;
35 35
 import com.dmdirc.plugins.PluginInfo;
36
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
36 37
 import com.dmdirc.util.validators.NumericalValidator;
37 38
 import com.dmdirc.util.validators.OptionalValidator;
38 39
 
@@ -42,7 +43,7 @@ import java.util.Map;
42 43
 /**
43 44
  * Allows the user to display on-screen-display messages.
44 45
  */
45
-public final class OsdPlugin extends BasePlugin implements
46
+public final class OsdPlugin extends BaseCommandPlugin implements
46 47
         CategoryChangeListener, PreferencesInterface, SettingChangeListener {
47 48
 
48 49
     /** Config OSD Window. */
@@ -63,9 +64,11 @@ public final class OsdPlugin extends BasePlugin implements
63 64
      * Creates a new instance of this plugin.
64 65
      *
65 66
      * @param pluginInfo This plugin's plugin info
67
+     * @param commandController Command controller to register commands
66 68
      */
67
-    public OsdPlugin(final PluginInfo pluginInfo) {
68
-        super();
69
+    public OsdPlugin(final PluginInfo pluginInfo,
70
+            final CommandController commandController) {
71
+        super(commandController);
69 72
         this.pluginInfo = pluginInfo;
70 73
         osdManager = new OsdManager(this);
71 74
         registerCommand(new OsdCommand(osdManager), OsdCommand.INFO);

+ 7
- 3
src/com/dmdirc/addons/osx_integration/OsxIntegrationPlugin.java Voir le fichier

@@ -23,20 +23,24 @@
23 23
 package com.dmdirc.addons.osx_integration;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.SwingController;
26
-import com.dmdirc.plugins.BasePlugin;
26
+import com.dmdirc.interfaces.CommandController;
27
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
27 28
 
28 29
 /**
29 30
  * A plugin which provides extra commands that integrate with the OS X
30 31
  * environment.
31 32
  */
32
-public class OsxIntegrationPlugin extends BasePlugin {
33
+public class OsxIntegrationPlugin extends BaseCommandPlugin {
33 34
 
34 35
     /**
35 36
      * Creates an instance of {@link OsxIntegrationPlugin}.
36 37
      *
37 38
      * @param controller The Swing UI which runs on the OS X environment
39
+     * @param commandController Command controller to register commands
38 40
      */
39
-    public OsxIntegrationPlugin(final SwingController controller) {
41
+    public OsxIntegrationPlugin(final SwingController controller,
42
+            final CommandController commandController) {
43
+        super(commandController);
40 44
         registerCommand(new DockBounceCommand(controller.getApple()),
41 45
                 DockBounceCommand.INFO);
42 46
     }

+ 1
- 1
src/com/dmdirc/addons/parser_irc/IrcPlugin.java Voir le fichier

@@ -27,7 +27,7 @@ import com.dmdirc.parser.interfaces.Parser;
27 27
 import com.dmdirc.parser.interfaces.ProtocolDescription;
28 28
 import com.dmdirc.parser.irc.IRCParser;
29 29
 import com.dmdirc.parser.irc.IRCProtocolDescription;
30
-import com.dmdirc.plugins.BasePlugin;
30
+import com.dmdirc.plugins.implementations.BasePlugin;
31 31
 
32 32
 import java.net.URI;
33 33
 

+ 1
- 1
src/com/dmdirc/addons/parser_msn/MSNPlugin.java Voir le fichier

@@ -25,7 +25,7 @@ package com.dmdirc.addons.parser_msn;
25 25
 import com.dmdirc.parser.common.MyInfo;
26 26
 import com.dmdirc.parser.interfaces.Parser;
27 27
 import com.dmdirc.parser.interfaces.ProtocolDescription;
28
-import com.dmdirc.plugins.BasePlugin;
28
+import com.dmdirc.plugins.implementations.BasePlugin;
29 29
 
30 30
 import java.net.URI;
31 31
 

+ 1
- 1
src/com/dmdirc/addons/parser_twitter/TwitterPlugin.java Voir le fichier

@@ -32,7 +32,7 @@ import com.dmdirc.config.prefs.PreferencesType;
32 32
 import com.dmdirc.parser.common.MyInfo;
33 33
 import com.dmdirc.parser.interfaces.Parser;
34 34
 import com.dmdirc.parser.interfaces.ProtocolDescription;
35
-import com.dmdirc.plugins.BasePlugin;
35
+import com.dmdirc.plugins.implementations.BasePlugin;
36 36
 import com.dmdirc.plugins.PluginInfo;
37 37
 
38 38
 import java.net.URI;

+ 1
- 1
src/com/dmdirc/addons/parser_xmpp/XmppPlugin.java Voir le fichier

@@ -25,7 +25,7 @@ package com.dmdirc.addons.parser_xmpp;
25 25
 import com.dmdirc.parser.common.MyInfo;
26 26
 import com.dmdirc.parser.interfaces.Parser;
27 27
 import com.dmdirc.parser.interfaces.ProtocolDescription;
28
-import com.dmdirc.plugins.BasePlugin;
28
+import com.dmdirc.plugins.implementations.BasePlugin;
29 29
 
30 30
 import java.net.URI;
31 31
 

+ 8
- 4
src/com/dmdirc/addons/parserdebug/DebugPlugin.java Voir le fichier

@@ -26,10 +26,11 @@ import com.dmdirc.Server;
26 26
 import com.dmdirc.actions.CoreActionType;
27 27
 import com.dmdirc.interfaces.ActionController;
28 28
 import com.dmdirc.interfaces.ActionListener;
29
+import com.dmdirc.interfaces.CommandController;
29 30
 import com.dmdirc.interfaces.actions.ActionType;
30 31
 import com.dmdirc.parser.interfaces.Parser;
31 32
 import com.dmdirc.parser.interfaces.callbacks.DebugInfoListener;
32
-import com.dmdirc.plugins.BasePlugin;
33
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
33 34
 
34 35
 import java.util.ArrayList;
35 36
 import java.util.Date;
@@ -39,7 +40,8 @@ import java.util.Map;
39 40
 /**
40 41
  * This causes parser debugging to be spammed to the console.
41 42
  */
42
-public final class DebugPlugin extends BasePlugin implements DebugInfoListener, ActionListener {
43
+public final class DebugPlugin extends BaseCommandPlugin implements
44
+        DebugInfoListener, ActionListener {
43 45
 
44 46
     /** Map of parsers registered. */
45 47
     protected final Map<Parser, DebugWindow> registeredParsers
@@ -51,9 +53,11 @@ public final class DebugPlugin extends BasePlugin implements DebugInfoListener,
51 53
      * Creates a new instance of this plugin.
52 54
      *
53 55
      * @param actionController The action controller to register listeners with
56
+     * @param commandController Command controller to register commands
54 57
      */
55
-    public DebugPlugin(final ActionController actionController) {
56
-        super();
58
+    public DebugPlugin(final ActionController actionController,
59
+            final CommandController commandController) {
60
+        super(commandController);
57 61
 
58 62
         this.actionController = actionController;
59 63
 

+ 10
- 5
src/com/dmdirc/addons/redirect/RedirectPlugin.java Voir le fichier

@@ -22,17 +22,22 @@
22 22
 
23 23
 package com.dmdirc.addons.redirect;
24 24
 
25
-import com.dmdirc.plugins.BasePlugin;
25
+import com.dmdirc.interfaces.CommandController;
26
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
26 27
 
27 28
 /**
28 29
  * The redirect plugin allows the suer to redirect the output of commands that
29 30
  * would normally echo their results locally to a channel or chat window instead.
30 31
  */
31
-public final class RedirectPlugin extends BasePlugin {
32
+public final class RedirectPlugin extends BaseCommandPlugin {
32 33
 
33
-    /** Creates a new instance of this plugin. */
34
-    public RedirectPlugin() {
35
-        super();
34
+    /**
35
+     * Creates a new instance of this plugin.
36
+     *
37
+     * @param commandController Command controller to register commands
38
+     */
39
+    public RedirectPlugin(final CommandController commandController) {
40
+        super(commandController);
36 41
         registerCommand(new RedirectCommand(), RedirectCommand.INFO);
37 42
     }
38 43
 }

+ 1
- 1
src/com/dmdirc/addons/relaybot/RelayBotPlugin.java Voir le fichier

@@ -39,7 +39,7 @@ import com.dmdirc.interfaces.actions.ActionType;
39 39
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
40 40
 import com.dmdirc.parser.interfaces.Parser;
41 41
 import com.dmdirc.parser.irc.IRCParser;
42
-import com.dmdirc.plugins.BasePlugin;
42
+import com.dmdirc.plugins.implementations.BasePlugin;
43 43
 import com.dmdirc.plugins.PluginInfo;
44 44
 import com.dmdirc.plugins.PluginManager;
45 45
 

+ 8
- 4
src/com/dmdirc/addons/scriptplugin/ScriptPlugin.java Voir le fichier

@@ -26,10 +26,11 @@ import com.dmdirc.actions.CoreActionType;
26 26
 import com.dmdirc.config.IdentityManager;
27 27
 import com.dmdirc.interfaces.ActionController;
28 28
 import com.dmdirc.interfaces.ActionListener;
29
+import com.dmdirc.interfaces.CommandController;
29 30
 import com.dmdirc.interfaces.actions.ActionType;
30 31
 import com.dmdirc.logger.ErrorLevel;
31 32
 import com.dmdirc.logger.Logger;
32
-import com.dmdirc.plugins.BasePlugin;
33
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
33 34
 import com.dmdirc.util.io.StreamUtils;
34 35
 import com.dmdirc.util.validators.ValidationResponse;
35 36
 
@@ -46,7 +47,7 @@ import javax.script.ScriptEngineManager;
46 47
 /**
47 48
  * This allows javascript scripts to be used in DMDirc.
48 49
  */
49
-public final class ScriptPlugin extends BasePlugin implements ActionListener {
50
+public final class ScriptPlugin extends BaseCommandPlugin implements ActionListener {
50 51
 
51 52
     /** Script Directory */
52 53
     private final String scriptDir;
@@ -66,9 +67,12 @@ public final class ScriptPlugin extends BasePlugin implements ActionListener {
66 67
      *
67 68
      * @param actionController The action controller to register listeners with
68 69
      * @param identityManager The Identity Manager that controls the current config
70
+     * @param commandController Command controller to register commands
69 71
      */
70
-    public ScriptPlugin(final ActionController actionController, final IdentityManager identityManager) {
71
-        super();
72
+    public ScriptPlugin(final ActionController actionController,
73
+            final IdentityManager identityManager,
74
+            final CommandController commandController) {
75
+        super(commandController);
72 76
         scriptDir = identityManager.getConfigDir() + "scripts/";
73 77
         this.actionController = actionController;
74 78
 

+ 2
- 1
src/com/dmdirc/addons/serverlistdialog/ServerListDialogPlugin.java Voir le fichier

@@ -24,6 +24,7 @@ package com.dmdirc.addons.serverlistdialog;
24 24
 
25 25
 import com.dmdirc.addons.ui_swing.SwingController;
26 26
 import com.dmdirc.plugins.PluginManager;
27
+import com.dmdirc.plugins.implementations.BasePlugin;
27 28
 
28 29
 import java.awt.event.ActionEvent;
29 30
 import java.awt.event.ActionListener;
@@ -33,7 +34,7 @@ import javax.swing.JMenuItem;
33 34
 /**
34 35
  * Server list dialog plugin.
35 36
  */
36
-public class ServerListDialogPlugin implements ActionListener {
37
+public class ServerListDialogPlugin extends BasePlugin implements ActionListener {
37 38
 
38 39
     /** Swing controller. */
39 40
     private final SwingController controller;

+ 1
- 1
src/com/dmdirc/addons/serverlists/ServerListPlugin.java Voir le fichier

@@ -22,7 +22,7 @@
22 22
 
23 23
 package com.dmdirc.addons.serverlists;
24 24
 
25
-import com.dmdirc.plugins.BasePlugin;
25
+import com.dmdirc.plugins.implementations.BasePlugin;
26 26
 
27 27
 /** Dummy plugin for server lists. */
28 28
 public class ServerListPlugin extends BasePlugin {}

+ 1
- 1
src/com/dmdirc/addons/sessionlock/SessionLock.java Voir le fichier

@@ -23,7 +23,7 @@
23 23
 package com.dmdirc.addons.sessionlock;
24 24
 
25 25
 import com.dmdirc.actions.ActionManager;
26
-import com.dmdirc.plugins.BasePlugin;
26
+import com.dmdirc.plugins.implementations.BasePlugin;
27 27
 
28 28
 import com.greboid.lock.LockAdapter;
29 29
 import com.greboid.lock.LockListener;

+ 1
- 1
src/com/dmdirc/addons/swingdebug/SwingDebugPlugin.java Voir le fichier

@@ -24,7 +24,7 @@ package com.dmdirc.addons.swingdebug;
24 24
 import com.dmdirc.addons.ui_swing.DMDircEventQueue;
25 25
 import com.dmdirc.addons.ui_swing.SwingController;
26 26
 import com.dmdirc.addons.ui_swing.components.CheckBoxMenuItem;
27
-import com.dmdirc.plugins.BasePlugin;
27
+import com.dmdirc.plugins.implementations.BasePlugin;
28 28
 
29 29
 import java.awt.Toolkit;
30 30
 import java.awt.event.ActionEvent;

+ 8
- 5
src/com/dmdirc/addons/systray/SystrayPlugin.java Voir le fichier

@@ -33,8 +33,9 @@ import com.dmdirc.config.prefs.PreferencesDialogModel;
33 33
 import com.dmdirc.config.prefs.PreferencesSetting;
34 34
 import com.dmdirc.config.prefs.PreferencesType;
35 35
 import com.dmdirc.interfaces.ActionController;
36
-import com.dmdirc.plugins.BasePlugin;
36
+import com.dmdirc.interfaces.CommandController;
37 37
 import com.dmdirc.plugins.PluginInfo;
38
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
38 39
 import com.dmdirc.ui.IconManager;
39 40
 import com.dmdirc.ui.messages.Styliser;
40 41
 import com.dmdirc.util.validators.ValidationResponse;
@@ -54,8 +55,8 @@ import java.awt.event.MouseListener;
54 55
  * The Systray plugin shows DMDirc in the user's system tray, and allows
55 56
  * notifications to be disabled.
56 57
  */
57
-public final class SystrayPlugin extends BasePlugin implements ActionListener,
58
-        MouseListener, com.dmdirc.interfaces.ActionListener {
58
+public final class SystrayPlugin extends BaseCommandPlugin implements
59
+        ActionListener, MouseListener, com.dmdirc.interfaces.ActionListener {
59 60
 
60 61
     /** The tray icon we're currently using. */
61 62
     private final TrayIcon icon;
@@ -71,10 +72,12 @@ public final class SystrayPlugin extends BasePlugin implements ActionListener,
71 72
      *
72 73
      * @param pluginInfo This plugin's plugin info
73 74
      * @param actionController The action controller to use
75
+     * @param commandController Command controller to register commands
74 76
      */
75 77
     public SystrayPlugin(final PluginInfo pluginInfo,
76
-            final ActionController actionController) {
77
-        super();
78
+            final ActionController actionController,
79
+            final CommandController commandController) {
80
+        super(commandController);
78 81
 
79 82
         this.pluginInfo = pluginInfo;
80 83
         this.actionController = actionController;

+ 1
- 1
src/com/dmdirc/addons/tabcompletion_bash/BashStylePlugin.java Voir le fichier

@@ -23,7 +23,7 @@
23 23
 package com.dmdirc.addons.tabcompletion_bash;
24 24
 
25 25
 import com.dmdirc.WritableFrameContainer;
26
-import com.dmdirc.plugins.BasePlugin;
26
+import com.dmdirc.plugins.implementations.BasePlugin;
27 27
 import com.dmdirc.ui.input.TabCompleter;
28 28
 import com.dmdirc.ui.input.tabstyles.TabCompletionStyle;
29 29
 

+ 1
- 1
src/com/dmdirc/addons/tabcompletion_mirc/MircStylePlugin.java Voir le fichier

@@ -23,7 +23,7 @@
23 23
 package com.dmdirc.addons.tabcompletion_mirc;
24 24
 
25 25
 import com.dmdirc.WritableFrameContainer;
26
-import com.dmdirc.plugins.BasePlugin;
26
+import com.dmdirc.plugins.implementations.BasePlugin;
27 27
 import com.dmdirc.ui.input.TabCompleter;
28 28
 import com.dmdirc.ui.input.tabstyles.TabCompletionStyle;
29 29
 

+ 7
- 4
src/com/dmdirc/addons/time/TimePlugin.java Voir le fichier

@@ -23,7 +23,8 @@
23 23
 package com.dmdirc.addons.time;
24 24
 
25 25
 import com.dmdirc.interfaces.ActionController;
26
-import com.dmdirc.plugins.BasePlugin;
26
+import com.dmdirc.interfaces.CommandController;
27
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
27 28
 
28 29
 import java.util.Calendar;
29 30
 import java.util.Timer;
@@ -32,7 +33,7 @@ import java.util.TimerTask;
32 33
 /**
33 34
  * Provides various time-related features.
34 35
  */
35
-public final class TimePlugin extends BasePlugin {
36
+public final class TimePlugin extends BaseCommandPlugin {
36 37
 
37 38
     /** Have we registered our types already? */
38 39
     private static boolean registered;
@@ -47,9 +48,11 @@ public final class TimePlugin extends BasePlugin {
47 48
      * Creates a new instance of this plugin.
48 49
      *
49 50
      * @param actionController The action controller to register listeners with
51
+     * @param commandController Command controller to register commands
50 52
      */
51
-    public TimePlugin(final ActionController actionController) {
52
-        super();
53
+    public TimePlugin(final ActionController actionController,
54
+            final CommandController commandController) {
55
+        super(commandController);
53 56
 
54 57
         this.actionController = actionController;
55 58
         manager = new TimerManager();

+ 1
- 1
src/com/dmdirc/addons/ui_dummy/DummyController.java Voir le fichier

@@ -26,7 +26,7 @@ import com.dmdirc.Channel;
26 26
 import com.dmdirc.FrameContainer;
27 27
 import com.dmdirc.Main;
28 28
 import com.dmdirc.Server;
29
-import com.dmdirc.plugins.BasePlugin;
29
+import com.dmdirc.plugins.implementations.BasePlugin;
30 30
 import com.dmdirc.ui.core.components.StatusBarManager;
31 31
 import com.dmdirc.interfaces.ui.UIController;
32 32
 import com.dmdirc.interfaces.ui.Window;

+ 10
- 4
src/com/dmdirc/addons/ui_swing/SwingController.java Voir le fichier

@@ -54,13 +54,14 @@ import com.dmdirc.config.prefs.PreferencesCategory;
54 54
 import com.dmdirc.config.prefs.PreferencesDialogModel;
55 55
 import com.dmdirc.config.prefs.PreferencesSetting;
56 56
 import com.dmdirc.config.prefs.PreferencesType;
57
+import com.dmdirc.interfaces.CommandController;
57 58
 import com.dmdirc.interfaces.ui.UIController;
58 59
 import com.dmdirc.interfaces.ui.Window;
59 60
 import com.dmdirc.logger.ErrorLevel;
60 61
 import com.dmdirc.logger.Logger;
61
-import com.dmdirc.plugins.BasePlugin;
62 62
 import com.dmdirc.plugins.PluginInfo;
63 63
 import com.dmdirc.plugins.PluginManager;
64
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
64 65
 import com.dmdirc.ui.IconManager;
65 66
 import com.dmdirc.ui.WindowManager;
66 67
 import com.dmdirc.ui.core.components.StatusBarManager;
@@ -96,7 +97,7 @@ import net.miginfocom.layout.PlatformDefaults;
96 97
  * Controls the main swing UI.
97 98
  */
98 99
 @SuppressWarnings("PMD.UnusedPrivateField")
99
-public class SwingController extends BasePlugin implements UIController {
100
+public class SwingController extends BaseCommandPlugin implements UIController {
100 101
     /** Window factory. */
101 102
     @Getter
102 103
     private final SwingWindowFactory windowFactory =
@@ -161,13 +162,18 @@ public class SwingController extends BasePlugin implements UIController {
161 162
      *
162 163
      * @param pluginInfo Plugin info
163 164
      * @param identityManager Identity Manager
165
+     * @param pluginManager Plugin manager
166
+     * @param main Main instance
167
+     * @param actionManager Action manager
168
+     * @param commandController Command controller to register commands
164 169
      */
165 170
     public SwingController(final PluginInfo pluginInfo,
166 171
             final IdentityManager identityManager,
167 172
             final PluginManager pluginManager,
168 173
             final Main main,
169
-            final ActionManager actionManager) {
170
-        super();
174
+            final ActionManager actionManager,
175
+            final CommandController commandController) {
176
+        super(commandController);
171 177
         this.main = main;
172 178
         this.pluginInfo = pluginInfo;
173 179
         this.identityManager = identityManager;

+ 1
- 1
src/com/dmdirc/addons/ui_web/WebInterfacePlugin.java Voir le fichier

@@ -23,7 +23,7 @@
23 23
 package com.dmdirc.addons.ui_web;
24 24
 
25 25
 import com.dmdirc.Main;
26
-import com.dmdirc.plugins.BasePlugin;
26
+import com.dmdirc.plugins.implementations.BasePlugin;
27 27
 
28 28
 import lombok.Getter;
29 29
 

+ 11
- 6
src/com/dmdirc/addons/urlcatcher/UrlCatcherPlugin.java Voir le fichier

@@ -29,8 +29,9 @@ import com.dmdirc.actions.CoreActionType;
29 29
 import com.dmdirc.interfaces.actions.ActionType;
30 30
 import com.dmdirc.config.IdentityManager;
31 31
 import com.dmdirc.interfaces.ActionListener;
32
+import com.dmdirc.interfaces.CommandController;
32 33
 import com.dmdirc.interfaces.ConfigChangeListener;
33
-import com.dmdirc.plugins.BasePlugin;
34
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
34 35
 import com.dmdirc.ui.messages.Styliser;
35 36
 
36 37
 import java.util.HashMap;
@@ -40,17 +41,21 @@ import java.util.Map;
40 41
  * A plugin which logs all observed URLs and allows the user to list them
41 42
  * later.
42 43
  */
43
-public class UrlCatcherPlugin extends BasePlugin implements ActionListener,
44
-        ConfigChangeListener {
44
+public class UrlCatcherPlugin extends BaseCommandPlugin implements
45
+        ActionListener, ConfigChangeListener {
45 46
 
46 47
     /* URLs and the number of times they were mentioned. */
47 48
     private final Map<String, Integer> urls = new HashMap<String, Integer>();
48 49
     /** Whether to capture URLs from the raw window. */
49 50
     private boolean captureRaw = false;
50 51
 
51
-    /** Creates a new instance of this plugin. */
52
-    public UrlCatcherPlugin() {
53
-        super();
52
+    /**
53
+     * Creates a new instance of this plugin.
54
+     *
55
+     * @param commandController Command controller to register commands
56
+     */
57
+    public UrlCatcherPlugin(final CommandController commandController) {
58
+        super(commandController);
54 59
         registerCommand(new UrlListCommand(this), UrlListCommand.INFO);
55 60
     }
56 61
 

+ 1
- 1
src/com/dmdirc/addons/userlevel/UserLevelPlugin.java Voir le fichier

@@ -31,7 +31,7 @@ import com.dmdirc.interfaces.ActionListener;
31 31
 import com.dmdirc.interfaces.ConfigChangeListener;
32 32
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
33 33
 import com.dmdirc.parser.interfaces.ClientInfo;
34
-import com.dmdirc.plugins.BasePlugin;
34
+import com.dmdirc.plugins.implementations.BasePlugin;
35 35
 
36 36
 import java.util.HashMap;
37 37
 import java.util.Map;

+ 7
- 4
src/com/dmdirc/addons/windowflashing/WindowFlashing.java Voir le fichier

@@ -35,9 +35,10 @@ import com.dmdirc.config.prefs.PreferencesDialogModel;
35 35
 import com.dmdirc.config.prefs.PreferencesSetting;
36 36
 import com.dmdirc.config.prefs.PreferencesType;
37 37
 import com.dmdirc.interfaces.ActionListener;
38
+import com.dmdirc.interfaces.CommandController;
38 39
 import com.dmdirc.interfaces.actions.ActionType;
39
-import com.dmdirc.plugins.BasePlugin;
40 40
 import com.dmdirc.plugins.PluginInfo;
41
+import com.dmdirc.plugins.implementations.BaseCommandPlugin;
41 42
 
42 43
 import com.sun.jna.Native;
43 44
 import com.sun.jna.NativeLibrary;
@@ -50,7 +51,7 @@ import com.sun.jna.platform.win32.WinUser.FLASHWINFO;
50 51
 /**
51 52
  * Native notification plugin to make DMDirc support windows task bar flashing.
52 53
  */
53
-public class WindowFlashing extends BasePlugin implements ActionListener {
54
+public class WindowFlashing extends BaseCommandPlugin implements ActionListener {
54 55
 
55 56
     /** This plugin's plugin info. */
56 57
     private final PluginInfo pluginInfo;
@@ -86,12 +87,14 @@ public class WindowFlashing extends BasePlugin implements ActionListener {
86 87
      * @param identityManager Identity Manager
87 88
      * @param controller Parent swing controller
88 89
      * @param actionManager Action manager
90
+     * @param commandController command controller to register commands
89 91
      */
90 92
     public WindowFlashing(final PluginInfo pluginInfo,
91 93
             final IdentityManager identityManager,
92 94
             final SwingController controller,
93
-            final ActionManager actionManager) {
94
-        super();
95
+            final ActionManager actionManager,
96
+            final CommandController commandController) {
97
+        super(commandController);
95 98
         this.pluginInfo = pluginInfo;
96 99
         this.controller = controller;
97 100
         this.actionManager = actionManager;

+ 1
- 1
src/com/dmdirc/addons/windowstatus/WindowStatusPlugin.java Voir le fichier

@@ -40,7 +40,7 @@ import com.dmdirc.interfaces.ConfigChangeListener;
40 40
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
41 41
 import com.dmdirc.parser.interfaces.ChannelInfo;
42 42
 import com.dmdirc.parser.interfaces.ClientInfo;
43
-import com.dmdirc.plugins.BasePlugin;
43
+import com.dmdirc.plugins.implementations.BasePlugin;
44 44
 import com.dmdirc.plugins.PluginInfo;
45 45
 
46 46
 import java.util.HashMap;

+ 3
- 3
test/com/dmdirc/addons/urlcatcher/UrlCatcherPluginTest.java Voir le fichier

@@ -26,8 +26,8 @@ import com.dmdirc.TestMain;
26 26
 import com.dmdirc.FrameContainer;
27 27
 import com.dmdirc.actions.CoreActionType;
28 28
 import com.dmdirc.config.ConfigManager;
29
-import com.dmdirc.config.IdentityManager;
30 29
 import com.dmdirc.config.InvalidIdentityFileException;
30
+import com.dmdirc.interfaces.CommandController;
31 31
 import com.dmdirc.ui.messages.Styliser;
32 32
 import org.junit.BeforeClass;
33 33
 import org.junit.Test;
@@ -55,7 +55,7 @@ public class UrlCatcherPluginTest {
55 55
     public void testURLCounting() throws InvalidIdentityFileException {
56 56
         TestMain.getTestMain();
57 57
 
58
-        final UrlCatcherPlugin plugin = new UrlCatcherPlugin();
58
+        final UrlCatcherPlugin plugin = new UrlCatcherPlugin(mock(CommandController.class));
59 59
 
60 60
         plugin.processEvent(CoreActionType.CHANNEL_MESSAGE, null,
61 61
                 container, "This is a message - http://www.google.com/ foo");
@@ -72,7 +72,7 @@ public class UrlCatcherPluginTest {
72 72
     public void testURLCatching() throws InvalidIdentityFileException {
73 73
         TestMain.getTestMain();
74 74
 
75
-        final UrlCatcherPlugin plugin = new UrlCatcherPlugin();
75
+        final UrlCatcherPlugin plugin = new UrlCatcherPlugin(mock(CommandController.class));
76 76
 
77 77
         plugin.processEvent(CoreActionType.CHANNEL_MESSAGE, null,
78 78
                 container, "http://www.google.com/ www.example.com foo://bar.baz");

Chargement…
Annuler
Enregistrer