Software Development Kit - User Manual

class RunningOperation in Tinman.Core.Threading.Operations

Represents a running operation.

sealed class RunningOperation extends Disposable
  implements IProgressInfo

See also:


Public / Attributes


The error that has occurred most recently.

public property Error { get }
type TinmanError
value The error or null.


Will this object be disposed upon the next call to Dispose?

public property IsSoleOwnership { get }
type bool
value true if the object will be disposed when Dispose is called,
false if the object will not be disposed, because some other code is still holding shared ownership (see AcquireBase).
inherited Disposable.IsSoleOwnership


Returns the lifecycle state of this object.

public property LifecycleState { get }
type LifecycleState
value The lifecycle state.
inherited Disposable.LifecycleState


The current progress, in percent.

public property Progress { get }
type int32
value [0..100] The current progress, in percent.
implements IProgressInfo.Progress


Returns the background thread that executes the operation.

public property Thread { get }
type Thread
value [not-null] The background thread.


The elapsed time of the operation, in seconds.

public property TimeElapsed { get }
type float64
value The elapsed time, in seconds.
implements IProgressInfo.TimeElapsed


The estimated remaining time of the operation, in seconds.

public property TimeRemaining { get }
type float64
value The remaining time, in seconds.
implements IProgressInfo.TimeRemaining


The estimated total time of the operation, in seconds.

public property TimeTotal { get }
type float64
value The total time, in seconds.
implements IProgressInfo.TimeTotal

Public / Methods


Acquires a strong reference to this disposable object.

[OwnerReturn, Pure]
public method AcquireBase (bool allowNull = false)
type IDisposable
params allowNull Depicts what to do when this object is no longer valid:
true: return null
false: throw an exception
returns The strong reference to this disposable object or null iff allowNull is true and this object is no longer valid.
inherited Disposable.AcquireBase


The object will not be actually disposed by calls to IDisposable when there is at least one strong reference left. Code that calls this method is responsible for calling the IDisposable method accordingly.

This method is not intended to be used in performance-critical code. It should only be used to high-level resource management.

Using this method usually requires type casting. Subclasses may additionally implement IDisposableGeneric, in order to provide some syntactic sugar for that.



Calls Cancel on the running background operation, signalling it to stop as soon as possible.

public method Cancel ()


Releases all resources held by this object if there are no more strong references to it, decrements the reference counter by one otherwise.

[Dispose, OwnerThis, ThreadSafe]
public method Dispose ()
inherited Disposable.Dispose


The Dispose method silently returns if the object has already been disposed.

Implementing methods must not throw any exceptions.


Updates the progress values.

public method Update ()
type bool
returns true if the operation is running, false if the operation has finished or an error has occurred.