diff options
Diffstat (limited to 'TAO/tests/POA/On_Demand_Activation/Servant_Locator.cpp')
-rw-r--r-- | TAO/tests/POA/On_Demand_Activation/Servant_Locator.cpp | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/TAO/tests/POA/On_Demand_Activation/Servant_Locator.cpp b/TAO/tests/POA/On_Demand_Activation/Servant_Locator.cpp deleted file mode 100644 index 64779362b33..00000000000 --- a/TAO/tests/POA/On_Demand_Activation/Servant_Locator.cpp +++ /dev/null @@ -1,76 +0,0 @@ -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO/tests/POA/On_Demand_Activation/Servant_Locator -// -// = FILENAME -// Servant_Locator.cpp -// -// = DESCRIPTION -// Implementation of MyFooServantLocator class , used with a POA -// having a NON_RETAIN policy. -// -// = AUTHOR -// Irfan Pyarali -// -// ============================================================================ - -#include "Servant_Locator.h" -#include "MyFooServant.h" - -MyFooServantLocator::MyFooServantLocator (CORBA::ORB_ptr orb) - : counter_ (0), - orb_ (CORBA::ORB::_duplicate (orb)) -{ -} - - -PortableServer::Servant -MyFooServantLocator::preinvoke (const PortableServer::ObjectId &oid, - PortableServer::POA_ptr poa, - const char * /* operation */, - PortableServer::ServantLocator::Cookie &cookie, - CORBA::Environment &env) -{ - // Convert ObjectID to String. - - CORBA::String_var s = PortableServer::ObjectId_to_string (oid); - // If ObjectID string has a Foo Substring create and return a - // MyFooServant. - - if (ACE_OS::strstr (s.in (), "Foo") != 0) - { - PortableServer::Servant servant = - new MyFooServant (this->orb_.in (), poa, ++this->counter_); - - // Return the servant as the cookie , used as a check when - // postinvoke is called on this MyFooServantLocator. - - cookie = servant; - return servant; - } - else - { - CORBA::Exception *exception = - new CORBA::OBJECT_NOT_EXIST (CORBA::COMPLETED_NO); - env.exception (exception); - return 0; - } -} - -void -MyFooServantLocator::postinvoke (const PortableServer::ObjectId & /* oid */, - PortableServer::POA_ptr /* poa */, - const char * /* operation */, - PortableServer::ServantLocator::Cookie cookie, - PortableServer::Servant servant, - CORBA::Environment &/* env */) -{ - // Check the passed servant with the cookie. - - PortableServer::Servant my_servant = (PortableServer::Servant) cookie; - ACE_ASSERT (servant == my_servant); - delete servant; -} |