Removed commented out progression start events entirely in progress tracking framework, no cases found were it would have been of use
git-svn-id: file:///srv/devel/repo-conversion/nusu@46 d2e56fa2-650e-0410-a79f-9358c0239efd
This commit is contained in:
parent
c230f0ce7c
commit
99312edc17
|
@ -66,10 +66,6 @@ namespace Nuclex.Support.Scheduling {
|
||||||
/// <summary>Invokes the delegate passed as an argument</summary>
|
/// <summary>Invokes the delegate passed as an argument</summary>
|
||||||
/// <param name="state">Not used</param>
|
/// <param name="state">Not used</param>
|
||||||
private void callMethod(object state) {
|
private void callMethod(object state) {
|
||||||
#if PROGRESSION_STARTABLE
|
|
||||||
OnAsyncStarted();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
Execute();
|
Execute();
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,7 +20,6 @@ License along with this library
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Nuclex.Support.Tracking {
|
namespace Nuclex.Support.Tracking {
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,6 @@ License along with this library
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Nuclex.Support.Tracking {
|
namespace Nuclex.Support.Tracking {
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,6 @@ License along with this library
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Nuclex.Support.Tracking {
|
namespace Nuclex.Support.Tracking {
|
||||||
|
|
||||||
|
|
|
@ -50,9 +50,6 @@ namespace Nuclex.Support.Tracking {
|
||||||
|
|
||||||
/// <summary>Initializes a new ended dummy progression</summary>
|
/// <summary>Initializes a new ended dummy progression</summary>
|
||||||
public EndedDummyProgression() {
|
public EndedDummyProgression() {
|
||||||
#if PROGRESSION_STARTABLE
|
|
||||||
OnAsyncStarted();
|
|
||||||
#endif
|
|
||||||
OnAsyncEnded();
|
OnAsyncEnded();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,42 +68,14 @@ namespace Nuclex.Support.Tracking {
|
||||||
/// <summary>will be triggered to report when progress has been achieved</summary>
|
/// <summary>will be triggered to report when progress has been achieved</summary>
|
||||||
public event EventHandler<ProgressUpdateEventArgs> AsyncProgressUpdated;
|
public event EventHandler<ProgressUpdateEventArgs> AsyncProgressUpdated;
|
||||||
|
|
||||||
#if PROGRESSION_STARTABLE
|
|
||||||
/// <summary>Will be triggered when the progression has ended</summary>
|
|
||||||
public event EventHandler AsyncStarted;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/// <summary>Will be triggered when the progression has ended</summary>
|
/// <summary>Will be triggered when the progression has ended</summary>
|
||||||
public event EventHandler AsyncEnded;
|
public event EventHandler AsyncEnded;
|
||||||
|
|
||||||
#if PROGRESSION_STARTABLE
|
|
||||||
/// <summary>True when the progression has been started.</summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// This is also true if the progression has been started but is already finished.
|
|
||||||
/// To find out whether the progression is running just now, use the IsRunning
|
|
||||||
/// property instead.
|
|
||||||
/// </remarks>
|
|
||||||
public bool Started {
|
|
||||||
get { return this.started; }
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/// <summary>Whether the progression has ended already</summary>
|
/// <summary>Whether the progression has ended already</summary>
|
||||||
public bool Ended {
|
public bool Ended {
|
||||||
get { return this.ended; }
|
get { return this.ended; }
|
||||||
}
|
}
|
||||||
|
|
||||||
#if PROGRESSION_STARTABLE
|
|
||||||
/// <summary>Whether the progression is currently executing.</summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// This property is true when the progression is executing right at the time of
|
|
||||||
/// the call (eg. when it has been started and has not ended yet).
|
|
||||||
/// </remarks>
|
|
||||||
public bool IsRunning {
|
|
||||||
get { return (this.started && !base.Ended); }
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/// <summary>WaitHandle that can be used to wait for the progression to end</summary>
|
/// <summary>WaitHandle that can be used to wait for the progression to end</summary>
|
||||||
public WaitHandle WaitHandle {
|
public WaitHandle WaitHandle {
|
||||||
get {
|
get {
|
||||||
|
@ -156,41 +125,6 @@ namespace Nuclex.Support.Tracking {
|
||||||
copy(this, eventArguments);
|
copy(this, eventArguments);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if PROGRESSION_STARTABLE
|
|
||||||
/// <summary>Fires the AsyncStarted event</summary>
|
|
||||||
/// <remarks>
|
|
||||||
/// <para>
|
|
||||||
/// This event should be fired once when the implementing class begins its
|
|
||||||
/// work to indicate any observers that the process is now running.
|
|
||||||
/// </para>
|
|
||||||
/// <para>
|
|
||||||
/// Calling this method is mandatory. Care should be taken that it is called
|
|
||||||
/// exactly once and that it is called before OnAsyncEnded().
|
|
||||||
/// </para>
|
|
||||||
/// </remarks>
|
|
||||||
protected virtual void OnAsyncStarted() {
|
|
||||||
|
|
||||||
// Make sure that the progression is not started more than once.
|
|
||||||
lock(this) {
|
|
||||||
|
|
||||||
// No double lock here as it would be an implementation fault if this exception
|
|
||||||
// should be triggered. There's no sense in sacrificing normal runtime speed
|
|
||||||
// for improved performance in a case that should never occur in the first place.
|
|
||||||
if(this.started)
|
|
||||||
throw new InvalidOperationException("The operation has already been started");
|
|
||||||
|
|
||||||
this.started = true;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
// Fire the AsyncStarted event
|
|
||||||
EventHandler copy = AsyncStarted;
|
|
||||||
if(copy != null)
|
|
||||||
copy(this, EventArgs.Empty);
|
|
||||||
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/// <summary>Fires the AsyncEnded event</summary>
|
/// <summary>Fires the AsyncEnded event</summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// <para>
|
/// <para>
|
||||||
|
@ -242,10 +176,6 @@ namespace Nuclex.Support.Tracking {
|
||||||
/// the WaitHandle property.
|
/// the WaitHandle property.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
private volatile ManualResetEvent doneEvent;
|
private volatile ManualResetEvent doneEvent;
|
||||||
#if PROGRESSION_STARTABLE
|
|
||||||
/// <summary>Whether the operation has been started yet</summary>
|
|
||||||
private volatile bool started;
|
|
||||||
#endif
|
|
||||||
/// <summary>Whether the operation has completed yet</summary>
|
/// <summary>Whether the operation has completed yet</summary>
|
||||||
private volatile bool ended;
|
private volatile bool ended;
|
||||||
|
|
||||||
|
|
|
@ -20,7 +20,6 @@ License along with this library
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
|
||||||
|
|
||||||
namespace Nuclex.Support.Tracking {
|
namespace Nuclex.Support.Tracking {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user