using InABox.Clients; using InABox.Core; using InABox.Rpc; using PRSServices; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PRSServer; internal class PipeDatabaseProxyEngine : DatabaseProxyEngine { private string PipeName; RpcPipeProxyServer ProxyServer { get; set; } public override void Configure(Server server) { base.Configure(server); PipeName = DatabaseServerProperties.GetPipeName(server.Key, true); } protected override void RunProxy() { Logger.Send(LogType.Information, "", "Starting RPC Listener: Name=[" + PipeName + "]"); try { ProxyServer = new RpcPipeProxyServer(PipeName, ServerTransport); ProxyServer.OnLog += Logger.Send; ProxyServer.Start(); } catch (Exception eListen) { Logger.Send(LogType.Error, ClientFactory.UserID, eListen.Message); } } public override void Stop() { ProxyServer.Stop(); } }