00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file LocateRequest_Invocation.h 00006 * 00007 * LocateRequest_Invocation.h,v 1.6 2005/11/02 07:13:03 ossama Exp 00008 * 00009 * 00010 * @author Balachandran Natarajan <bala@dre.vanderbilt.edu> 00011 */ 00012 //============================================================================= 00013 00014 #ifndef TAO_LOCATEREQUEST_INVOCATION_H 00015 #define TAO_LOCATEREQUEST_INVOCATION_H 00016 00017 #include /**/ "ace/pre.h" 00018 #include "ace/Global_Macros.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 #include "tao/Synch_Invocation.h" 00025 00026 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00027 00028 class TAO_Synch_Reply_Dispatcher; 00029 00030 namespace CORBA 00031 { 00032 class SystemException; 00033 } 00034 00035 namespace TAO 00036 { 00037 class Profile_Transport_Resolver; 00038 00039 /** 00040 * @class LocateRequest_Invocation 00041 * 00042 * @brief Object created by TAO::LocateRequest_Invocation_Adapter to 00043 * create and send LocateRequest invocation. 00044 * 00045 */ 00046 class TAO_Export LocateRequest_Invocation 00047 : protected Synch_Twoway_Invocation 00048 { 00049 public: 00050 /** 00051 * @param otarget The target on which this invocation was 00052 * started. 00053 * 00054 * @param resolver Container of the profile and transport on 00055 * which this invocation is on 00056 * 00057 * @param detail Operation details of the invocation on @a 00058 * target. This is of no practical importance since it is not used 00059 * in this class. This is just to keep our base class happy. 00060 * 00061 */ 00062 LocateRequest_Invocation ( 00063 CORBA::Object_ptr otarget, 00064 Profile_Transport_Resolver &resolver, 00065 TAO_Operation_Details &detail); 00066 00067 /// Start the invocation. 00068 Invocation_Status invoke (ACE_Time_Value *max_wait_time 00069 ACE_ENV_ARG_DECL) 00070 ACE_THROW_SPEC ((CORBA::Exception)); 00071 00072 private: 00073 /// Helper to check the reply status 00074 Invocation_Status check_reply (TAO_Synch_Reply_Dispatcher &rd 00075 ACE_ENV_ARG_DECL); 00076 00077 }; 00078 } 00079 00080 TAO_END_VERSIONED_NAMESPACE_DECL 00081 00082 #include /**/ "ace/post.h" 00083 00084 #endif /*TAO_LOCATEREQUEST_INVOCATION_H*/