All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.eclipse.equinox.common.src.org.eclipse.core.runtime.IProgressMonitorWithBlocking Maven / Gradle / Ivy

The newest version!
/*******************************************************************************
 * Copyright (c) 2003, 2006 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 - Initial API and implementation
 *******************************************************************************/
package org.eclipse.core.runtime;

/**
 * An extension to the IProgressMonitor interface for monitors that want to
 * support feedback when an activity is blocked due to concurrent activity in
 * another thread.
 * 

* When a monitor that supports this extension is passed to an operation, the * operation should call setBlocked whenever it knows that it * must wait for a lock that is currently held by another thread. The operation * should continue to check for and respond to cancelation requests while * blocked. When the operation is no longer blocked, it must call clearBlocked * to clear the blocked state. *

* This interface can be used without OSGi running. *

* Clients may implement this interface. *

* @see IProgressMonitor * @since 3.0 */ public interface IProgressMonitorWithBlocking extends IProgressMonitor { /** * Indicates that this operation is blocked by some background activity. If * a running operation ever calls setBlocked, it must * eventually call clearBlocked before the operation * completes. *

* If the caller is blocked by a currently executing job, this method will return * an IJobStatus indicating the job that is currently blocking * the caller. If this blocking job is not known, this method will return a plain * informational IStatus object. *

* * @param reason an optional status object whose message describes the * reason why this operation is blocked, or null if this * information is not available. * @see #clearBlocked() * @see org.eclipse.core.runtime.jobs.IJobStatus */ public void setBlocked(IStatus reason); /** * Clears the blocked state of the running operation. If a running * operation ever calls setBlocked, it must eventually call * clearBlocked before the operation completes. * * @see #setBlocked(IStatus) */ public void clearBlocked(); }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy