1
// server.cpp,v 1.3 2003/11/10 17:58:33 jwillemsen Exp
4
#include "ace/OS_NS_stdio.h"
6
ACE_RCSID (TC_Alignment,
8
"server.cpp,v 1.3 2003/11/10 17:58:33 jwillemsen Exp")
10
const char *ior_output_file = "test.ior";
13
main (int argc, char *argv[])
18
CORBA::ORB_init (argc,
21
ACE_ENV_ARG_PARAMETER);
24
CORBA::Object_var poa_object =
25
orb->resolve_initial_references ("RootPOA"
26
ACE_ENV_ARG_PARAMETER);
29
if (CORBA::is_nil (poa_object.in ()))
31
ACE_ERROR_RETURN ((LM_ERROR,
32
" (%P|%t) Unable to initialize the POA.\n"),
36
PortableServer::POA_var root_poa =
37
PortableServer::POA::_narrow (poa_object.in ()
38
ACE_ENV_ARG_PARAMETER);
41
PortableServer::POAManager_var poa_manager =
42
root_poa->the_POAManager (ACE_ENV_SINGLE_ARG_PARAMETER);
45
test_i servant (orb.in ());
48
servant._this (ACE_ENV_SINGLE_ARG_PARAMETER);
51
CORBA::String_var ior =
52
orb->object_to_string (server.in ()
53
ACE_ENV_ARG_PARAMETER);
57
"Activated as <%s>\n",
60
// If the ior_output_file exists, output the ior to it
61
if (ior_output_file != 0)
63
FILE *output_file= ACE_OS::fopen (ior_output_file, "w");
67
ACE_ERROR_RETURN ((LM_ERROR,
68
"Can't open output file for writing IOR: %s",
73
ACE_OS::fprintf (output_file,
76
ACE_OS::fclose (output_file);
79
poa_manager->activate (ACE_ENV_SINGLE_ARG_PARAMETER);
82
orb->run (ACE_ENV_SINGLE_ARG_PARAMETER);
85
root_poa->destroy (1, 1 ACE_ENV_ARG_PARAMETER);
90
ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
91
"Server: exception caught - ");