diff options
Diffstat (limited to 'TAO/tao/Remote_Invocation.h')
-rw-r--r-- | TAO/tao/Remote_Invocation.h | 22 |
1 files changed, 21 insertions, 1 deletions
diff --git a/TAO/tao/Remote_Invocation.h b/TAO/tao/Remote_Invocation.h index 61638659a53..383691acddd 100644 --- a/TAO/tao/Remote_Invocation.h +++ b/TAO/tao/Remote_Invocation.h @@ -40,12 +40,27 @@ namespace TAO /** * @class Remote_Invocation * - * @brief Base class for Twoway_Invocation and Oneway_Invocation. + * @brief Base class for remote invocations. + * + * This class encapulates some of the common functionalities used by + * synchronous, asynchronous, DII and DSI invocations. * */ class TAO_Export Remote_Invocation : public Invocation_Base { public: + /** + * @param otarget, The original target on which this invocation + * was started. This is there to be passed up to its parent + * class. + * + * @param resolver, The profile and transport holder. + * + * @param op, operation details of the invocation on the target + * + * @param response_expected, flag to indicate whether the + * operation encapsulated by @a op returns a response or not. + */ Remote_Invocation (CORBA::Object_ptr otarget, Profile_Transport_Resolver &resolver, TAO_Operation_Details &detail, @@ -53,22 +68,27 @@ namespace TAO protected: + /// Initialize the @a spec. void init_target_spec (TAO_Target_Specification &spec ACE_ENV_ARG_DECL); + /// Write the GIOP header into the stream. void write_header (TAO_Target_Specification &spec, TAO_OutputCDR &out_stream ACE_ENV_ARG_DECL); + /// Marshal the arguments into the stream. void marshal_data (TAO_OutputCDR &cdr ACE_ENV_ARG_DECL); + /// Write the message onto the socket Invocation_Status send_message (TAO_OutputCDR &cdr, short message_semantics, ACE_Time_Value *max_wait_time ACE_ENV_ARG_DECL); protected: + /// Our resolver Profile_Transport_Resolver &resolver_; }; } |