mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-16 12:49:55 +01:00
Separated event infrastructure from DB.
This commit is contained in:
26
briar-core/src/org/briarproject/event/EventBusImpl.java
Normal file
26
briar-core/src/org/briarproject/event/EventBusImpl.java
Normal 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);
|
||||
}
|
||||
}
|
||||
14
briar-core/src/org/briarproject/event/EventModule.java
Normal file
14
briar-core/src/org/briarproject/event/EventModule.java
Normal 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);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user