summaryrefslogtreecommitdiff
path: root/TAO/examples/POA/NewPOA/NewPOA.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/examples/POA/NewPOA/NewPOA.cpp')
-rw-r--r--TAO/examples/POA/NewPOA/NewPOA.cpp204
1 files changed, 98 insertions, 106 deletions
diff --git a/TAO/examples/POA/NewPOA/NewPOA.cpp b/TAO/examples/POA/NewPOA/NewPOA.cpp
index 9e383d185bb..8a52461c054 100644
--- a/TAO/examples/POA/NewPOA/NewPOA.cpp
+++ b/TAO/examples/POA/NewPOA/NewPOA.cpp
@@ -29,117 +29,109 @@ int
main (int argc, char **argv)
{
// CORBA::Environment env;
+
ACE_DECLARE_NEW_CORBA_ENV;
- ACE_TRY
- {
- // The first step Initialize the ORB
- CORBA::ORB_var orb = CORBA::ORB_init (argc,
- argv,
- 0,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
+ // The first step Initialize the ORB
+ CORBA::ORB_var orb = CORBA::ORB_init (argc,
+ argv,
+ 0,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
- // Obtain the object reference to the RootPOA.
- CORBA::Object_var obj =
- orb->resolve_initial_references ("RootPOA");
-
- // _narrow() the Object to get the POA object, i.e., the root_poa.
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (obj.in (), ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Policies for the new POAs
- CORBA::PolicyList policies (2);
- policies.length (2);
-
- // Threading policy
- policies[0] =
- root_poa->create_thread_policy (PortableServer::ORB_CTRL_MODEL, ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Lifespan policy
- policies[1] =
- root_poa->create_lifespan_policy (PortableServer::TRANSIENT, ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Creation of the firstPOA
- ACE_CString name = "firstPOA";
- PortableServer::POA_var first_poa =
- root_poa->create_POA (name.c_str (),
- PortableServer::POAManager::_nil (),
- policies,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Creation of the new POA, i.e. firstPOA/secondPOA
- name = "secondPOA";
- PortableServer::POA_var second_poa =
- first_poa->create_POA (name.c_str (),
- PortableServer::POAManager::_nil (),
- policies,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Creating thirdPOA.
- name = "thirdPOA";
-
- PortableServer::POA_var third_poa =
- root_poa->create_POA (name.c_str (),
- PortableServer::POAManager::_nil (),
- policies,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Creation of the new POAs over, so destroy the Policy_ptr's.
- for (CORBA::ULong i = 0;
- i < policies.length () && ACE_TRY_ENV.exception () == 0;
- ++i)
- {
- CORBA::Policy_ptr policy = policies[i];
- policy->destroy (ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
-
- // Get the names of all the POAs and print them out.
-
- CORBA::String_var root_poa_name =
- root_poa->the_name (ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- CORBA::String_var first_poa_name =
- first_poa->the_name (ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- CORBA::String_var second_poa_name =
- second_poa->the_name (ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
-
- CORBA::String_var third_poa_name =
- third_poa->the_name (ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- ACE_DEBUG ((LM_DEBUG,
- "%s\n%s\n%s\n%s\n",
- root_poa_name.in (),
- first_poa_name.in (),
- second_poa_name.in (),
- third_poa_name.in ()));
-
- // This should destroy all its children
- root_poa->destroy (1,
- 1,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
- ACE_CATCHANY
+ // Obtain the object reference to the RootPOA.
+ CORBA::Object_var obj =
+ orb->resolve_initial_references ("RootPOA");
+
+ // _narrow() the Object to get the POA object, i.e., the root_poa.
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (obj.in (), ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Policies for the new POAs
+ CORBA::PolicyList policies (2);
+ policies.length (2);
+
+ // Threading policy
+ policies[0] =
+ root_poa->create_thread_policy (PortableServer::ORB_CTRL_MODEL, ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Lifespan policy
+ policies[1] =
+ root_poa->create_lifespan_policy (PortableServer::TRANSIENT, ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Creation of the firstPOA
+ ACE_CString name = "firstPOA";
+ PortableServer::POA_var first_poa =
+ root_poa->create_POA (name.c_str (),
+ PortableServer::POAManager::_nil (),
+ policies,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Creation of the new POA, i.e. firstPOA/secondPOA
+ name = "secondPOA";
+ PortableServer::POA_var second_poa =
+ first_poa->create_POA (name.c_str (),
+ PortableServer::POAManager::_nil (),
+ policies,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Creating thirdPOA.
+ name = "thirdPOA";
+
+ PortableServer::POA_var third_poa =
+ root_poa->create_POA (name.c_str (),
+ PortableServer::POAManager::_nil (),
+ policies,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ // Creation of the new POAs over, so destroy the Policy_ptr's.
+ for (CORBA::ULong i = 0;
+ i < policies.length () && ACE_TRY_ENV.exception () == 0;
+ ++i)
{
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught in main ");
- return -1;
+ CORBA::Policy_ptr policy = policies[i];
+ policy->destroy (ACE_TRY_ENV);
}
- ACE_ENDTRY;
+
ACE_CHECK_RETURN (-1);
-
+
+ // Get the names of all the POAs and print them out.
+
+ CORBA::String_var root_poa_name =
+ root_poa->the_name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ CORBA::String_var first_poa_name =
+ first_poa->the_name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ CORBA::String_var second_poa_name =
+ second_poa->the_name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+
+ CORBA::String_var third_poa_name =
+ third_poa->the_name (ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
+ ACE_DEBUG ((LM_DEBUG,
+ "%s\n%s\n%s\n%s\n",
+ root_poa_name.in (),
+ first_poa_name.in (),
+ second_poa_name.in (),
+ third_poa_name.in ()));
+
+ // This should destroy all its children
+ root_poa->destroy (1,
+ 1,
+ ACE_TRY_ENV);
+ ACE_CHECK_RETURN (-1);
+
return 0;
}