1 package cz.cuni.amis.pogamut.ut2004.teamcomm.server;
2
3 import com.google.inject.AbstractModule;
4 import com.google.inject.name.Names;
5 import cz.cuni.amis.pogamut.base.agent.IAgent;
6 import cz.cuni.amis.pogamut.base.communication.translator.IWorldMessageTranslator;
7 import cz.cuni.amis.pogamut.base.communication.worldview.IWorldView;
8 import cz.cuni.amis.pogamut.base.component.controller.ComponentDependencies;
9 import cz.cuni.amis.pogamut.base.server.IWorldServer;
10 import cz.cuni.amis.pogamut.base3d.worldview.IVisionWorldView;
11 import cz.cuni.amis.pogamut.ut2004.communication.translator.server.ServerFSM;
12 import cz.cuni.amis.pogamut.ut2004.communication.worldview.UT2004WorldView;
13 import cz.cuni.amis.pogamut.ut2004.factory.guice.remoteagent.UT2004ServerModule;
14
15 import cz.cuni.amis.pogamut.ut2004.server.IUT2004Server;
16
17
18
19
20
21
22 public class UT2004TCServerModule extends UT2004ServerModule {
23
24 @Override
25 protected void configureModules() {
26 super.configureModules();
27 addModule(new AbstractModule() {
28
29 @Override
30 public void configure() {
31 bind(IWorldMessageTranslator.class).to(ServerFSM.class);
32 bind(IWorldView.class).to(IVisionWorldView.class);
33 bind(IVisionWorldView.class).to(UT2004WorldView.class);
34 bind(ComponentDependencies.class).annotatedWith(Names.named(UT2004WorldView.WORLDVIEW_DEPENDENCY)).toProvider(worldViewDependenciesProvider);
35 bind(IAgent.class).to(IWorldServer.class);
36 bind(IWorldServer.class).to(IUT2004Server.class);
37 bind(IUT2004Server.class).to(UT2004TCServer.class);
38 }
39
40 });
41 }
42 }