summaryrefslogtreecommitdiff
path: root/TAO/examples/POA/Loader/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/POA/Loader/server.cpp')
-rw-r--r--TAO/examples/POA/Loader/server.cpp68
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;
+}