package edu.ualberta.med.biobank.gui.common.handlers;
import java.util.Map;
import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.ui.ISourceProviderListener;
import edu.ualberta.med.biobank.gui.common.BgcPlugin;
import edu.ualberta.med.biobank.gui.common.LoginPermissionSessionState;
public abstract class LogoutSensitiveHandler extends AbstractHandler {
protected Boolean allowed = null;
public LogoutSensitiveHandler() {
super();
BgcPlugin.getLoginStateSourceProvider()
.addSourceProviderListener(new ISourceProviderListener() {
@SuppressWarnings("rawtypes")
@Override
public void sourceChanged(int sourcePriority,
Map sourceValuesByName) {
}
@Override
public void sourceChanged(int sourcePriority,
String sourceName, Object sourceValue) {
if (sourceName
.equals(LoginPermissionSessionState.LOGIN_STATE_SOURCE_NAME)
&& sourceValue.equals(LoginPermissionSessionState.LOGGED_OUT))
allowed = null;
}
});
}
}