00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file ImR_Client_Adapter.h 00006 * 00007 * ImR_Client_Adapter.h,v 1.4 2006/03/10 07:19:13 jtc Exp 00008 * 00009 * @author Johnny Willemsen <jwillemsen@remedy.nl> 00010 */ 00011 //============================================================================= 00012 00013 00014 #ifndef TAO_IMR_CLIENT_ADAPTER_H 00015 #define TAO_IMR_CLIENT_ADAPTER_H 00016 00017 #include /**/ "ace/pre.h" 00018 00019 #include "tao/PortableServer/portableserver_export.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "ace/Service_Object.h" 00026 #include "ace/CORBA_macros.h" 00027 #include "tao/orbconf.h" 00028 #include "tao/Environment.h" 00029 00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00031 00032 class TAO_Root_POA; 00033 00034 namespace TAO 00035 { 00036 namespace Portable_Server 00037 { 00038 /** 00039 * @class ImR_Client_Adapter 00040 * 00041 * @brief IFR_Client_Adapter. 00042 * 00043 * Class that adapts various functions in the PortableServer library 00044 * which use the Implementation Repository. This is a base class for 00045 * the actual implementation in the TAO_IMR_Client library. 00046 */ 00047 class TAO_PortableServer_Export ImR_Client_Adapter : 00048 public ACE_Service_Object 00049 { 00050 public: 00051 virtual ~ImR_Client_Adapter (void); 00052 00053 /// ImplRepo helper method, notify the ImplRepo on startup 00054 virtual void imr_notify_startup (TAO_Root_POA* poa ACE_ENV_ARG_DECL) = 0; 00055 00056 /// ImplRepo helper method, notify the ImplRepo on shutdown 00057 virtual void imr_notify_shutdown (TAO_Root_POA* poa ACE_ENV_ARG_DECL) = 0; 00058 }; 00059 } 00060 } 00061 00062 TAO_END_VERSIONED_NAMESPACE_DECL 00063 00064 #include /**/ "ace/post.h" 00065 #endif /* TAO_IMR_CLIENT_ADAPTER_H */