#include <Bind_Dispatcher_Guard.h>
Collaboration diagram for TAO_Bind_Dispatcher_Guard:
Public Types | |
UNBIND = 0 | |
Unbind the dispatcher. | |
NO_UNBIND | |
Do not unbind dispatcher. | |
enum | TAO_Bind_Dispatcher_Status { UNBIND = 0, NO_UNBIND } |
State information. More... | |
Public Member Functions | |
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. | |
TAO_Bind_Dispatcher_Status | status (void) const |
Get status. | |
void | status (TAO_Bind_Dispatcher_Status status) |
Set status. | |
Private Attributes | |
TAO_Bind_Dispatcher_Status | status_ |
CORBA::ULong | request_id_ |
TAO_Reply_Dispatcher * | rd_ |
TAO_Transport_Mux_Strategy * | tms_ |
Definition at line 27 of file Bind_Dispatcher_Guard.h.
State information.
Definition at line 40 of file Bind_Dispatcher_Guard.h.
00041 { 00042 /// Unbind the dispatcher 00043 UNBIND = 0, 00044 /// Do not unbind dispatcher 00045 NO_UNBIND 00046 };
TAO_BEGIN_VERSIONED_NAMESPACE_DECL 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 NO_UNBIND.
00019 : status_(TAO_Bind_Dispatcher_Guard::UNBIND), 00020 request_id_(request_id), 00021 rd_(rd), 00022 tms_(tms) 00023 { 00024 int const retval = 00025 this->tms_->bind_dispatcher (this->request_id_, this->rd_); 00026 00027 if (retval == -1) 00028 this->status_ = TAO_Bind_Dispatcher_Guard::NO_UNBIND; 00029 }
TAO_Bind_Dispatcher_Guard::~TAO_Bind_Dispatcher_Guard | ( | void | ) |
Definition at line 31 of file Bind_Dispatcher_Guard.cpp.
References UNBIND.
00032 { 00033 // We try unbinding. If it works it works, else cant do much about 00034 // it.. 00035 if (this->status_ == TAO_Bind_Dispatcher_Guard::UNBIND) 00036 (void)this->tms_->unbind_dispatcher (this->request_id_); 00037 }
TAO_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE void TAO_Bind_Dispatcher_Guard::status | ( | TAO_Bind_Dispatcher_Status | status | ) |
Set status.
Definition at line 22 of file Bind_Dispatcher_Guard.inl.
References status_.
00023 { 00024 this->status_ = s; 00025 }
ACE_INLINE TAO_Bind_Dispatcher_Guard::TAO_Bind_Dispatcher_Status TAO_Bind_Dispatcher_Guard::status | ( | void | ) | const |
Get status.
Definition at line 28 of file Bind_Dispatcher_Guard.inl.
References status_.
00029 { 00030 return this->status_; 00031 }
ACE_INLINE int TAO_Bind_Dispatcher_Guard::unbind_dispatcher | ( | void | ) |
Returns 0 if succesful and non-zero otherwise.
Definition at line 34 of file Bind_Dispatcher_Guard.inl.
References NO_UNBIND, status_, tms_, and TAO_Transport_Mux_Strategy::unbind_dispatcher().
Referenced by TAO::Synch_Twoway_Invocation::wait_for_reply().
00035 { 00036 int const retval = 00037 this->tms_->unbind_dispatcher (this->request_id_); 00038 00039 // Already unbound and so do not try again during destruction. 00040 this->status_ = 00041 TAO_Bind_Dispatcher_Guard::NO_UNBIND; 00042 00043 return retval; 00044 }
Definition at line 57 of file Bind_Dispatcher_Guard.h.
Definition at line 56 of file Bind_Dispatcher_Guard.h.
Definition at line 55 of file Bind_Dispatcher_Guard.h.
Referenced by status(), and unbind_dispatcher().