/** ** ** MinCor-C# -Demo ** CORBA Solution for .Net with C# Language mapping ** Version: 1.0 ** ** Copyright: ** Middsol GmbH, Hamburg ** Germany 2004 ** www.Middsol.com ** info@Middsol.de ** */ using System; using System.Drawing; using System.Collections; using System.Windows.Forms; using System.Data; namespace PersistentSrv { public class ServerImpl { private IFrm m_oFrm; private Middsol.CORBA.ORB m_oOrb = null; string[] m_strORBInit = { "-ORBEndpoint iiop://localhost:8545", "-ORBDebug Out=.\\PersistentSrv.log", "-ORBKeyAlias PersitentDemo=RootPOA/MyPOA/-MT-/MyPersistentObjId"}; public ServerImpl( FrmPersistentSrv a_oFrm) { m_oFrm = a_oFrm; m_oOrb = Middsol.CORBA._ORB.init( m_strORBInit, null); Middsol.PortableServer.POA oRootPOA = Middsol.PortableServer.POAHelper.narrow( m_oOrb.resolve_initial_references( "RootPOA" )); oRootPOA.the_POAManager.activate(); Middsol.CORBA.Policy[] oPol = new Middsol.CORBA.Policy[2]; oPol[0] = oRootPOA.create_lifespan_policy( Middsol.PortableServer.LifespanPolicyValue.PERSISTENT); oPol[1] = oRootPOA.create_id_assignment_policy( Middsol.PortableServer.IdAssignmentPolicyValue.USER_ID); Middsol.PortableServer.POA oMyPoa = oRootPOA.create_POA( "MyPOA", null, oPol); System.Text.Encoding oEncoder = System.Text.Encoding.Default; oMyPoa.activate_object_with_id( oEncoder.GetBytes("MyPersistentObjId"), new GreetingsImpl( this)); theFrm.writeLog( "Server runing"); } public void destroy() { if( m_oOrb != null) { m_oOrb.destroy(); m_oOrb = null; } } public IFrm theFrm { get{ return m_oFrm; } } } public class GreetingsImpl : POADemo.GreetingsPOA { private ServerImpl m_oServer; public GreetingsImpl( ServerImpl a_oServer) { m_oServer = a_oServer; } public override string hello( string a_strmyName ) { m_oServer.theFrm.writeLog( "Function 'Hello' Parameter '" + a_strmyName +"'"); return "Greetings to " + a_strmyName; } } }