00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file DII_Arguments_Converter_Impl.h 00006 * 00007 * $Id: DII_Arguments_Converter_Impl.h 78248 2007-05-02 14:03:48Z johnnyw $ 00008 * 00009 * @author Yan Dai <dai_y@ociweb.com> 00010 */ 00011 //============================================================================= 00012 00013 00014 #ifndef TAO_DII_ARGUMENTS_CONVERTER_IMPL_H 00015 #define TAO_DII_ARGUMENTS_CONVERTER_IMPL_H 00016 00017 #include /**/ "ace/pre.h" 00018 00019 #include "tao/DynamicInterface/dynamicinterface_export.h" 00020 00021 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00022 # pragma once 00023 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00024 00025 #include "tao/PortableServer/Collocated_Arguments_Converter.h" 00026 00027 #include "ace/Service_Config.h" 00028 00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00030 00031 00032 /** 00033 * @class TAO_DII_Arguments_Converter_Impl 00034 * 00035 * @brief TAO_DII_Arguments_Converter_Impl. 00036 * 00037 * This class provides the implementation to expand the DII arguments in NVList 00038 * to the list of arguments. 00039 */ 00040 class TAO_DynamicInterface_Export TAO_DII_Arguments_Converter_Impl 00041 : public TAO::Collocated_Arguments_Converter 00042 { 00043 public: 00044 00045 virtual void convert_request (TAO_ServerRequest & server_request, 00046 TAO::Argument * const args[], 00047 size_t nargs); 00048 00049 virtual void convert_reply (TAO_ServerRequest & server_request, 00050 TAO::Argument * const args[], 00051 size_t nargs); 00052 00053 virtual void handle_corba_exception (TAO_ServerRequest & server_request, 00054 CORBA::Exception *exception); 00055 00056 // Used to force the initialization of the ORB code. 00057 static int Initializer (void); 00058 }; 00059 00060 static int 00061 TAO_Requires_DII_Arguments_Converter_Impl_Initializer = 00062 TAO_DII_Arguments_Converter_Impl::Initializer (); 00063 00064 TAO_END_VERSIONED_NAMESPACE_DECL 00065 00066 ACE_STATIC_SVC_DECLARE (TAO_DII_Arguments_Converter_Impl) 00067 ACE_FACTORY_DECLARE (TAO_DynamicInterface, TAO_DII_Arguments_Converter_Impl) 00068 00069 00070 #include /**/ "ace/post.h" 00071 00072 #endif /* TAO_DII_ARGUMENTS_CONVERTER_IMPL_H */ 00073 00074