using System; using AppModule.InterProcessComm; using AppModule.NamedPipes; namespace Novell.CASA.MiCasa.Communication { /// /// Summary description for WinIPCClientChannel. /// public class WinIPCClientChannel : ClientChannel { private static IInterProcessConnection clientConnection = null; private static string XTIER_RPC_PIPE = "SS_RPC_PIPE"; public WinIPCClientChannel() { } public void Open() { if (clientConnection == null) { clientConnection = new ClientPipeConnection(XTIER_RPC_PIPE, "."); clientConnection.Connect(); } } public int Read(byte[] buf) { buf = Read(); if (buf != null) return 0; else return -1; } public byte[] Read() { byte[] returnBuffer; try { returnBuffer = clientConnection.ReadBytes(); return returnBuffer; } catch (Exception e) { Console.WriteLine(e.ToString()); return null; } } public int Write(byte[] buf) { try { clientConnection.WriteBytes(buf); return 0; } catch (Exception e) { Console.WriteLine(e.ToString()); return -1; } } public void Close() { //clientConnection.Close(); //clientConnection.Dispose(); } } }