summaryrefslogtreecommitdiff
path: root/TAO/tests/POA/Etherealization/Etherealization.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tests/POA/Etherealization/Etherealization.cpp')
-rw-r--r--TAO/tests/POA/Etherealization/Etherealization.cpp247
1 files changed, 0 insertions, 247 deletions
diff --git a/TAO/tests/POA/Etherealization/Etherealization.cpp b/TAO/tests/POA/Etherealization/Etherealization.cpp
deleted file mode 100644
index f7f173311e0..00000000000
--- a/TAO/tests/POA/Etherealization/Etherealization.cpp
+++ /dev/null
@@ -1,247 +0,0 @@
-// $Id$
-
-//========================================================================
-//
-// = LIBRARY
-// TAO/tests/POA/Etherealization
-//
-// = FILENAME
-// Etherealization.cpp
-//
-// = DESCRIPTION
-// This program tests for deactivation and etherealization of
-// reference counted and non reference counted servants.
-//
-// = AUTHOR
-// Irfan Pyarali
-//
-//=========================================================================
-
-#include "testS.h"
-
-class test_i : public POA_test
-{
-public:
- void method (CORBA::Environment & /*ACE_TRY_ENV*/)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- }
-
- ~test_i (void)
- {
- ACE_DEBUG ((LM_DEBUG, "~test_i called\n"));
- }
-};
-
-class test_i_with_reference_counting : public virtual PortableServer::RefCountServantBase,
- public virtual POA_test
-{
-public:
- void method (CORBA::Environment &)
- ACE_THROW_SPEC ((CORBA::SystemException))
- {
- }
-
- ~test_i_with_reference_counting (void)
- {
- ACE_DEBUG ((LM_DEBUG, "~test_i_with_reference_counting called\n"));
- }
-};
-
-class Servant_Activator : public PortableServer::ServantActivator
-{
-public:
- PortableServer::Servant incarnate (const PortableServer::ObjectId &oid,
- PortableServer::POA_ptr poa
- TAO_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableServer::ForwardRequest));
-
- void etherealize (const PortableServer::ObjectId &oid,
- PortableServer::POA_ptr adapter,
- PortableServer::Servant servant,
- CORBA::Boolean cleanup_in_progress,
- CORBA::Boolean remaining_activations
- TAO_ENV_ARG_DECL)
- ACE_THROW_SPEC ((CORBA::SystemException));
-};
-
-PortableServer::Servant
-Servant_Activator::incarnate (const PortableServer::ObjectId &id,
- PortableServer::POA_ptr
- TAO_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException,
- PortableServer::ForwardRequest))
-{
- CORBA::String_var object_name =
- PortableServer::ObjectId_to_string (id);
-
- ACE_DEBUG ((LM_DEBUG,
- "\nIncarnate called with id = \"%s\"\n",
- object_name.in ()));
-
- if (ACE_OS::strcmp (object_name.in (),
- "without reference counting") == 0)
- return new test_i;
- else
- return new test_i_with_reference_counting;
-}
-
-
-void
-Servant_Activator::etherealize (const PortableServer::ObjectId &id,
- PortableServer::POA_ptr ,
- PortableServer::Servant servant,
- CORBA::Boolean,
- CORBA::Boolean
- TAO_ENV_ARG_DECL_NOT_USED)
- ACE_THROW_SPEC ((CORBA::SystemException))
-{
- CORBA::String_var object_name =
- PortableServer::ObjectId_to_string (id);
-
- ACE_DEBUG ((LM_DEBUG,
- "Etherealize called with id = \"%s\"\n",
- object_name.in ()));
-
- if (ACE_OS::strcmp (object_name.in (),
- "without reference counting") == 0)
- delete servant;
- else
- servant->_remove_ref ();
-}
-
-int
-main (int argc, char **argv)
-{
- ACE_DECLARE_NEW_CORBA_ENV;
-
- ACE_TRY
- {
- // Initialize the ORB first.
- CORBA::ORB_var orb = CORBA::ORB_init (argc,
- argv,
- 0,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Obtain the RootPOA.
- CORBA::Object_var object =
- orb->resolve_initial_references ("RootPOA",
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Get the POA_var object from Object_var.
- PortableServer::POA_var root_poa =
- PortableServer::POA::_narrow (object.in (),
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Get the POAManager of the RootPOA.
- PortableServer::POAManager_var poa_manager =
- root_poa->the_POAManager (ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- CORBA::PolicyList policies (3);
- policies.length (3);
-
- // ID Assignment Policy
- policies[0] =
- root_poa->create_id_assignment_policy (PortableServer::USER_ID,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Lifespan Policy
- policies[1] =
- root_poa->create_lifespan_policy (PortableServer::PERSISTENT,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Request Processing Policy
- policies[2] =
- root_poa->create_request_processing_policy (PortableServer::USE_SERVANT_MANAGER,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- PortableServer::POA_var child_poa =
- root_poa->create_POA ("child",
- poa_manager.in (),
- policies,
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- poa_manager->activate (ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- // Create servant activator.
- PortableServer::ServantManager_var servant_manager =
- new Servant_Activator;
-
- // Set servant_activator as the servant_manager of child POA.
- child_poa->set_servant_manager (servant_manager.in (),
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- {
- // Create a reference with user created ID in child POA which
- // uses the Servant_Activator.
- PortableServer::ObjectId_var id =
- PortableServer::string_to_ObjectId ("without reference counting");
-
- object =
- child_poa->create_reference_with_id (id.in (),
- "IDL:test:1.0",
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- test_var test =
- test::_narrow (object.in (),
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- test->method (ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- child_poa->deactivate_object (id.in (),
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
-
- {
- // Create a reference with user created ID in child POA which
- // uses the Servant_Activator.
- PortableServer::ObjectId_var id =
- PortableServer::string_to_ObjectId ("with reference counting");
-
- object =
- child_poa->create_reference_with_id (id.in (),
- "IDL:test:1.0",
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- test_var test =
- test::_narrow (object.in (),
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- test->method (ACE_TRY_ENV);
- ACE_TRY_CHECK;
-
- child_poa->deactivate_object (id.in (),
- ACE_TRY_ENV);
- ACE_TRY_CHECK;
- }
-
- ACE_DEBUG ((LM_DEBUG,
- "\nEnd of main()\n\n"));
- }
- ACE_CATCHANY
- {
- ACE_PRINT_EXCEPTION (ACE_ANY_EXCEPTION, "Exception caught");
- return -1;
- }
- ACE_ENDTRY;
- ACE_CHECK_RETURN (-1);
-
- return 0;
-}