diff options
author | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
---|---|---|
committer | William R. Otte <wotte@dre.vanderbilt.edu> | 2006-07-24 15:50:21 +0000 |
commit | 3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c (patch) | |
tree | 197c810e5f5bce17b1233a7cb8d7b50c0bcd25e2 /TAO/tao/LocateRequest_Invocation.h | |
parent | 6b846cf03c0bcbd8c276cb0af61a181e5f98eaae (diff) | |
download | ATCD-3aff90f4a822fcf5d902bbfbcc9fa931d6191a8c.tar.gz |
Repo restructuring
Diffstat (limited to 'TAO/tao/LocateRequest_Invocation.h')
-rw-r--r-- | TAO/tao/LocateRequest_Invocation.h | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/TAO/tao/LocateRequest_Invocation.h b/TAO/tao/LocateRequest_Invocation.h new file mode 100644 index 00000000000..40b213eef37 --- /dev/null +++ b/TAO/tao/LocateRequest_Invocation.h @@ -0,0 +1,84 @@ +// -*- C++ -*- + +//============================================================================= +/** + * @file LocateRequest_Invocation.h + * + * $Id$ + * + * + * @author Balachandran Natarajan <bala@dre.vanderbilt.edu> + */ +//============================================================================= + +#ifndef TAO_LOCATEREQUEST_INVOCATION_H +#define TAO_LOCATEREQUEST_INVOCATION_H + +#include /**/ "ace/pre.h" +#include "ace/Global_Macros.h" + +#if !defined (ACE_LACKS_PRAGMA_ONCE) +# pragma once +#endif /* ACE_LACKS_PRAGMA_ONCE */ + +#include "tao/Synch_Invocation.h" + +TAO_BEGIN_VERSIONED_NAMESPACE_DECL + +class TAO_Synch_Reply_Dispatcher; + +namespace CORBA +{ + class SystemException; +} + +namespace TAO +{ + class Profile_Transport_Resolver; + + /** + * @class LocateRequest_Invocation + * + * @brief Object created by TAO::LocateRequest_Invocation_Adapter to + * create and send LocateRequest invocation. + * + */ + class TAO_Export LocateRequest_Invocation + : protected Synch_Twoway_Invocation + { + public: + /** + * @param otarget The target on which this invocation was + * started. + * + * @param resolver Container of the profile and transport on + * which this invocation is on + * + * @param detail Operation details of the invocation on @a + * target. This is of no practical importance since it is not used + * in this class. This is just to keep our base class happy. + * + */ + LocateRequest_Invocation ( + CORBA::Object_ptr otarget, + Profile_Transport_Resolver &resolver, + TAO_Operation_Details &detail); + + /// Start the invocation. + Invocation_Status invoke (ACE_Time_Value *max_wait_time + ACE_ENV_ARG_DECL) + ACE_THROW_SPEC ((CORBA::Exception)); + + private: + /// Helper to check the reply status + Invocation_Status check_reply (TAO_Synch_Reply_Dispatcher &rd + ACE_ENV_ARG_DECL); + + }; +} + +TAO_END_VERSIONED_NAMESPACE_DECL + +#include /**/ "ace/post.h" + +#endif /*TAO_LOCATEREQUEST_INVOCATION_H*/ |