00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file LocateRequest_Invocation.h 00006 * 00007 * $Id: LocateRequest_Invocation.h 79705 2007-09-24 07:45:37Z johnnyw $ 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 TAO 00031 { 00032 class Profile_Transport_Resolver; 00033 00034 /** 00035 * @class LocateRequest_Invocation 00036 * 00037 * @brief Object created by TAO::LocateRequest_Invocation_Adapter to 00038 * create and send LocateRequest invocation. 00039 */ 00040 class LocateRequest_Invocation 00041 : public Synch_Twoway_Invocation 00042 { 00043 public: 00044 /** 00045 * @param otarget The target on which this invocation was 00046 * started. 00047 * 00048 * @param resolver Container of the profile and transport on 00049 * which this invocation is on 00050 * 00051 * @param detail Operation details of the invocation on @a 00052 * target. This is of no practical importance since it is not used 00053 * in this class. This is just to keep our base class happy. 00054 * 00055 */ 00056 LocateRequest_Invocation ( 00057 CORBA::Object_ptr otarget, 00058 Profile_Transport_Resolver &resolver, 00059 TAO_Operation_Details &detail); 00060 00061 /// Start the invocation. 00062 Invocation_Status invoke (ACE_Time_Value *max_wait_time); 00063 00064 private: 00065 /// Helper to check the reply status 00066 Invocation_Status check_reply (TAO_Synch_Reply_Dispatcher &rd); 00067 }; 00068 } 00069 00070 TAO_END_VERSIONED_NAMESPACE_DECL 00071 00072 #include /**/ "ace/post.h" 00073 00074 #endif /*TAO_LOCATEREQUEST_INVOCATION_H*/