package eu.dnetlib.client;

import com.google.gwt.inject.client.AbstractGinModule;
import com.google.inject.Singleton;

import eu.dnetlib.client.managers.ActiveComponentsManagerImpl;
import eu.dnetlib.client.managers.LayoutUpdaterImpl;
import eu.dnetlib.client.managers.NotificationManagerImpl;
import eu.dnetlib.client.managers.PermissionsManagerImpl;
import eu.dnetlib.client.managers.UpdateManagerImpl;
import eu.dnetlib.client.resources.frame.Frames;
import eu.dnetlib.client.resources.item.Items;
import eu.dnetlib.client.resources.theme.Themes;
import eu.dnetlib.client.resources.topic.Topics;
import eu.dnetlib.client.shared.StartUpComponents;

public class GinWidgetClientModule extends AbstractGinModule {
	protected void configure() {
		bind(Items.class).in(Singleton.class);
		bind(Frames.class).in(Singleton.class);
		bind(Topics.class).in(Singleton.class);
		bind(Themes.class).in(Singleton.class);
		bind(LayoutUpdaterImpl.class).in(Singleton.class);
		bind(NotificationManagerImpl.class).in(Singleton.class);
		bind(UpdateManagerImpl.class).in(Singleton.class);
		bind(ActiveComponentsManagerImpl.class).in(Singleton.class);
		bind(PermissionsManagerImpl.class).in(Singleton.class);
		bind(StartUpComponents.class).in(Singleton.class);

		// bind(NotificationService.class).toProvider( );
	}
}
