Moving micasa 1.5 trunk to Novell forge.
This commit is contained in:
80
c_micasad/lib/communication/WinIPCClientChannel.cs
Normal file
80
c_micasad/lib/communication/WinIPCClientChannel.cs
Normal file
@@ -0,0 +1,80 @@
|
||||
using System;
|
||||
|
||||
using AppModule.InterProcessComm;
|
||||
using AppModule.NamedPipes;
|
||||
|
||||
namespace Novell.CASA.MiCasa.Communication
|
||||
{
|
||||
/// <summary>
|
||||
/// Summary description for WinIPCClientChannel.
|
||||
/// </summary>
|
||||
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();
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user