1 package net.sf.josceleton.connection.impl.osc;
2
3 import net.sf.josceleton.commons.reflect.ClassAdapter;
4 import net.sf.josceleton.commons.reflect.ClassAdapterImpl;
5
6 import com.google.inject.AbstractModule;
7 import com.google.inject.Provides;
8 import com.google.inject.Scopes;
9 import com.google.inject.Singleton;
10 import com.google.inject.assistedinject.FactoryProvider;
11 import com.illposed.osc.OSCPortIn;
12
13 public class ConnectionImplOscModule extends AbstractModule {
14
15 @Override protected final void configure() {
16
17 bind(OscMessageTransformer.class).to(OscMessageTransformerImpl.class).in(Scopes.SINGLETON);
18 bind(OscPortFactory.class).toProvider(FactoryProvider.newFactory(OscPortFactory.class, OscPortImpl.class));
19 bind(OscPortOpener.class).to(OscPortOpenerImpl.class).in(Scopes.SINGLETON);
20
21 }
22
23 @Provides @Singleton public final ClassAdapter<OSCPortIn> getOscPortInClassAdapter() {
24 return new ClassAdapterImpl<OSCPortIn>(OSCPortIn.class);
25 }
26
27 }