Public Types | Public Member Functions | Private Attributes

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  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_Transport_Mux_Strategytms_

Detailed Description

Definition at line 27 of file Bind_Dispatcher_Guard.h.


Member Enumeration Documentation

State information.

Enumerator:
UNBIND 

Unbind the dispatcher.

NO_UNBIND 

Do not unbind dispatcher.

Definition at line 40 of file Bind_Dispatcher_Guard.h.

    {
      /// Unbind the dispatcher
      UNBIND = 0,
      /// Do not unbind dispatcher
      NO_UNBIND
    };


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.

  : status_(TAO_Bind_Dispatcher_Guard::UNBIND),
    request_id_(request_id),
    tms_(tms)
{
  int const retval =
    this->tms_->bind_dispatcher (this->request_id_, rd);

  if (retval == -1)
    this->status_ = TAO_Bind_Dispatcher_Guard::NO_UNBIND;
}

TAO_Bind_Dispatcher_Guard::~TAO_Bind_Dispatcher_Guard ( void   ) 

Definition at line 30 of file Bind_Dispatcher_Guard.cpp.

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


Member Function Documentation

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.

{
  return this->status_;
}

void TAO_Bind_Dispatcher_Guard::status ( TAO_Bind_Dispatcher_Status  status  ) 

Set status.

Definition at line 22 of file Bind_Dispatcher_Guard.inl.

{
  this->status_ = s;
}

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.

{
  int const retval =
    this->tms_->unbind_dispatcher (this->request_id_);

  // Already unbound and so do not try again during destruction.
  this->status_ =
    TAO_Bind_Dispatcher_Guard::NO_UNBIND;

  return retval;
}


Member Data Documentation

Definition at line 56 of file Bind_Dispatcher_Guard.h.

Definition at line 55 of file Bind_Dispatcher_Guard.h.

Definition at line 57 of file Bind_Dispatcher_Guard.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines