Adapter_Activator.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 //=============================================================================
00003 /**
00004  *  @file   Adapter_Activator.h
00005  *
00006  *  $Id: Adapter_Activator.h 77020 2007-02-12 13:56:49Z johnnyw $
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   );
00050 
00051   void init(PortableServer::ServantLocator_ptr servant);
00052 private:
00053   /// The ServantLocator registered in each new POA.
00054   PortableServer::ServantLocator_ptr servant_locator_;
00055 };
00056 
00057 #endif /* IMR_ADAPTER_ACTIVATOR_H */

Generated on Sun Jan 27 15:54:50 2008 for TAO_Implementation_Repository by doxygen 1.3.6