70 lines
2.7 KiB
C#
70 lines
2.7 KiB
C#
using System;
|
|
using Xylem.Common.CommonCore.Consts;
|
|
|
|
namespace Xylem.Common.Utils.ProcessExec.EventArguments
|
|
{
|
|
/// <summary>
|
|
/// Event message needed to inform the caller about the ongoing process
|
|
/// </summary>
|
|
[Serializable]
|
|
public class ProcessExecEventArgs : EventArgs
|
|
{
|
|
/// <summary>
|
|
/// Event message for overall process
|
|
/// </summary>
|
|
public String OverallProcessMessage { get; }
|
|
|
|
/// <summary>
|
|
/// Event message for single process
|
|
/// </summary>
|
|
public String ActualProcessMessage { get; }
|
|
|
|
/// <summary>
|
|
/// Overall process percentage 0..100
|
|
/// </summary>
|
|
public Double? OverallProcessPercent { get; }
|
|
|
|
/// <summary>
|
|
/// Single process percentage 0..100
|
|
/// </summary>
|
|
public Double? ActualProcessPercent { get; }
|
|
|
|
/// <summary>
|
|
/// Status of message
|
|
/// </summary>
|
|
public StatusReturn StatusReturn { get; }
|
|
|
|
/// <summary>
|
|
/// Object containing specific information
|
|
/// </summary>
|
|
public Object SpecificInfoObj { get; }
|
|
|
|
/// <summary>
|
|
/// Ctor
|
|
/// </summary>
|
|
/// <param name="overallProcessMessage">Message for overall process</param>
|
|
/// <param name="overallProcessPercent">Internal limited to 0..100 %</param>
|
|
/// <param name="actualProcessMessage">Message for actual subprocess</param>
|
|
/// <param name="actualProcessPercent">Internal limited to 0..100 %</param>
|
|
/// <param name="statusReturn">Status information</param>
|
|
/// <param name="specificInfoObj">Specific information as object</param>
|
|
/// <remarks date="2026-Jan-08" author="Thomas Wiedebusch">
|
|
/// - Object as specific information.
|
|
/// </remarks>
|
|
public ProcessExecEventArgs(String overallProcessMessage,
|
|
Double? overallProcessPercent = null, String actualProcessMessage = null,
|
|
Double? actualProcessPercent = null, StatusReturn statusReturn = StatusReturn.Unknown,
|
|
Object specificInfoObj = null)
|
|
{
|
|
OverallProcessMessage = overallProcessMessage;
|
|
ActualProcessMessage = actualProcessMessage;
|
|
OverallProcessPercent = overallProcessPercent > 100.0 ? 100.0 : overallProcessPercent;
|
|
OverallProcessPercent = OverallProcessPercent < 0 ? 0 : OverallProcessPercent;
|
|
ActualProcessPercent = actualProcessPercent > 100.0 ? 100.0 : actualProcessPercent;
|
|
ActualProcessPercent = ActualProcessPercent < 0 ? 0 : ActualProcessPercent;
|
|
StatusReturn = statusReturn;
|
|
SpecificInfoObj = specificInfoObj;
|
|
}
|
|
}
|
|
}
|