diff options
Diffstat (limited to 'TAO/tao/Reply_Dispatcher.h')
-rw-r--r-- | TAO/tao/Reply_Dispatcher.h | 212 |
1 files changed, 0 insertions, 212 deletions
diff --git a/TAO/tao/Reply_Dispatcher.h b/TAO/tao/Reply_Dispatcher.h deleted file mode 100644 index 8b3dae7fbc9..00000000000 --- a/TAO/tao/Reply_Dispatcher.h +++ /dev/null @@ -1,212 +0,0 @@ -// This may look like C, but it's really -*- C++ -*- -// $Id$ - -// ============================================================================ -// -// = LIBRARY -// TAO -// -// = FILENAME -// Reply_Dispatcher.h -// -// = DESCRIPTION -// Dispatch the reply appropriately. -// -// = AUTHOR -// Alexander Babu Arulanthu <alex@cs.wustl.edu> -// -// ============================================================================ - -#ifndef TAO_REPLY_DISPATCHER_H -#define TAO_REPLY_DISPATCHER_H - -#include "tao/GIOP.h" - -#if !defined (ACE_LACKS_PRAGMA_ONCE) -# pragma once -#endif /* ACE_LACKS_PRAGMA_ONCE */ - -#include "tao/MessagingC.h" - -// Forward Declarations. - -class TAO_Stub; -class TAO_InputCDR; - -class TAO_Export TAO_Reply_Dispatcher -{ - // = TITLE - // - // = DESCRIPTION - // - -public: - TAO_Reply_Dispatcher (void); - // Constructor. - - virtual ~TAO_Reply_Dispatcher (void); - // Destructor. - - virtual int dispatch_reply (CORBA::ULong reply_status, - const TAO_GIOP_Version& version, - IOP::ServiceContextList& reply_ctx, - TAO_GIOP_Message_State* message_state) = 0; - // Dispatch the reply. Return 1 on sucess, -1 on error. - - virtual TAO_GIOP_Message_State *message_state (void); - // Get the Message State into which the reply has been read. - - const IOP::ServiceContextList& reply_service_info () const; - // Accessing the reply service context list. - - virtual int leader_follower_condition_variable (TAO_Transport *); - // Obtain the condition variable used in the Leader Follower Wait - // Strategy. This is valid only for the synchronous reply dispatcher - // and only when the Leader Follower wait strategy is used. - -protected: - IOP::ServiceContextList reply_service_info_; - // The service context list -}; - -// ********************************************************************* - -class TAO_Export TAO_Synch_Reply_Dispatcher : public TAO_Reply_Dispatcher -{ - // = TITLE - // - // Reply dispatcher for Synchoronous Method Invocation (SMI)s. - // - // = DESCRIPTION - // - -public: - TAO_Synch_Reply_Dispatcher (TAO_ORB_Core *orb_core); - // Constructor. - - virtual ~TAO_Synch_Reply_Dispatcher (void); - // Destructor. - - CORBA::ULong reply_status (void) const; - // Get the reply status. - - const TAO_GIOP_Version& version (void) const; - // Get the GIOP version. - - virtual int dispatch_reply (CORBA::ULong reply_status, - const TAO_GIOP_Version& version, - IOP::ServiceContextList& reply_ctx, - TAO_GIOP_Message_State* message_state); - // Dispatch the reply. Copy the buffers and return. Since the - // invocation is synchronous demarshalling will take place on the - // stack. - // Return 1 on sucess, -1 on error. - - virtual TAO_GIOP_Message_State *message_state (void); - // Return the message state of this invocation. - - virtual TAO_InputCDR &reply_cdr (void); - // Return the reply CDR. - - virtual int &reply_received (void); - // Return the reference to the reply received flag. This will not - // make sense in the Asynch Reply Dispatcher case, since the - // reply will be dispatched as soon as it is available and the - // dispatcher will go away immediately after that. - - virtual int leader_follower_condition_variable (TAO_Transport *); - // Obtain the condition variable used in the Leader Follower Wait - // Strategy. - -private: - CORBA::ULong reply_status_; - // Reply or LocateReply status. - - TAO_GIOP_Version version_; - // The version - - TAO_GIOP_Message_State message_state_; - // All the state required to receive the input... - - int reply_received_; - // Flag that indicates the reply has been received. - - ACE_SYNCH_CONDITION *leader_follower_condition_variable_; - // Condition variable used by the leader to notify the follower - // about the availability of the response. - - TAO_ORB_Core *orb_core_; - // Cache the ORB Core pointer. -}; - -// ********************************************************************* - -#if defined (TAO_HAS_CORBA_MESSAGING) - -# if defined (TAO_HAS_AMI_CALLBACK) || defined (TAO_HAS_AMI_POLLER) - -class TAO_Export TAO_Asynch_Reply_Dispatcher : public TAO_Reply_Dispatcher -{ - // = TITLE - // - // Reply dispatcher for Asynchoronous Method Invocation (AMI)s. - // - // = DESCRIPTION - // - -public: - TAO_Asynch_Reply_Dispatcher (const TAO_Reply_Handler_Skeleton &reply_handler_skel, - Messaging::ReplyHandler_ptr reply_handler_ptr); - // Constructor. - - virtual ~TAO_Asynch_Reply_Dispatcher (void); - // Destructor. - - CORBA::ULong reply_status (void) const; - // Get the reply status. - - const TAO_GIOP_Version& version (void) const; - // Get the GIOP version - - virtual int dispatch_reply (CORBA::ULong reply_status, - const TAO_GIOP_Version& version, - IOP::ServiceContextList& reply_ctx, - TAO_GIOP_Message_State* message_state); - // Dispatch the reply. This involves demarshalling the reply and - // calling the appropriate call back hook method on the reply - // handler. - // Return 1 on sucess, -1 on error. - - virtual TAO_GIOP_Message_State *message_state (void); - // Return the message state. - -private: - CORBA::ULong reply_status_; - // Reply or LocateReply status. - - TAO_GIOP_Version version_; - // The version - - TAO_GIOP_Message_State *message_state_; - // CDR stream for reading the input. - // @@ Carlos : message_state should go away. All we need is the reply - // cdr. Is that rite? (Alex). - - const TAO_Reply_Handler_Skeleton reply_handler_skel_; - // Skeleton for the call back method in the Reply Handler. - - Messaging::ReplyHandler_ptr reply_handler_; - // Reply Handler passed in the Asynchronous Invocation. -}; - -# endif /* TAO_HAS_AMI_CALLBACK || TAO_HAS_AMI_POLLER */ - -#endif /* TAO_HAS_CORBA_MESSAGING */ - -// ********************************************************************* - -#if defined (__ACE_INLINE__) -#include "tao/Reply_Dispatcher.i" -#endif /* __ACE_INLINE__ */ - -#endif /* TAO_REPLY_DISPATCHER_H */ |