CASA/c_sharp/NSSCSWrapper/RemoteServer.cs

89 lines
2.3 KiB
C#
Raw Normal View History

/***********************************************************************
*
* Copyright (C) 2005-2006 Novell, Inc.
*
* 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 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, write to the Free
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* 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>
/// Summary description for RemoteServer.
/// </summary>
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);
}
}
}
}