00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file CSD_TP_Custom_Asynch_Request.h 00006 * 00007 * $Id: CSD_TP_Custom_Asynch_Request.h 71473 2006-03-10 07:19:20Z jtc $ 00008 * 00009 * @author Tim Bradley <bradley_t@ociweb.com> 00010 */ 00011 //============================================================================= 00012 00013 #ifndef TAO_CSD_TP_CUSTOM_ASYNCH_REQUEST_H 00014 #define TAO_CSD_TP_CUSTOM_ASYNCH_REQUEST_H 00015 00016 #include /**/ "ace/pre.h" 00017 00018 #include "tao/CSD_ThreadPool/CSD_TP_Export.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 #include "tao/CSD_ThreadPool/CSD_TP_Custom_Request.h" 00025 00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00027 00028 namespace TAO 00029 { 00030 namespace CSD 00031 { 00032 00033 class TP_Custom_Asynch_Request; 00034 typedef TAO_Intrusive_Ref_Count_Handle<TP_Custom_Asynch_Request> 00035 TP_Custom_Asynch_Request_Handle; 00036 00037 /** 00038 * @class TP_Custom_Asynch_Request 00039 * 00040 * @brief Base class for "queue-able", Custom (non-CORBA), 00041 * Synchronous requests. 00042 * 00043 * TBD - Add description 00044 * 00045 */ 00046 class TAO_CSD_TP_Export TP_Custom_Asynch_Request 00047 : public TP_Custom_Request 00048 { 00049 public: 00050 00051 /// Constructor. 00052 TP_Custom_Asynch_Request(TP_Custom_Request_Operation* op, 00053 TP_Servant_State* servant_state); 00054 00055 /// Virtual Destructor. 00056 virtual ~TP_Custom_Asynch_Request(); 00057 00058 00059 protected: 00060 00061 /// Dispatch the request to the servant. 00062 virtual void dispatch_i(); 00063 00064 /// Cancel the request. 00065 virtual void cancel_i(); 00066 }; 00067 00068 } 00069 } 00070 00071 TAO_END_VERSIONED_NAMESPACE_DECL 00072 00073 #if defined (__ACE_INLINE__) 00074 # include "tao/CSD_ThreadPool/CSD_TP_Custom_Asynch_Request.inl" 00075 #endif /* __ACE_INLINE__ */ 00076 00077 #include /**/ "ace/post.h" 00078 00079 #endif /* TAO_CSD_TP_CUSTOM_ASYNCH_REQUEST_H */