Separated event infrastructure from DB.

This commit is contained in:
akwizgran
2014-10-03 09:44:54 +01:00
parent 6a4ea49786
commit 8b8df435a5
29 changed files with 368 additions and 244 deletions

View File

@@ -0,0 +1,26 @@
package org.briarproject.event;
import java.util.Collection;
import java.util.concurrent.CopyOnWriteArrayList;
import org.briarproject.api.event.Event;
import org.briarproject.api.event.EventBus;
import org.briarproject.api.event.EventListener;
class EventBusImpl implements EventBus {
private final Collection<EventListener> listeners =
new CopyOnWriteArrayList<EventListener>();
public void addListener(EventListener l) {
listeners.add(l);
}
public void removeListener(EventListener l) {
listeners.remove(l);
}
public void broadcast(Event e) {
for(EventListener l : listeners) l.eventOccurred(e);
}
}

View File

@@ -0,0 +1,14 @@
package org.briarproject.event;
import org.briarproject.api.event.EventBus;
import com.google.inject.AbstractModule;
import com.google.inject.Singleton;
public class EventModule extends AbstractModule {
@Override
protected void configure() {
bind(EventBus.class).to(EventBusImpl.class).in(Singleton.class);
}
}