aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/StubsUtils/Tango.StubsUtils.ProcedureClient.CLI/Program.cs
diff options
context:
space:
mode:
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.cs71
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);
+ }
+ }
+}