package org.erlide.util; import com.google.common.eventbus.DeadEvent; import com.google.common.eventbus.EventBus; import com.google.common.eventbus.Subscribe; public class ErlideEventBus { private static EventBus bus; private static EventBus bus() { if (bus == null) { bus = new EventBus("erlide"); bus.register(new ErlideEventBus()); } return bus; } public static void post(final Object event) { bus().post(event); } public static void register(final Object listener) { bus().register(listener); } public static void unregister(final Object listener) { bus().unregister(listener); } @Subscribe public void deadEvent(final DeadEvent event) { ErlLogger.warn("no handler for " + event.getEvent().getClass().getName()); } }