package org.limewire.facebook.service.livemessage; import org.limewire.concurrent.ScheduledListeningExecutorService; import org.limewire.concurrent.SimpleTimer; import org.limewire.facebook.service.Facebook; import com.google.inject.AbstractModule; import com.google.inject.Provides; import com.google.inject.assistedinject.FactoryProvider; public class LimeWireFacebookLiveMessageModule extends AbstractModule { @Override protected void configure() { bind(AddressHandlerFactory.class).toProvider(FactoryProvider.newFactory(AddressHandlerFactory.class, AddressHandler.class)); bind(AuthTokenHandlerFactory.class).toProvider(FactoryProvider.newFactory(AuthTokenHandlerFactory.class, AuthTokenHandler.class)); bind(ConnectBackRequestHandlerFactory.class).toProvider(FactoryProvider.newFactory(ConnectBackRequestHandlerFactory.class, ConnectBackRequestHandler.class)); bind(DiscoInfoHandlerFactory.class).toProvider(FactoryProvider.newFactory(DiscoInfoHandlerFactory.class, DiscoInfoHandler.class)); bind(FileOfferHandlerFactory.class).toProvider(FactoryProvider.newFactory(FileOfferHandlerFactory.class, FileOfferHandler.class)); bind(LibraryRefreshHandlerFactory.class).toProvider(FactoryProvider.newFactory(LibraryRefreshHandlerFactory.class, LibraryRefreshHandler.class)); bind(LiveMessageHandlerRegistry.class).to(LiveMessageHandlerRegistryImpl.class); bind(PresenceHandlerFactory.class).toProvider(FactoryProvider.newFactory(PresenceHandlerFactory.class, PresenceHandler.class)); } @Provides @Facebook ScheduledListeningExecutorService provideFacebookExecutor() { return new SimpleTimer(true); } }