package eu.dnetlib.client;

import com.google.gwt.core.client.GWT;
import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;

import eu.dnetlib.client.loader.ComponentLoader;
import eu.dnetlib.client.managers.ActiveComponentsManager;
import eu.dnetlib.client.managers.NotificationManager;
import eu.dnetlib.client.managers.PermissionsManager;
import eu.dnetlib.client.managers.UpdateManager;
import eu.dnetlib.client.notification.NotificationSender;
import eu.dnetlib.client.notification.NotificationServiceAsync;
import eu.dnetlib.client.resources.frame.Frames;
import eu.dnetlib.client.resources.item.Items;
import eu.dnetlib.client.resources.systemconfigration.SystemConfiguration;
import eu.dnetlib.client.resources.theme.Themes;
import eu.dnetlib.client.resources.topic.Topics;
import eu.dnetlib.client.resources.usermanagement.Users;
import eu.dnetlib.client.shared.StartUpComponents;
import eu.dnetlib.client.updaters.LayoutUpdater;
import eu.dnetlib.client.updaters.Updater;

@GinModules(GinWidgetClientModule.class)
public interface GinWidgetGinjector extends Ginjector {
	GinWidgetGinjector INSTANCE = GWT.create(GinWidgetGinjector.class);

	Items getItems();

	Frames getFrames();

	Topics getTopics();

	Themes getThemes();

	LayoutUpdater getLayoutUpdater();

	UpdateManager getUpdateManager();

	NotificationManager getNotificationManager();

	PermissionsManager getPermissionsManager();

	ActiveComponentsManager getActiveComponentsManager();

	Users getUsers();

	SystemConfiguration getSystemConfiguration();

	StartUpComponents getStartUpComponents();

	ComponentLoader getComponentLoader();

	NotificationSender getNotificationSender();

	Updater getUpdater();

	NotificationServiceAsync getNotificationServiceAsync();
 
 
}
