Package org.eclipse.core.runtime
Interface IProgressMonitorWithBlocking
-
- All Superinterfaces:
IProgressMonitor
- All Known Implementing Classes:
ProgressMonitorPart
,ProgressMonitorWrapper
,SubMonitor
,SubProgressMonitor
public interface IProgressMonitorWithBlocking extends IProgressMonitor
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 callclearBlocked
to clear the blocked state.This interface can be used without OSGi running.
Clients may implement this interface.
- Since:
- 3.0
- See Also:
IProgressMonitor
-
-
Field Summary
-
Fields inherited from interface org.eclipse.core.runtime.IProgressMonitor
UNKNOWN
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
clearBlocked()
Clears the blocked state of the running operation.void
setBlocked(IStatus reason)
Indicates that this operation is blocked by some background activity.-
Methods inherited from interface org.eclipse.core.runtime.IProgressMonitor
beginTask, done, internalWorked, isCanceled, setCanceled, setTaskName, subTask, worked
-
-
-
-
Method Detail
-
setBlocked
void setBlocked(IStatus reason)
Indicates that this operation is blocked by some background activity. If a running operation ever callssetBlocked
, it must eventually callclearBlocked
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 informationalIStatus
object.- Parameters:
reason
- an optional status object whose message describes the reason why this operation is blocked, ornull
if this information is not available.- See Also:
clearBlocked()
-
clearBlocked
void clearBlocked()
Clears the blocked state of the running operation. If a running operation ever callssetBlocked
, it must eventually callclearBlocked
before the operation completes.- See Also:
setBlocked(IStatus)
-
-