00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Collocated_Arguments_Converter.h 00006 * 00007 * $Id: Collocated_Arguments_Converter.h 78248 2007-05-02 14:03:48Z johnnyw $ 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 "ace/Service_Object.h" 00028 00029 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00030 00031 namespace TAO 00032 { 00033 /** 00034 * @class Collocated_Arguments_Converter 00035 * 00036 * @brief Collocated_Arguments_Converter. 00037 * 00038 * Abstract class that convert arguments in the case of a collocated call. 00039 */ 00040 class TAO_PortableServer_Export Collocated_Arguments_Converter : 00041 public ACE_Service_Object 00042 { 00043 public: 00044 00045 virtual ~Collocated_Arguments_Converter (void); 00046 00047 virtual void convert_request (TAO_ServerRequest & server_request, 00048 TAO::Argument * const args[], 00049 size_t nargs) = 0; 00050 00051 virtual void convert_reply (TAO_ServerRequest & server_request, 00052 TAO::Argument * const args[], 00053 size_t nargs) = 0; 00054 00055 virtual void handle_corba_exception (TAO_ServerRequest & server_request, 00056 CORBA::Exception *exception) = 0; 00057 }; 00058 } 00059 TAO_END_VERSIONED_NAMESPACE_DECL 00060 00061 #include /**/ "ace/post.h" 00062 #endif /* TAO_COLLOCATED_ARGUMENTS_CONVERTER_H */ 00063