00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file IFR_Client_Adapter_Impl.h 00006 * 00007 * $Id: IFR_Client_Adapter_Impl.h 84281 2009-01-30 15:01:17Z wotte $ 00008 * 00009 * @author Jeff Parsons <parsons@cs.wustl.edu> 00010 */ 00011 //============================================================================= 00012 00013 00014 #ifndef TAO_IFR_CLIENT_ADAPTER_IMPL_H 00015 #define TAO_IFR_CLIENT_ADAPTER_IMPL_H 00016 00017 #include /**/ "ace/pre.h" 00018 00019 #include "tao/IFR_Client/ifr_client_export.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "tao/IFR_Client_Adapter.h" 00026 00027 #include "ace/Service_Config.h" 00028 00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00030 00031 /** 00032 * @class TAO_IFR_Client_Adapter_Impl 00033 * 00034 * @brief TAO_IFR_Client_Adapter_Impl. 00035 * 00036 * Class that adapts various functions in the CORBA namespace 00037 * which use the Interface Repository. This is the derived class 00038 * that contains the actual implementations. 00039 */ 00040 class TAO_IFR_Client_Export TAO_IFR_Client_Adapter_Impl 00041 : public TAO_IFR_Client_Adapter 00042 { 00043 public: 00044 virtual ~TAO_IFR_Client_Adapter_Impl (void); 00045 00046 virtual CORBA::Boolean interfacedef_cdr_insert ( 00047 TAO_OutputCDR &cdr, 00048 CORBA::InterfaceDef_ptr object_type 00049 ); 00050 00051 virtual void interfacedef_any_insert ( 00052 CORBA::Any *any, 00053 CORBA::InterfaceDef_ptr object_type 00054 ); 00055 00056 virtual void dispose ( 00057 CORBA::InterfaceDef_ptr orphan 00058 ); 00059 00060 virtual CORBA::InterfaceDef_ptr get_interface ( 00061 CORBA::ORB_ptr orb, 00062 const char *repo_id 00063 00064 ); 00065 00066 virtual CORBA::InterfaceDef_ptr get_interface_remote ( 00067 CORBA::Object_ptr target 00068 00069 ); 00070 00071 #if (TAO_HAS_MINIMUM_CORBA == 0) && !defined (CORBA_E_COMPACT) && !defined (CORBA_E_MICRO) 00072 virtual void create_operation_list ( 00073 CORBA::ORB_ptr orb, 00074 CORBA::OperationDef_ptr, 00075 CORBA::NVList_ptr& 00076 00077 ); 00078 #endif /*TAO_HAS_MINIMUM_CORBA*/ 00079 00080 // Used to force the initialization of the ORB code. 00081 static int Initializer (void); 00082 }; 00083 00084 static int 00085 TAO_Requires_IFR_Client_Initializer = 00086 TAO_IFR_Client_Adapter_Impl::Initializer (); 00087 00088 00089 ACE_STATIC_SVC_DECLARE (TAO_IFR_Client_Adapter_Impl) 00090 ACE_FACTORY_DECLARE (TAO_IFR_Client, TAO_IFR_Client_Adapter_Impl) 00091 TAO_END_VERSIONED_NAMESPACE_DECL 00092 00093 00094 #include /**/ "ace/post.h" 00095 00096 #endif /* TAO_IFR_CLIENT_ADAPTER_IMPL_H */