summaryrefslogtreecommitdiff
path: root/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp')
-rw-r--r--TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp132
1 files changed, 132 insertions, 0 deletions
diff --git a/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp
new file mode 100644
index 00000000000..4f4724ab6c6
--- /dev/null
+++ b/TAO/orbsvcs/tests/LoadBalancing/GenericFactory/Manage_Object_Group/server.cpp
@@ -0,0 +1,132 @@
+#include "LB_server.h"
+#include "Basic.h"
+#include "Simple.h"
+
+ACE_RCSID (Manage_object_group,
+ server,
+ "$Id$")
+
+int
+main (int argc, char *argv[])
+{
+ ACE_TRY_NEW_ENV
+ {
+ const char *location1 = "MyLocation 1";
+
+ LB_server lb_server (argc, argv);
+
+ if (lb_server.start_orb_and_poa () == -1)
+ return 1;
+
+ if (lb_server.create_basic_object_group () == -1)
+ return 1;
+
+ if (lb_server.create_simple_object_group () == -1)
+ return 1;
+
+ Basic *basic_servant1;
+ Basic *basic_servant2;
+
+ Simple *simple_servant1;
+ Simple *simple_servant2;
+
+
+ ACE_NEW_RETURN (basic_servant1,
+ Basic (lb_server.get_basic_object_group (),
+ lb_server.load_manager (),
+ lb_server.orb (),
+ 1,
+ location1),
+ 1);
+ PortableServer::ServantBase_var basic_owner_transfer1(basic_servant1);
+
+ ACE_NEW_RETURN (simple_servant1,
+ Simple (lb_server.get_simple_object_group (),
+ lb_server.load_manager (),
+ lb_server.orb (),
+ 1,
+ location1),
+ 1);
+ PortableServer::ServantBase_var simple_owner_transfer1(simple_servant1);
+
+ if (lb_server.register_basic_servant (basic_servant1, location1) == -1)
+ {
+ (void) lb_server.destroy();
+ return 1;
+ }
+
+ if (lb_server.register_simple_servant (simple_servant1, location1) == -1)
+ {
+ (void) lb_server.destroy();
+ return 1;
+ }
+
+ if (lb_server.remove_basic_member() == -1)
+ {
+ return 1;
+ }
+
+ if (lb_server.remove_simple_member() == -1)
+ {
+ return 1;
+ }
+
+ ACE_NEW_RETURN (basic_servant2,
+ Basic (lb_server.get_basic_object_group (),
+ lb_server.load_manager (),
+ lb_server.orb (),
+ 2,
+ location1),
+ 1);
+ PortableServer::ServantBase_var basic_owner_transfer2(basic_servant2);
+
+ ACE_NEW_RETURN (simple_servant2,
+ Simple (lb_server.get_simple_object_group (),
+ lb_server.load_manager (),
+ lb_server.orb (),
+ 2,
+ location1),
+ 1);
+ PortableServer::ServantBase_var simple_owner_transfer2(simple_servant2);
+
+ if (lb_server.register_basic_servant (basic_servant2, location1) == -1)
+ {
+ (void) lb_server.destroy();
+ return 1;
+ }
+
+ if (lb_server.register_simple_servant (simple_servant2, location1) == -1)
+ {
+ (void) lb_server.destroy();
+ return 1;
+ }
+
+ if (lb_server.remove_basic_member() == -1)
+ {
+ return 1;
+ }
+
+ if (lb_server.remove_simple_member() == -1)
+ {
+ return 1;
+ }
+
+ lb_server.orb ()->shutdown (0 ACE_ENV_ARG_PARAMETER);
+ ACE_TRY_CHECK;
+
+ ACE_DEBUG ((LM_DEBUG, "(%P|%t) server - event loop finished\n"));
+
+ if (lb_server.destroy () == -1)
+ return 1;
+
+ }
+ ACE_CATCHANY
+ {
+ ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION,
+ "lb_server exception");
+ return 1;
+ }
+ ACE_ENDTRY;
+
+ return 0;
+}