diff options
Diffstat (limited to 'Software/Visual_Studio/StubsUtils/Tango.StubsUtils.ProcedureClient.CLI/Program.cs')
| -rw-r--r-- | Software/Visual_Studio/StubsUtils/Tango.StubsUtils.ProcedureClient.CLI/Program.cs | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.ProcedureClient.CLI/Program.cs b/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.ProcedureClient.CLI/Program.cs new file mode 100644 index 000000000..c5b7a030e --- /dev/null +++ b/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.ProcedureClient.CLI/Program.cs @@ -0,0 +1,71 @@ +using System; +using System.Collections.Generic; +using System.IO; +using System.IO.Pipes; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Tango.StubsUtils.Shared; + +namespace Tango.StubsUtils.ProcedureClient.CLI +{ + class Program + { + private const string PIPE_NAME = "Tango_Stubs_Server"; + + static void Main(string[] args) + { + try + { + Console.ForegroundColor = ConsoleColor.Gray; + + var _client = new NamedPipeClientStream(PIPE_NAME); + _client.Connect(1000); + + var writer = new StreamWriter(_client); + + String s = Environment.CommandLine; + + List<String> arguments = args.ToList(); + arguments.Insert(0, "procedure"); + var request = String.Join("^", arguments); + + writer.WriteLine(request); + writer.Flush(); + + var reader = new StreamReader(_client); + + while (true) + { + String responseString = reader.ReadLine(); + Console.WriteLine(responseString); + + if (responseString.StartsWith("Status: OK")) + { + responseString = reader.ReadToEnd(); + Console.WriteLine(responseString); + Environment.Exit(0); + } + else if (responseString.StartsWith("Status: Error")) + { + responseString = reader.ReadToEnd(); + Console.WriteLine(responseString); + ExitError(responseString); + } + } + } + catch (Exception ex) + { + ExitError($"Status: Error\nError: Error communicating with the stubs service. {ex.Message}"); + } + } + + private static void ExitError(String error) + { + Console.ForegroundColor = ConsoleColor.Red; + Console.WriteLine($"{error}"); + Console.ForegroundColor = ConsoleColor.Gray; + Environment.Exit(-1); + } + } +} |
