diff options
author | bala <balanatarajan@users.noreply.github.com> | 1999-04-02 02:52:58 +0000 |
---|---|---|
committer | bala <balanatarajan@users.noreply.github.com> | 1999-04-02 02:52:58 +0000 |
commit | 68340e6603acc8a8871975372e724bb572ce7be0 (patch) | |
tree | 5a760a8ca1ef54d248870300b0226d01aecc56be /TAO/examples/POA/FindPOA | |
parent | 52b11eda396b84f89760d86726aa73343a67fb0b (diff) | |
download | ATCD-68340e6603acc8a8871975372e724bb572ce7be0.tar.gz |
*** empty log message ***
Diffstat (limited to 'TAO/examples/POA/FindPOA')
-rw-r--r-- | TAO/examples/POA/FindPOA/FindPOA.cpp | 183 |
1 files changed, 79 insertions, 104 deletions
diff --git a/TAO/examples/POA/FindPOA/FindPOA.cpp b/TAO/examples/POA/FindPOA/FindPOA.cpp index fdfb9ffc47d..a1215d46459 100644 --- a/TAO/examples/POA/FindPOA/FindPOA.cpp +++ b/TAO/examples/POA/FindPOA/FindPOA.cpp @@ -23,119 +23,94 @@ ACE_RCSID(FindPOA, FindPOA, "$Id$") int main (int argc, char **argv) { - CORBA::Environment env; + // CORBA::Environment env; + ACE_DECLARE_NEW_CORBA_ENV; // Initialize the ORB - - CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, 0, env); - if (env.exception () != 0) - { - env.print_exception ("CORBA::ORB_init"); - return -1; - } - - // Get Object reference to RootPOA. - CORBA::Object_var obj = - orb->resolve_initial_references ("RootPOA"); - - // Narrow Object reference to RootPOA to a POA reference. - PortableServer::POA_var root_poa = - PortableServer::POA::_narrow (obj.in(), env); - - if (env.exception () != 0) - { - env.print_exception ("PortableServer::POA::_narrow"); - return -1; - } - - // Get a TAO_Adapter_Activator reference - TAO_Adapter_Activator activator_impl; - - PortableServer::AdapterActivator_var activator = - activator_impl._this (env); - - if (env.exception () != 0) - { - env.print_exception ("TAO_Adapter_Activator::_this"); - return -1; - } - - // Register the TAO_Adapter_Activator reference to be the RootPOA's - // Adapter Activator. - - root_poa->the_activator (activator.in (), env); - if (env.exception () != 0) - { - env.print_exception ("PortableServer::POA::the_activator"); - return -1; - } - - // Try to find a childPOA of RootPOA named firstPOA - ACE_CString name = "firstPOA"; - PortableServer::POA_var first_poa = - root_poa->find_POA (name.c_str (), - 1, - env); - if (env.exception () != 0) + char str[256]; // Exception message + ACE_TRY { - env.print_exception ("PortableServer::POA::find_POA"); - return -1; - } - - name = "secondPOA"; - PortableServer::POA_var second_poa = - first_poa->find_POA (name.c_str (), + ACE_OS::strcpy (str, "CORBA::ORB_init"); + + CORBA::ORB_var orb = CORBA::ORB_init (argc, argv, 0, ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Get Object reference to RootPOA. + CORBA::Object_var obj = + orb->resolve_initial_references ("RootPOA"); + + ACE_OS::strcpy (str, "PortableServer::POA::_narrow"); + // Narrow Object reference to RootPOA to a POA reference. + PortableServer::POA_var root_poa = + PortableServer::POA::_narrow (obj.in(), ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Get a TAO_Adapter_Activator reference + TAO_Adapter_Activator activator_impl; + + ACE_OS::strcpy (str, "TAO_Adapter_Activator::_this"); + PortableServer::AdapterActivator_var activator = + activator_impl._this (ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Register the TAO_Adapter_Activator reference to be the RootPOA's + // Adapter Activator. + ACE_OS::strcpy (str,"PortableServer::POA::the_activator"); + root_poa->the_activator (activator.in (), ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Try to find a childPOA of RootPOA named firstPOA + ACE_CString name = "firstPOA"; + ACE_OS::strcpy (str,"PortableServer::POA::find_POA"); + PortableServer::POA_var first_poa = + root_poa->find_POA (name.c_str (), + 1, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + name = "secondPOA"; + PortableServer::POA_var second_poa = + first_poa->find_POA (name.c_str (), + 1, + ACE_TRY_ENV); + ACE_TRY_CHECK; + + // Get the names of all the POAs + ACE_OS::strcpy (str, "PortableServer::POA::_narrow"); + + 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; + + ACE_DEBUG ((LM_DEBUG, + "%s\n%s\n%s\n%s\n", + root_poa_name.in (), + first_poa_name.in (), + second_poa_name.in ())); + + // This should destroy all its children + ACE_OS::strcpy (str, "PortableServer::POA::destroy"); + root_poa->destroy (1, 1, - env); - if (env.exception () != 0) - { - env.print_exception ("PortableServer::POA::find_POA"); - return -1; - } + ACE_TRY_ENV); + ACE_TRY_CHECK; - // Get the names of all the POAs - - CORBA::String_var root_poa_name = - root_poa->the_name (env); - if (env.exception () != 0) - { - env.print_exception ("PortableServer::POA::_narrow"); - return -1; } - - CORBA::String_var first_poa_name = - first_poa->the_name (env); - if (env.exception () != 0) - { - env.print_exception ("PortableServer::POA::_narrow"); - return -1; - } - - CORBA::String_var second_poa_name = - second_poa->the_name (env); - if (env.exception () != 0) - { - env.print_exception ("PortableServer::POA::_narrow"); - 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 ())); - - // This should destroy all its children - - root_poa->destroy (1, - 1, - env); - - if (env.exception () != 0) + ACE_CATCHANY { - env.print_exception ("PortableServer::POA::destroy"); + ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, str); return -1; } + ACE_ENDTRY; + ACE_CHECK_RETURN (-1); return 0; } |