diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-03-09 07:08:18 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 1999-03-09 07:08:18 +0000 |
commit | 957681064207962c8e33263c7ebebbb4a83f7af0 (patch) | |
tree | d28e87f0be723cf1eed7e0f52298d8153fc8f4cd /TAO/examples/POA/On_Demand_Loading/Servant_Locator.h | |
parent | 1eeb03769ad41dd4bc5ac7d438cc98680ef55059 (diff) | |
download | ATCD-ACE-4_6_27.tar.gz |
This commit was manufactured by cvs2svn to create tag 'ACE-4_6_27'.ACE-4_6_27
Diffstat (limited to 'TAO/examples/POA/On_Demand_Loading/Servant_Locator.h')
-rw-r--r-- | TAO/examples/POA/On_Demand_Loading/Servant_Locator.h | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/TAO/examples/POA/On_Demand_Loading/Servant_Locator.h b/TAO/examples/POA/On_Demand_Loading/Servant_Locator.h deleted file mode 100644 index 48368e06f9f..00000000000 --- a/TAO/examples/POA/On_Demand_Loading/Servant_Locator.h +++ /dev/null @@ -1,82 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- -// $Id$ - -//================================================================================ -// -// = LIBRARY -// TAO/examples/POA/On_Demand_Loading -// -// = FILENAME -// Servant_Locator.h -// -// = DESCRIPTION -// Defines a ServantLocator_i class , used with a POA having -// a NON_RETAIN policy. -// -// = AUTHOR -// Kirthika Parameswaran <kirthika@cs.wustl.edu> -// -//================================================================================== - -#ifndef SERVANT_LOCATOR_H -#define SERVANT_LOCATOR_H - -#include "tao/corba.h" -#include "ace/DLL.h" -#include "Servant_Manager.h" - -class ServantLocator_i : public POA_PortableServer::ServantLocator -{ - // = TITLE - // This class is used by a POA with USE_SERVANT_MANAGER and - // NON_RETAIN policy. - // - // = DESCRIPTION - // This class defines the Servant Locator interface of the Servant - // Manager. It is invoked when the POA has an USE_SERVANT_MANAGER - // policy and a servant_retention policy of NON_RETAIN type. -public: - ServantLocator_i (CORBA::ORB_ptr orb); - // Constructor. - - virtual PortableServer::Servant preinvoke (const PortableServer::ObjectId &oid, - PortableServer::POA_ptr adapter, - const char *operation, - PortableServer::ServantLocator::Cookie &the_cookie, - CORBA::Environment &env); - // This method is invoked by a POA whenever it receives a request - // for MyFoo object that is not currently active. When the POA is - // created using the NON_RETAIN policy the Active Object Map is not - // maintained, in other words, an association between the ObjectId - // and the servant is not maintained. Hence every client request the - // servant has to be loaded. Note the operation argument. This - // argument specifies the operation to be invoked on the - // servant. The cookie helps in marking the servant. This marking is - // useful while destroying the servant. - - virtual void postinvoke (const PortableServer::ObjectId &oid, - PortableServer::POA_ptr adapter, - const char *operation, - PortableServer::ServantLocator::Cookie the_cookie, - PortableServer::Servant the_servant, - CORBA::Environment &env); - // This method is invoked whenever a MyFooServant completes a - // request. As the Servant Loactor interface is used when the POA - // doesnt maintain the Active Object Map, its necessary to get rid - // of the servant after the client request has been processed. The - // appropriate servant is destroyed by verifying the cookie.Again - // this method is invoked per client request. - - PortableServer::ObjectId_var create_dll_object_id (const char *dllname, - const char *factory_function); - // Returns an ObjectId when given an dll name and the factory method - // to be invoked in the dll. -private: - ServantManager_i servant_manager_; - // The <ServantManager_i> object that provides utility methods. The - // methods include obtaining the servant using an ACE_DLL object, - // destroying the servant and extracting the dllname and factory - // function from the ObjectId. -}; - -#endif /* SERVANT_LOCATOR_H */ |