/*********************************************************************** * * 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 description for RemoteClient. /// 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); } } } }