|
@@ -41,14 +41,18 @@ import com.dmdirc.parser.irc.IRCParser;
|
41
|
41
|
*
|
42
|
42
|
* @author chris
|
43
|
43
|
*/
|
44
|
|
-public final class ServerEventHandler extends EventHandler
|
45
|
|
- implements ChannelSelfJoinListener, PrivateMessageListener, PrivateActionListener,
|
46
|
|
- ErrorInfoListener, PrivateCtcpListener, PrivateCtcpReplyListener, SocketCloseListener,
|
47
|
|
- PrivateNoticeListener, MotdStartListener, MotdLineListener, MotdEndListener, NumericListener, PingFailureListener,
|
48
|
|
- PingSuccessListener, AwayStateListener, ConnectErrorListener, NickInUseListener, Post005Listener,
|
49
|
|
- AuthNoticeListener, UnknownNoticeListener, UserModeChangeListener, InviteListener, WallopListener,
|
50
|
|
- WalluserListener, WallDesyncListener, NickChangeListener, ServerErrorListener, PingSentListener,
|
51
|
|
- UserModeDiscoveryListener, ServerNoticeListener {
|
|
44
|
+public final class ServerEventHandler extends EventHandler implements
|
|
45
|
+ ChannelSelfJoinListener, PrivateMessageListener, PrivateActionListener,
|
|
46
|
+ ErrorInfoListener, PrivateCtcpListener, PrivateCtcpReplyListener,
|
|
47
|
+ SocketCloseListener, PrivateNoticeListener, MotdStartListener,
|
|
48
|
+ MotdLineListener, MotdEndListener, NumericListener, PingFailureListener,
|
|
49
|
+ PingSuccessListener, AwayStateListener, ConnectErrorListener,
|
|
50
|
+ NickInUseListener, Post005Listener, AuthNoticeListener,
|
|
51
|
+ UnknownNoticeListener, UserModeChangeListener, InviteListener,
|
|
52
|
+ WallopListener, WalluserListener, WallDesyncListener,
|
|
53
|
+ NickChangeListener, ServerErrorListener, PingSentListener,
|
|
54
|
+ UserModeDiscoveryListener, ServerNoticeListener, UnknownMessageListener,
|
|
55
|
+ UnknownActionListener {
|
52
|
56
|
|
53
|
57
|
/** The server instance that owns this event handler. */
|
54
|
58
|
private final Server owner;
|
|
@@ -309,6 +313,46 @@ public final class ServerEventHandler extends EventHandler
|
309
|
313
|
sHost, sTarget, sMessage);
|
310
|
314
|
}
|
311
|
315
|
|
|
316
|
+ /** {@inheritDoc} */
|
|
317
|
+ @Override
|
|
318
|
+ public void onUnknownMessage(final Parser tParser, final String sMessage,
|
|
319
|
+ final String sTarget, final String sHost) {
|
|
320
|
+ checkParser(tParser);
|
|
321
|
+
|
|
322
|
+ if (tParser.getLocalClient().equals(tParser.getClient(sHost))) {
|
|
323
|
+ // Local client
|
|
324
|
+ if (!owner.hasQuery(sTarget)) {
|
|
325
|
+ owner.addQuery(sTarget);
|
|
326
|
+ }
|
|
327
|
+
|
|
328
|
+ owner.getQuery(sTarget).doNotification("querySelfExternalMessage",
|
|
329
|
+ CoreActionType.QUERY_SELF_MESSAGE, tParser.getLocalClient(), sMessage);
|
|
330
|
+ } else {
|
|
331
|
+ owner.doNotification("unknownMessage", CoreActionType.SERVER_UNKNOWNNOTICE,
|
|
332
|
+ sHost, sTarget, sMessage);
|
|
333
|
+ }
|
|
334
|
+ }
|
|
335
|
+
|
|
336
|
+ /** {@inheritDoc} */
|
|
337
|
+ @Override
|
|
338
|
+ public void onUnknownAction(final Parser tParser, final String sMessage,
|
|
339
|
+ final String sTarget, final String sHost) {
|
|
340
|
+ checkParser(tParser);
|
|
341
|
+
|
|
342
|
+ if (tParser.getLocalClient().equals(tParser.getClient(sHost))) {
|
|
343
|
+ // Local client
|
|
344
|
+ if (!owner.hasQuery(sTarget)) {
|
|
345
|
+ owner.addQuery(sTarget);
|
|
346
|
+ }
|
|
347
|
+
|
|
348
|
+ owner.getQuery(sTarget).doNotification("querySelfExternalAction",
|
|
349
|
+ CoreActionType.QUERY_SELF_ACTION, tParser.getLocalClient(), sMessage);
|
|
350
|
+ } else {
|
|
351
|
+ owner.doNotification("unknownAction", CoreActionType.SERVER_UNKNOWNACTION,
|
|
352
|
+ sHost, sTarget, sMessage);
|
|
353
|
+ }
|
|
354
|
+ }
|
|
355
|
+
|
312
|
356
|
/** {@inheritDoc} */
|
313
|
357
|
@Override
|
314
|
358
|
public void onUserModeChanged(final Parser tParser,
|
|
@@ -407,4 +451,5 @@ public final class ServerEventHandler extends EventHandler
|
407
|
451
|
+ owner.getStatus().getTransitionHistory());
|
408
|
452
|
}
|
409
|
453
|
}
|
|
454
|
+
|
410
|
455
|
}
|