summaryrefslogtreecommitdiff
path: root/Decompiler/Gestor.Application.Helpers/PipeClient.cs
diff options
context:
space:
mode:
authorLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 15:29:41 +0000
committerLucas Faria Mendes <lucas.fariamo08@gmail.com>2026-03-30 15:29:41 +0000
commit225aa1499e37faf9d38257caabbadc68d78b427e (patch)
tree102bb7a40c58595348ae9d3c7076201759fe0720 /Decompiler/Gestor.Application.Helpers/PipeClient.cs
parent1f4e14b2e973ee7de337fd4866d9a5ceff5cb6d1 (diff)
downloadgestor-225aa1499e37faf9d38257caabbadc68d78b427e.tar.gz
gestor-225aa1499e37faf9d38257caabbadc68d78b427e.zip
decompiler.com
Diffstat (limited to 'Decompiler/Gestor.Application.Helpers/PipeClient.cs')
-rw-r--r--Decompiler/Gestor.Application.Helpers/PipeClient.cs41
1 files changed, 41 insertions, 0 deletions
diff --git a/Decompiler/Gestor.Application.Helpers/PipeClient.cs b/Decompiler/Gestor.Application.Helpers/PipeClient.cs
new file mode 100644
index 0000000..a0d49eb
--- /dev/null
+++ b/Decompiler/Gestor.Application.Helpers/PipeClient.cs
@@ -0,0 +1,41 @@
+using System;
+using System.IO;
+using System.IO.Pipes;
+using Newtonsoft.Json;
+
+namespace Gestor.Application.Helpers;
+
+public class PipeClient
+{
+ private string _pipeName;
+
+ private NamedPipeClientStream Pipe { get; set; }
+
+ public PipeClient(string pipeName)
+ {
+ _pipeName = pipeName;
+ }
+
+ public bool Send(dynamic message)
+ {
+ try
+ {
+ Pipe = new NamedPipeClientStream(".", _pipeName, PipeDirection.Out, PipeOptions.Asynchronous);
+ Pipe.Connect(1000);
+ if (!Pipe.IsConnected)
+ {
+ return false;
+ }
+ using StreamWriter streamWriter = new StreamWriter(Pipe);
+ streamWriter.AutoFlush = true;
+ dynamic val = JsonConvert.SerializeObject(message);
+ streamWriter.WriteLine(val);
+ Pipe.WaitForPipeDrain();
+ }
+ catch (TimeoutException)
+ {
+ return false;
+ }
+ return true;
+ }
+}