00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Collocated_Arguments_Converter.h 00006 * 00007 * $Id: Collocated_Arguments_Converter.h 80380 2008-01-07 13:11:49Z mcorino $ 00008 * 00009 * @author Yan Dai <dai_y@ociweb.com> 00010 * @author Johnny Willemsen <jwillemsen@remedy.nl> 00011 */ 00012 //============================================================================= 00013 00014 00015 #ifndef TAO_COLLOCATED_ARGUMENTS_CONVERTER_H 00016 #define TAO_COLLOCATED_ARGUMENTS_CONVERTER_H 00017 00018 #include /**/ "ace/pre.h" 00019 00020 #include "portableserver_export.h" 00021 00022 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00023 # pragma once 00024 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00025 00026 #include "tao/TAO_Server_Request.h" 00027 #include "tao/CDR.h" 00028 #include "ace/Service_Object.h" 00029 00030 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00031 00032 namespace TAO 00033 { 00034 /** 00035 * @class Collocated_Arguments_Converter 00036 * 00037 * @brief Collocated_Arguments_Converter. 00038 * 00039 * Abstract class that convert arguments in the case of a collocated call. 00040 */ 00041 class TAO_PortableServer_Export Collocated_Arguments_Converter : 00042 public ACE_Service_Object 00043 { 00044 public: 00045 00046 virtual ~Collocated_Arguments_Converter (void); 00047 00048 virtual void convert_request (TAO_ServerRequest & server_request, 00049 TAO::Argument * const args[], 00050 size_t nargs) = 0; 00051 00052 virtual void dsi_convert_request (TAO_ServerRequest & server_request, 00053 TAO_OutputCDR & output) = 0; 00054 00055 virtual void convert_reply (TAO_ServerRequest & server_request, 00056 TAO::Argument * const args[], 00057 size_t nargs) = 0; 00058 00059 virtual void dsi_convert_reply (TAO_ServerRequest & server_request, 00060 TAO_InputCDR & input) = 0; 00061 00062 virtual void handle_corba_exception (TAO_ServerRequest & server_request, 00063 CORBA::Exception *exception) = 0; 00064 }; 00065 } 00066 TAO_END_VERSIONED_NAMESPACE_DECL 00067 00068 #include /**/ "ace/post.h" 00069 #endif /* TAO_COLLOCATED_ARGUMENTS_CONVERTER_H */ 00070