Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

TAO_Bind_Dispatcher_Guard Class Reference

#include <Bind_Dispatcher_Guard.h>

Collaboration diagram for TAO_Bind_Dispatcher_Guard:

Collaboration graph
[legend]
List of all members.

Public Types

enum  { UNBIND = 0, NO_UNBIND }
 State information. More...


Public Methods

 TAO_Bind_Dispatcher_Guard (CORBA::ULong request_id, TAO_Reply_Dispatcher *rd, TAO_Transport_Mux_Strategy *tms)
 ~TAO_Bind_Dispatcher_Guard (void)
int unbind_dispatcher (void)
 Returns 0 if succesful and non-zero otherwise. More...

int status (void) const
 Set and get status. More...

void status (int status)

Private Attributes

int status_
CORBA::ULong request_id_
TAO_Reply_Dispatcherrd_
TAO_Transport_Mux_Strategytms_

Member Enumeration Documentation

anonymous enum
 

State information.

Enumeration values:
UNBIND  Unbind the dispatcher.
NO_UNBIND  Do not unbind dispatcher.

Definition at line 37 of file Bind_Dispatcher_Guard.h.

00038     {
00039       /// Unbind the dispatcher
00040       UNBIND = 0,
00041       /// Do not unbind dispatcher
00042       NO_UNBIND
00043     };


Constructor & Destructor Documentation

TAO_Bind_Dispatcher_Guard::TAO_Bind_Dispatcher_Guard CORBA::ULong    request_id,
TAO_Reply_Dispatcher   rd,
TAO_Transport_Mux_Strategy   tms
 

Definition at line 16 of file Bind_Dispatcher_Guard.cpp.

References TAO_Transport_Mux_Strategy::bind_dispatcher, NO_UNBIND, status_, and tms_.

00020  : status_(TAO_Bind_Dispatcher_Guard::UNBIND),
00021    request_id_(request_id),
00022    rd_(rd),
00023    tms_(tms)
00024 {
00025   int retval =
00026     this->tms_->bind_dispatcher (this->request_id_,
00027                                  this->rd_);
00028 
00029   if (retval == -1 )
00030     this->status_ =
00031       TAO_Bind_Dispatcher_Guard::NO_UNBIND;
00032 }

TAO_Bind_Dispatcher_Guard::~TAO_Bind_Dispatcher_Guard void   
 

Definition at line 34 of file Bind_Dispatcher_Guard.cpp.

References status_, tms_, UNBIND, and TAO_Transport_Mux_Strategy::unbind_dispatcher.

00035 {
00036   // We try unbinding. If it works it works, else cant do much about
00037   // it..
00038   if (this->status_ == TAO_Bind_Dispatcher_Guard::UNBIND)
00039     (void) this->tms_->unbind_dispatcher (this->request_id_);
00040 }


Member Function Documentation

ACE_INLINE void TAO_Bind_Dispatcher_Guard::status int    status
 

Definition at line 20 of file Bind_Dispatcher_Guard.i.

References status_.

00021 {
00022   this->status_ = s;
00023 }

ACE_INLINE int TAO_Bind_Dispatcher_Guard::status void    const
 

Set and get status.

Definition at line 26 of file Bind_Dispatcher_Guard.i.

References status_.

Referenced by TAO_GIOP_Synch_Invocation::invoke_i.

00027 {
00028   return this->status_;
00029 }

ACE_INLINE int TAO_Bind_Dispatcher_Guard::unbind_dispatcher void   
 

Returns 0 if succesful and non-zero otherwise.

Definition at line 32 of file Bind_Dispatcher_Guard.i.

References NO_UNBIND, status_, tms_, and TAO_Transport_Mux_Strategy::unbind_dispatcher.

Referenced by TAO_GIOP_Synch_Invocation::invoke_i.

00033 {
00034   int retval =
00035     this->tms_->unbind_dispatcher (this->request_id_);
00036 
00037   // Already unbound and so do not try again during destruction.
00038   this->status_ =
00039     TAO_Bind_Dispatcher_Guard::NO_UNBIND;
00040 
00041   return retval;
00042 }


Member Data Documentation

TAO_Reply_Dispatcher* TAO_Bind_Dispatcher_Guard::rd_ [private]
 

Definition at line 52 of file Bind_Dispatcher_Guard.h.

CORBA::ULong TAO_Bind_Dispatcher_Guard::request_id_ [private]
 

Definition at line 51 of file Bind_Dispatcher_Guard.h.

int TAO_Bind_Dispatcher_Guard::status_ [private]
 

Definition at line 50 of file Bind_Dispatcher_Guard.h.

Referenced by status, TAO_Bind_Dispatcher_Guard, unbind_dispatcher, and ~TAO_Bind_Dispatcher_Guard.

TAO_Transport_Mux_Strategy* TAO_Bind_Dispatcher_Guard::tms_ [private]
 

Definition at line 53 of file Bind_Dispatcher_Guard.h.

Referenced by TAO_Bind_Dispatcher_Guard, unbind_dispatcher, and ~TAO_Bind_Dispatcher_Guard.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 15:04:21 2003 for TAO by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002