package org.ovirt.engine.ui.webadmin.gin.uicommon;
import org.ovirt.engine.core.common.businessentities.UserSession;
import org.ovirt.engine.ui.common.presenter.popup.DefaultConfirmationPopupPresenterWidget;
import org.ovirt.engine.ui.common.uicommon.model.MainModelProvider;
import org.ovirt.engine.ui.common.uicommon.model.MainTabModelProvider;
import org.ovirt.engine.ui.uicommonweb.models.CommonModel;
import org.ovirt.engine.ui.uicommonweb.models.SessionListModel;
import com.google.gwt.event.shared.EventBus;
import com.google.gwt.inject.client.AbstractGinModule;
import com.google.inject.Provider;
import com.google.inject.Provides;
import com.google.inject.Singleton;
public class SessionModule extends AbstractGinModule {
@Provides
@Singleton
public MainModelProvider<UserSession, SessionListModel> getSessionListProvider(EventBus eventBus,
final Provider<DefaultConfirmationPopupPresenterWidget> defaultConfirmPopupProvider,
final Provider<SessionListModel> modelProvider,
final Provider<CommonModel> commonModelProvider) {
MainTabModelProvider<UserSession, SessionListModel> mainTabSessionModelProvider =
new MainTabModelProvider<>(eventBus, defaultConfirmPopupProvider, commonModelProvider);
mainTabSessionModelProvider.setModelProvider(modelProvider);
return mainTabSessionModelProvider;
}
@Override
protected void configure() {
bind(SessionListModel.class).in(Singleton.class);
}
}