00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file ImR_Client_Adapter.h 00006 * 00007 * $Id: ImR_Client_Adapter.h 76995 2007-02-11 12:51:42Z johnnyw $ 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 "tao/orbconf.h" 00027 00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00029 00030 class TAO_Root_POA; 00031 00032 namespace TAO 00033 { 00034 namespace Portable_Server 00035 { 00036 /** 00037 * @class ImR_Client_Adapter 00038 * 00039 * @brief IFR_Client_Adapter. 00040 * 00041 * Class that adapts various functions in the PortableServer library 00042 * which use the Implementation Repository. This is a base class for 00043 * the actual implementation in the TAO_IMR_Client library. 00044 */ 00045 class TAO_PortableServer_Export ImR_Client_Adapter : 00046 public ACE_Service_Object 00047 { 00048 public: 00049 virtual ~ImR_Client_Adapter (void); 00050 00051 /// ImplRepo helper method, notify the ImplRepo on startup 00052 virtual void imr_notify_startup (TAO_Root_POA* poa ) = 0; 00053 00054 /// ImplRepo helper method, notify the ImplRepo on shutdown 00055 virtual void imr_notify_shutdown (TAO_Root_POA* poa ) = 0; 00056 }; 00057 } 00058 } 00059 00060 TAO_END_VERSIONED_NAMESPACE_DECL 00061 00062 #include /**/ "ace/post.h" 00063 #endif /* TAO_IMR_CLIENT_ADAPTER_H */