CASA/c_sharp/NSSCSWrapper/RemoteClient.cs
2006-02-01 17:48:29 +00:00

112 lines
2.6 KiB
C#

/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; version 2.1
* of the License.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, Novell, Inc.
*
* To contact Novell about this file by physical or electronic mail,
* you may find current contact information at www.novell.com.
*
***********************************************************************/
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);
}
}
}
}