00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file DII_Reply_Dispatcher.h 00006 * 00007 * DII_Reply_Dispatcher.h,v 1.18 2006/03/10 07:19:08 jtc Exp 00008 * 00009 * @brief Dispatch the reply appropriately. 00010 * 00011 * @author Alexander Babu Arulanthu <alex@cs.wustl.edu> 00012 */ 00013 00014 #ifndef TAO_DII_REPLY_DISPATCHER_H 00015 #define TAO_DII_REPLY_DISPATCHER_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/orbconf.h" 00026 #include "tao/Asynch_Reply_Dispatcher_Base.h" 00027 00028 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00029 00030 namespace CORBA 00031 { 00032 class Request; 00033 typedef Request *Request_ptr; 00034 } 00035 00036 class TAO_ORB_Core; 00037 00038 /** 00039 * @class TAO_DII_Deferred_Reply_Dispatcher 00040 * 00041 * @brief Reply dispatcher for DII deferred requests. 00042 */ 00043 00044 class TAO_DynamicInterface_Export TAO_DII_Deferred_Reply_Dispatcher 00045 : public TAO_Asynch_Reply_Dispatcher_Base 00046 { 00047 public: 00048 TAO_DII_Deferred_Reply_Dispatcher (const CORBA::Request_ptr req, 00049 TAO_ORB_Core *orb_core); 00050 00051 00052 00053 // = The Reply_Dispatcher methods 00054 virtual int dispatch_reply (TAO_Pluggable_Reply_Params ¶m); 00055 00056 virtual void connection_closed (void); 00057 00058 /// The following methods are not needed for this class.. 00059 virtual void reply_timed_out (void) {} 00060 virtual long schedule_timer (CORBA::ULong , 00061 const ACE_Time_Value & 00062 ACE_ENV_ARG_DECL_NOT_USED) 00063 { 00064 return 0; 00065 } 00066 00067 protected: 00068 /// Destructor. 00069 ~TAO_DII_Deferred_Reply_Dispatcher (void); 00070 00071 private: 00072 /// Where the reply needs to go. 00073 const CORBA::Request_ptr req_; 00074 }; 00075 00076 TAO_END_VERSIONED_NAMESPACE_DECL 00077 00078 #include /**/ "ace/post.h" 00079 00080 #endif /* TAO_REPLY_DISPATCHER_H */