CASA/c_sharp/NSSCSWrapper/RemoteClient.cs
2005-10-11 19:51:00 +00:00

90 lines
1.6 KiB
C#

using System;
using System.Collections.Specialized;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
namespace Novell.CASA
{
/// <summary>
/// Summary description for RemoteClient.
/// </summary>
public class RemoteClient
{
private SecretStore obj;
TcpChannel chan = null;
public RemoteClient()
{
}
public void openSocket(string serverAddr, string sPort)
{
// Create a channel for communicating w/ the remote object
// Notice no port is specified on the client
chan = new TcpChannel();
try
{
ChannelServices.RegisterChannel(chan);
}
catch (Exception)
{
}
// Create an instance of the remote object
obj = (SecretStore) Activator.GetObject(
typeof(Novell.CASA.SecretStore),
"tcp://"+serverAddr + ":" + sPort + "/enumerateSecretIDs" );
}
public void closeSocket()
{
if (chan != null)
{
ChannelServices.UnregisterChannel(chan);
//chan = null;
}
}
public StringCollection getRemoteSecretIDS()
{
// Use the object
try
{
if( obj.Equals(null) )
{
System.Console.WriteLine("Error: unable to locate server");
return null;
}
else
{
//Console.WriteLine(obj.enumerateSecretIDs());
return obj.enumerateSecretIDs();
}
}
catch (Exception e)
{
throw e;
}
}
public Secret getRemoteSecret(string id)
{
if (obj.Equals(null))
{
return null;
}
else
{
return obj.getSecret(id);
}
}
}
}