pascalabcnet/VisualPascalABCNETLinux/MonoDebugging/Debugger/ITargetProcess.cs
2023-04-18 17:53:21 +02:00

75 lines
1.1 KiB
C#

using System;
using System.Diagnostics;
using System.IO;
namespace Mono.Debugger.Soft
{
public interface ITargetProcess
{
event System.EventHandler Exited;
StreamReader StandardOutput { get; }
StreamReader StandardError { get; }
bool HasExited { get; }
void Kill ();
int Id { get; }
string ProcessName { get; }
}
internal class ProcessWrapper: ITargetProcess
{
Process process;
public ProcessWrapper (Process process)
{
this.process = process;
}
public Process Process {
get { return process; }
}
public event System.EventHandler Exited {
add { process.Exited += value; }
remove { process.Exited -= value; }
}
public StreamReader StandardOutput {
get {
return process.StandardOutput;
}
}
public StreamReader StandardError {
get {
return process.StandardError;
}
}
public bool HasExited {
get {
return process.HasExited;
}
}
public void Kill ()
{
process.Kill ();
}
public int Id {
get {
return process.Id;
}
}
public string ProcessName {
get {
return process.ProcessName;
}
}
}
}