C# Class withSIX.Core.Presentation.Bridge.Services.ProcessManager

Inheritance: IProcessManager, IDisposable, IPresentationService
显示文件 Open project: SIXNetworks/withSIX.Desktop

Public Methods

Method Description
Dispose ( ) : void
Launch ( BasicLaunchInfo info ) : ProcessExitResult
LaunchAndGrab ( BasicLaunchInfo info ) : ProcessExitResultWithOutput
LaunchAndGrabAsync ( BasicLaunchInfo info ) : Task
LaunchAndGrabTool ( ProcessStartInfo startInfo, string tool = null ) : ProcessExitResultWithOutput
LaunchAndGrabToolCmd ( ProcessStartInfo info, string tool ) : ProcessExitResultWithOutput
LaunchAndProcess ( LaunchAndProcessInfo info ) : ProcessExitResult
LaunchAndProcessAsync ( LaunchAndProcessInfo info ) : Task
LaunchAsync ( BasicLaunchInfo info ) : Task
LaunchElevated ( BasicLaunchInfo info ) : ProcessExitResult
LaunchElevatedAsync ( BasicLaunchInfo info ) : Task
ProcessManager ( ) : System
Start ( ProcessStartInfo startInfo ) : Process
StartAndForget ( ProcessStartInfo startInfo ) : void
StartAndForgetElevated ( ProcessStartInfo startInfo ) : void
StartElevated ( ProcessStartInfo startInfo ) : Process

Private Methods

Method Description
BuildProcessException ( ProcessStartInfo startInfo, string tool, ProcessExitResultWithOutput ret ) : ProcessException
LaunchAndWaitForExit ( Process process, System.TimeSpan monitorOutput = null, System.TimeSpan monitorResponding = null ) : void
LaunchAndWaitForExitAsync ( ReactiveProcess process, System.TimeSpan monitorOutput, System.TimeSpan monitorResponding ) : Task
LaunchAndWaitForExitAsync ( ReactiveProcess process, System.TimeSpan monitorOutput, System.TimeSpan monitorResponding, CancellationToken token ) : Task
MonitorProcessOutput ( Process process, System.TimeSpan timeout ) : Timer
MonitorProcessOutput ( ReactiveProcess process, System.TimeSpan timeout ) : Timer
MonitorProcessResponding ( Process process, System.TimeSpan timeout ) : Timer
OnMonitorElapsed ( Process process, ProcessState state, System.TimeSpan timeout ) : bool
OnOutputMonitorElapsed ( Process process, ProcessState state, System.TimeSpan timeout ) : bool
ProcessBLI ( BasicLaunchInfo info ) : void
SetupMonitoringDisposable ( Process process, System.TimeSpan monitorOutput, System.TimeSpan monitorResponding ) : System.Linq.CompositeDisposable
SetupMonitoringDisposable ( ReactiveProcess process, System.TimeSpan monitorOutput, System.TimeSpan monitorResponding ) : System.Linq.CompositeDisposable
SetupStandardError ( LaunchAndProcessInfo info, ReactiveProcess process ) : IDisposable
SetupStandardOutput ( LaunchAndProcessInfo info, ReactiveProcess process ) : IDisposable
StartProcess ( Process process, System.TimeSpan monitorOutput = null, System.TimeSpan monitorResponding = null ) : System.Linq.CompositeDisposable
TryCheckHasExited ( Process process ) : bool
TryCheckResponding ( Process process ) : bool
TryGetLength ( Stream stdOut ) : long
TryKillDueNotRespondingTimeout ( Process process, System.TimeSpan timeout ) : void
TryKillDueToNoOutputReceivedTimeout ( Process process, System.TimeSpan timeout ) : void

Method Details

Dispose() public method

public Dispose ( ) : void
return void

Launch() public method

public Launch ( BasicLaunchInfo info ) : ProcessExitResult
info withSIX.Core.Services.Infrastructure.BasicLaunchInfo
return withSIX.Core.Services.Infrastructure.ProcessExitResult

LaunchAndGrab() public method

public LaunchAndGrab ( BasicLaunchInfo info ) : ProcessExitResultWithOutput
info withSIX.Core.Services.Infrastructure.BasicLaunchInfo
return withSIX.Core.Services.Infrastructure.ProcessExitResultWithOutput

LaunchAndGrabAsync() public method

public LaunchAndGrabAsync ( BasicLaunchInfo info ) : Task
info withSIX.Core.Services.Infrastructure.BasicLaunchInfo
return Task

LaunchAndGrabTool() public method

public LaunchAndGrabTool ( ProcessStartInfo startInfo, string tool = null ) : ProcessExitResultWithOutput
startInfo System.Diagnostics.ProcessStartInfo
tool string
return withSIX.Core.Services.Infrastructure.ProcessExitResultWithOutput

LaunchAndGrabToolCmd() public method

public LaunchAndGrabToolCmd ( ProcessStartInfo info, string tool ) : ProcessExitResultWithOutput
info System.Diagnostics.ProcessStartInfo
tool string
return withSIX.Core.Services.Infrastructure.ProcessExitResultWithOutput

LaunchAndProcess() public method

public LaunchAndProcess ( LaunchAndProcessInfo info ) : ProcessExitResult
info withSIX.Core.Services.Infrastructure.LaunchAndProcessInfo
return withSIX.Core.Services.Infrastructure.ProcessExitResult

LaunchAndProcessAsync() public method

public LaunchAndProcessAsync ( LaunchAndProcessInfo info ) : Task
info withSIX.Core.Services.Infrastructure.LaunchAndProcessInfo
return Task

LaunchAsync() public method

public LaunchAsync ( BasicLaunchInfo info ) : Task
info withSIX.Core.Services.Infrastructure.BasicLaunchInfo
return Task

LaunchElevated() public method

public LaunchElevated ( BasicLaunchInfo info ) : ProcessExitResult
info withSIX.Core.Services.Infrastructure.BasicLaunchInfo
return withSIX.Core.Services.Infrastructure.ProcessExitResult

LaunchElevatedAsync() public method

public LaunchElevatedAsync ( BasicLaunchInfo info ) : Task
info withSIX.Core.Services.Infrastructure.BasicLaunchInfo
return Task

ProcessManager() public method

public ProcessManager ( ) : System
return System

Start() public method

public Start ( ProcessStartInfo startInfo ) : Process
startInfo System.Diagnostics.ProcessStartInfo
return System.Diagnostics.Process

StartAndForget() public method

public StartAndForget ( ProcessStartInfo startInfo ) : void
startInfo System.Diagnostics.ProcessStartInfo
return void

StartAndForgetElevated() public method

public StartAndForgetElevated ( ProcessStartInfo startInfo ) : void
startInfo System.Diagnostics.ProcessStartInfo
return void

StartElevated() public method

public StartElevated ( ProcessStartInfo startInfo ) : Process
startInfo System.Diagnostics.ProcessStartInfo
return System.Diagnostics.Process