Browse Source

Events not listeners.

Change-Id: I40cef875397bfc5d0d0221edefabb910dcacbb77
Reviewed-on: http://gerrit.dmdirc.com/3785
Automatic-Compile: DMDirc Build Manager
Reviewed-by: Chris Smith <chris@dmdirc.com>
changes/85/3785/3
Greg Holmes 9 years ago
parent
commit
c7a40578ba

+ 4
- 7
src/com/dmdirc/addons/contactlist/ContactListListener.java View File

@@ -24,11 +24,10 @@ package com.dmdirc.addons.contactlist;
24 24
 
25 25
 import com.dmdirc.Channel;
26 26
 import com.dmdirc.DMDircMBassador;
27
-import com.dmdirc.FrameContainer;
28 27
 import com.dmdirc.Query;
29 28
 import com.dmdirc.events.ChannelUserAwayEvent;
30 29
 import com.dmdirc.events.ChannelUserBackEvent;
31
-import com.dmdirc.interfaces.FrameCloseListener;
30
+import com.dmdirc.events.FrameClosingEvent;
32 31
 import com.dmdirc.interfaces.NicklistListener;
33 32
 import com.dmdirc.parser.interfaces.ChannelClientInfo;
34 33
 
@@ -41,7 +40,7 @@ import net.engio.mbassy.listener.Handler;
41 40
 /**
42 41
  * Listens for contact list related events.
43 42
  */
44
-public class ContactListListener implements NicklistListener, FrameCloseListener {
43
+public class ContactListListener implements NicklistListener {
45 44
 
46 45
     /** The channel this listener is for. */
47 46
     private final Channel channel;
@@ -64,7 +63,6 @@ public class ContactListListener implements NicklistListener, FrameCloseListener
64 63
      */
65 64
     public void addListeners() {
66 65
         channel.addNicklistListener(this);
67
-        channel.addCloseListener(this);
68 66
         eventBus.subscribe(this);
69 67
     }
70 68
 
@@ -73,7 +71,6 @@ public class ContactListListener implements NicklistListener, FrameCloseListener
73 71
      */
74 72
     public void removeListeners() {
75 73
         channel.removeNicklistListener(this);
76
-        channel.removeCloseListener(this);
77 74
         eventBus.unsubscribe(this);
78 75
     }
79 76
 
@@ -112,8 +109,8 @@ public class ContactListListener implements NicklistListener, FrameCloseListener
112 109
         clientAdded(event.getUser());
113 110
     }
114 111
 
115
-    @Override
116
-    public void windowClosing(final FrameContainer window) {
112
+    @Handler
113
+    public void windowClosing(final FrameClosingEvent event) {
117 114
         removeListeners();
118 115
     }
119 116
 

+ 10
- 8
src/com/dmdirc/addons/debug/commands/EventBusViewer.java View File

@@ -32,7 +32,7 @@ import com.dmdirc.commandparser.CommandArguments;
32 32
 import com.dmdirc.commandparser.commands.context.CommandContext;
33 33
 import com.dmdirc.events.ClientLineAddedEvent;
34 34
 import com.dmdirc.events.DMDircEvent;
35
-import com.dmdirc.interfaces.FrameCloseListener;
35
+import com.dmdirc.events.FrameClosingEvent;
36 36
 import com.dmdirc.interfaces.config.AggregateConfigProvider;
37 37
 import com.dmdirc.ui.WindowManager;
38 38
 import com.dmdirc.ui.messages.Styliser;
@@ -44,6 +44,8 @@ import javax.inject.Inject;
44 44
 import javax.inject.Provider;
45 45
 
46 46
 import net.engio.mbassy.listener.Handler;
47
+import net.engio.mbassy.listener.Listener;
48
+import net.engio.mbassy.listener.References;
47 49
 
48 50
 /**
49 51
  * Displays events passed on an event bus.
@@ -108,13 +110,13 @@ public class EventBusViewer extends DebugCommand {
108 110
         final DMDircMBassador eventBus = isGlobal ? globalEventBus : origin.getEventBus();
109 111
         final WindowUpdater updater = new WindowUpdater(eventBus, window);
110 112
         eventBus.subscribe(updater);
111
-        window.addCloseListener(updater);
112 113
     }
113 114
 
114 115
     /**
115 116
      * Updates a custom window with details of each event received on an event bus.
116 117
      */
117
-    private static class WindowUpdater implements FrameCloseListener {
118
+    @Listener(references = References.Strong)
119
+    private static class WindowUpdater {
118 120
 
119 121
         private final DMDircMBassador eventBus;
120 122
         private final FrameContainer target;
@@ -124,6 +126,11 @@ public class EventBusViewer extends DebugCommand {
124 126
             this.target = target;
125 127
         }
126 128
 
129
+        @Handler
130
+        public void handleFrameClosing(final FrameClosingEvent event) {
131
+            eventBus.unsubscribe(this);
132
+        }
133
+
127 134
         @Handler
128 135
         public void handleEvent(final DMDircEvent event) {
129 136
             if (event instanceof ClientLineAddedEvent
@@ -156,10 +163,5 @@ public class EventBusViewer extends DebugCommand {
156 163
             target.addLine(FORMAT_OUTPUT, output.toString());
157 164
         }
158 165
 
159
-        @Override
160
-        public void windowClosing(final FrameContainer window) {
161
-            eventBus.unsubscribe(this);
162
-        }
163
-
164 166
     }
165 167
 }

Loading…
Cancel
Save