/*
i-net software provides programming examples for illustration only, without warranty
either expressed or implied, including, but not limited to, the implied warranties
of merchantability and/or fitness for a particular purpose. This programming example
assumes that you are familiar with the programming language being demonstrated and
the tools used to create and debug procedures. i-net software support professionals
can help explain the functionality of a particular procedure, but they will not modify
these examples to provide added functionality or construct procedures to meet your
specific needs.
© i-net software 1998-2013
*/
using Inet.Viewer.Data;
using System;
namespace Inet.Viewer.Data
{
///
/// A progress for searches which encapsulates a search loader instance.
///
public class SearchProgress: Progress
{
private SearchLoader searchLoader;
///
/// Creates a search progress instance.
///
/// the error delegate
/// the search loader instance to run
public SearchProgress(Action errorDelegate, SearchLoader searchLoader)
: base(errorDelegate, ProgressType.Search)
{
this.searchLoader = searchLoader;
}
///
public override string Name
{
get
{
return Inet.Viewer.Resources.strings.ProgressSearch;
}
}
///
protected override void Run()
{
try
{
searchLoader.Run();
Status = ProgressStatus.Completed;
}
catch (Exception e)
{
ShowError(e);
Status = ProgressStatus.Error;
}
}
///
public override void Cancel()
{
Status = ProgressStatus.Canceled;
searchLoader.Cancel();
}
}
}