/*********************************************************************** * * 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.Runtime.Remoting; using System.Runtime.Remoting.Channels; using System.Runtime.Remoting.Channels.Tcp; namespace Novell.CASA { /// /// Summary description for RemoteServer. /// public class RemoteServer { TcpChannel channel; public RemoteServer() { // // TODO: Add constructor logic here // } public void startServer(int port) { int iPort = port; if (iPort == 0) iPort = 8080; channel = new TcpChannel(iPort); try { ChannelServices.RegisterChannel(channel); } catch (Exception e) { throw e; } // Register as an available service with the name HelloWorld RemotingConfiguration.RegisterWellKnownServiceType( typeof(SecretStore), "enumerateSecretIDs", WellKnownObjectMode.SingleCall ); RemotingConfiguration.RegisterWellKnownServiceType( typeof(SecretStore), "getSecret(string id)", WellKnownObjectMode.SingleCall ); System.Console.WriteLine("Server Started on "+ iPort); // System.Console.ReadLine(); //return 0; } public void stopServer() { if (channel != null) { System.Console.WriteLine("Stopping server"); ChannelServices.UnregisterChannel(channel); } } } }