2
using System.Diagnostics;
4
using Rackspace.Cloud.Server.Agent.Interfaces;
6
namespace Rackspace.Cloud.Server.Agent
8
public class ProcessWrapper : IProcessWrapper
10
private Process process;
12
public ProcessWrapper() : this(true, false, true, true) { }
14
public ProcessWrapper(bool createNoWindow, bool useShellExecute, bool redirectStandardOutput, bool redirectStandardError)
16
process = new Process();
17
process.StartInfo.CreateNoWindow = createNoWindow;
18
process.StartInfo.UseShellExecute = useShellExecute;
19
process.StartInfo.RedirectStandardOutput = redirectStandardOutput;
20
process.StartInfo.RedirectStandardError = redirectStandardError;
23
public string FileName
25
get { return process.StartInfo.FileName; }
26
set { process.StartInfo.FileName = value; }
28
public string Arguments
30
get { return process.StartInfo.Arguments; }
31
set { process.StartInfo.Arguments = value; }
33
public bool CreateNoWindow
35
get { return process.StartInfo.CreateNoWindow; }
38
public bool UseShellExecute
40
get { return process.StartInfo.UseShellExecute; }
43
public bool RedirectStandardOutput
45
get { return process.StartInfo.RedirectStandardOutput; }
48
public bool RedirectStandardError
50
get { return process.StartInfo.RedirectStandardError; }
55
get { return process.ExitCode; }
60
return process.Start();
63
public void WaitForExit()
65
process.WaitForExit();
68
public StreamReader StandardError
70
get { return process.StandardError; }
72
public StreamReader StandardOutput
74
get { return process.StandardOutput; }
b'\\ No newline at end of file'