/******************************************************************************* * Copyright (c) 2008 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * IBM Corporation - initial API and implementation *******************************************************************************/ package org.eclipse.equinox.internal.security.storage.friends; import org.eclipse.equinox.security.storage.StorageException; import org.eclipse.equinox.security.storage.provider.IPreferencesContainer; /** * Interface used for UI dependency injection. Unlike most places, * actions in the secure storage can be initiated independently from UI so * we can't expect UI bundle to be originator of an action - or even being * activated. * * As such, an internal extension point internalUI is used to get UI callbacks. * * This is an internal interface used to facilitate exchange between core and * UI portions. * * This interface is subject to modifications as all internal code is. * * Clients should not extend or implement this interface. */ public interface IUICallbacks { public void setupPasswordRecovery(final int size, String moduleID, IPreferencesContainer container); /** * Ask user a yes/no question * @param msg question to ask * @return True for Yes, False for No, null if can't ask */ public Boolean ask(final String msg); /** * Runs a long-running task. */ public void execute(final IStorageTask callback) throws StorageException; /** * @return true if running with UI; false if headless */ public boolean runningUI(); }