diff options
Diffstat (limited to 'TAO/examples/POA/Loader/server.cpp')
-rw-r--r-- | TAO/examples/POA/Loader/server.cpp | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/TAO/examples/POA/Loader/server.cpp b/TAO/examples/POA/Loader/server.cpp new file mode 100644 index 00000000000..e705b1ddf93 --- /dev/null +++ b/TAO/examples/POA/Loader/server.cpp @@ -0,0 +1,68 @@ +// $Id$ + +//============================================================================ +// +// = FILENAME +// server.cpp +// +// = DESCRIPTION +// Server application to test the Servant Activator and Servant Locator. +// +// = AUTHOR +// Kirthika Parameswaran <kirthika@cs.wustl.edu> +// +//============================================================================= + +#include "Server_Manager.h" + +ACE_RCSID(Loader, server, "$Id$") + +int +main (int argc, char **argv) +{ + Server_i server; + + if (server.init (argc, argv) != 0) + ACE_ERROR_RETURN ((LM_ERROR, + "Failure during Initialisation: init ()\n"), + -1); + + // This POA is used to test the Servant Activator interface and + // hence has an RETAIN policy. + PortableServer::POA_var first_poa = + server.create_poa ("firstPOA", 1); + + if (first_poa.in () == 0) + ACE_ERROR_RETURN ((LM_ERROR, + "Failure during first POA creation: create_poa ()\n"), + -1); + + // This poa is used to test the Servant Activator interface and + // hence has an NONRETAIN policy. + PortableServer::POA_var second_poa = + server.create_poa ("secondPOA", 0); + + if (second_poa.in () == 0) + ACE_ERROR_RETURN ((LM_ERROR, + "Failure during second POA creation: create_poa ()\n"), + -1); + + // The Servant Activator interface is created and initialised. + if (server.create_activator (first_poa) != 0) + ACE_ERROR_RETURN ((LM_ERROR, + "Failure during first Servant Activator creation: create_activator()\n"), + -1); + + // The Servant Locator interface is created and initialised. + if (server.create_locator (second_poa) !=0) + ACE_ERROR_RETURN ((LM_ERROR, + "Failure during first Servant Locator creation: create_activator()\n"), + -1); + + // The server begins processing requests. + if (server.run () != 0) + ACE_ERROR_RETURN ((LM_ERROR, + "Failure during request processing: run ()\n"), + -1); + return 0; +} |