package org.jacorb.demo.any;
import java.io.*;
import org.omg.CosNaming.*;
public class Server
{
public static void main( String[] args ) throws Exception
{
org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(args, null);
org.omg.PortableServer.POA poa =
org.omg.PortableServer.POAHelper.narrow(orb.resolve_initial_references("RootPOA"));
poa.the_POAManager().activate();
AnyServerImpl s = new AnyServerImpl();
org.omg.CORBA.Object o = poa.servant_to_reference(s);
if ( args.length == 1 || args.length == 2)
{
// write the object reference to args[0]
PrintWriter ps = new PrintWriter(new FileOutputStream(new File( args[0] )));
ps.println( orb.object_to_string( o ) );
ps.close();
}
else
{
// register server with naming context
NamingContextExt nc = NamingContextExtHelper.narrow(orb.resolve_initial_references("NameService"));
nc.bind( nc.to_name("AnyServer.service"), o);
}
while ( args.length == 2 || ! s.getShutdown ())
{
Thread.sleep(1000);
}
orb.shutdown(true);
}
}