package org.limewire.friend.impl.feature; import org.limewire.friend.api.FileMetaData; import org.limewire.friend.api.feature.AuthToken; import org.limewire.friend.api.feature.FeatureRegistry; import org.limewire.friend.api.feature.FeatureTransport; import org.limewire.friend.api.feature.LibraryChangedNotifier; import org.limewire.io.Address; import org.limewire.net.ConnectBackRequest; import com.google.inject.AbstractModule; import com.google.inject.TypeLiteral; public class LimeWireFriendFeatureModule extends AbstractModule { @Override protected void configure() { bind(FeatureRegistry.class).to(FeatureRegistryImpl.class); bind(new TypeLiteral<FeatureTransport.Handler<Address>>(){}).to(AddressDispatcher.class); bind(new TypeLiteral<FeatureTransport.Handler<AuthToken>>(){}).to(AuthTokenDispatcher.class); bind(new TypeLiteral<FeatureTransport.Handler<LibraryChangedNotifier>>(){}).to(LibraryChangedDispatcher.class); bind(new TypeLiteral<FeatureTransport.Handler<ConnectBackRequest>>(){}).to(ConnectBackRequestFeatureTransportHandler.class); bind(new TypeLiteral<FeatureTransport.Handler<FileMetaData>>(){}).to(FileOfferFeatureTransportHandler.class); } }