Browse Source

removeAllListeners method added. #399

master
Nikita 9 years ago
parent
commit
c90a19c07c
  1. 7
      src/main/java/com/corundumstudio/socketio/SocketIOServer.java
  2. 2
      src/main/java/com/corundumstudio/socketio/listener/ClientListeners.java
  3. 13
      src/main/java/com/corundumstudio/socketio/namespace/Namespace.java

7
src/main/java/com/corundumstudio/socketio/SocketIOServer.java

@ -231,6 +231,11 @@ public class SocketIOServer implements ClientListeners {
mainNamespace.addEventListener(eventName, eventClass, listener);
}
@Override
public void removeAllListeners(String eventName) {
mainNamespace.removeAllListeners(eventName);
}
@Override
public void addDisconnectListener(DisconnectListener listener) {
mainNamespace.addDisconnectListener(listener);
@ -245,7 +250,7 @@ public class SocketIOServer implements ClientListeners {
public void addListeners(Object listeners) {
mainNamespace.addListeners(listeners);
}
@Override
public void addListeners(Object listeners, Class<?> listenersClass) {
mainNamespace.addListeners(listeners, listenersClass);

2
src/main/java/com/corundumstudio/socketio/listener/ClientListeners.java

@ -29,4 +29,6 @@ public interface ClientListeners {
void addListeners(Object listeners, Class<?> listenersClass);
void removeAllListeners(String eventName);
}

13
src/main/java/com/corundumstudio/socketio/namespace/Namespace.java

@ -15,8 +15,6 @@
*/
package com.corundumstudio.socketio.namespace;
import io.netty.util.internal.PlatformDependent;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@ -45,10 +43,11 @@ import com.corundumstudio.socketio.protocol.JsonSupport;
import com.corundumstudio.socketio.protocol.Packet;
import com.corundumstudio.socketio.store.StoreFactory;
import com.corundumstudio.socketio.store.pubsub.JoinLeaveMessage;
import com.corundumstudio.socketio.store.pubsub.PubSubStore;
import com.corundumstudio.socketio.store.pubsub.PubSubType;
import com.corundumstudio.socketio.transport.NamespaceClient;
import io.netty.util.internal.PlatformDependent;
/**
* Hub object for all clients in one namespace.
* Namespace shares by different namespace-clients.
@ -106,6 +105,14 @@ public class Namespace implements SocketIONamespace {
entry.addListener(listener);
jsonSupport.addEventMapping(name, eventName, eventClass);
}
@Override
public void removeAllListeners(String eventName) {
EventEntry<?> entry = eventListeners.remove(eventName);
if (entry != null) {
jsonSupport.removeEventMapping(name, eventName);
}
}
@Override
@SuppressWarnings({"unchecked", "rawtypes"})

Loading…
Cancel
Save