Adapter_Activator.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //=============================================================================
00003 /**
00004  *  @file   Adapter_Activator.h
00005  *
00006  *  Adapter_Activator.h,v 1.7 2005/04/22 19:25:13 ossama Exp
00007  *
00008  *  @brief  This class implements ImR's Adapter Activator.
00009  *
00010  *  @author Darrell Brunsch <brunsch@cs.wustl.edu>
00011  */
00012 //=============================================================================
00013 
00014 #ifndef IMR_ADAPTER_ACTIVATOR_H
00015 #define IMR_ADAPTER_ACTIVATOR_H
00016 
00017 #include "tao/PortableServer/PortableServer.h"
00018 #include "tao/PortableServer/AdapterActivatorC.h"
00019 #include "tao/PortableServer/ServantLocatorC.h"
00020 
00021 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00022 # pragma once
00023 #endif /* ACE_LACKS_PRAGMA_ONCE */
00024 
00025 #include "tao/LocalObject.h"
00026 
00027 
00028 /**
00029  * @class ImR_Adapter_Activator
00030  *
00031  * @brief Implementation Repository Adapter Activator
00032  *
00033  * Part of the ServantLocator/AdapterActivator combination that is used to
00034  * receive forwardable requests from clients.  The Adapter Activator creates
00035  * the POA structure that the request expects.  For each POA created, the
00036  * same ServantLocator will be registered in each one.
00037  */
00038 class ImR_Adapter
00039   : public PortableServer::AdapterActivator,
00040     public CORBA::LocalObject
00041 {
00042 public:
00043   ImR_Adapter();
00044 
00045   /// Called when a POA needs to be created.
00046   virtual CORBA::Boolean unknown_adapter (
00047     PortableServer::POA_ptr parent,
00048     const char *name
00049     ACE_ENV_ARG_DECL_WITH_DEFAULTS
00050   )
00051     ACE_THROW_SPEC ((CORBA::SystemException));
00052 
00053   void init(PortableServer::ServantLocator_ptr servant);
00054 private:
00055   /// The ServantLocator registered in each new POA.
00056   PortableServer::ServantLocator_ptr servant_locator_;
00057 };
00058 
00059 #endif /* IMR_ADAPTER_ACTIVATOR_H */

Generated on Thu Nov 9 13:36:19 2006 for TAO_Implementation_Repository by doxygen 1.3.6