LocateRequest_Invocation.h

Go to the documentation of this file.
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*/

Generated on Thu Nov 9 11:54:15 2006 for TAO by doxygen 1.3.6