1 package net.sf.josceleton.connection.impl;
2
3 import net.sf.josceleton.connection.api.Connector;
4 import net.sf.josceleton.connection.impl.osc.ConnectionImplOscModule;
5 import net.sf.josceleton.connection.impl.service.motion.ConnectionImplServiceMotionModule;
6 import net.sf.josceleton.connection.impl.service.user.ConnectionImplServiceUserModule;
7
8 import com.google.inject.AbstractModule;
9 import com.google.inject.Scopes;
10 import com.google.inject.assistedinject.FactoryProvider;
11
12
13
14
15 public class ConnectionImplModule extends AbstractModule {
16
17 @Override protected final void configure() {
18 bind(Connector.class).to(ConnectorImpl.class).in(Scopes.SINGLETON);
19 bind(OscMessageAddressRouter.class).to(OscMessageAddressRouterImpl.class).in(Scopes.SINGLETON);
20 bind(ConnectionFactory.class).toProvider(
21 FactoryProvider.newFactory(ConnectionFactory.class, ConnectionImpl.class));
22
23 this.install(new ConnectionImplOscModule());
24 this.install(new ConnectionImplServiceMotionModule());
25 this.install(new ConnectionImplServiceUserModule());
26 }
27
28 }