ACE_Event_Handler_var Class Reference

Auto pointer like class for Event Handlers. More...

#include <Event_Handler.h>

Collaboration diagram for ACE_Event_Handler_var:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Event_Handler_var (void)
 Default constructor.

 ACE_Event_Handler_var (ACE_Event_Handler *p)
 Construct with a handler.

 ACE_Event_Handler_var (const ACE_Event_Handler_var &b)
 Copy constructor.

 ~ACE_Event_Handler_var (void)
 Destructor.

ACE_Event_Handler_varoperator= (ACE_Event_Handler *p)
 Assignment to a handler.

ACE_Event_Handler_varoperator= (const ACE_Event_Handler_var &b)
 Assignment to a ACE_Event_Handler_var.

ACE_Event_Handleroperator-> () const
 Overloaded "->".

ACE_Event_Handlerhandler (void) const
 Access the handler.

ACE_Event_Handlerrelease (void)
 Release the handler.

void reset (ACE_Event_Handler *p=0)
 Reset the handler.


Private Attributes

ACE_Event_Handlerptr_
 Handler.


Detailed Description

Auto pointer like class for Event Handlers.

Used to manage lifecycle of handlers. This class calls ACE_Event_Handler::remove_reference() in its destructor.

Definition at line 317 of file Event_Handler.h.


Constructor & Destructor Documentation

ACE_Event_Handler_var::ACE_Event_Handler_var void   ) 
 

Default constructor.

Definition at line 306 of file Event_Handler.cpp.

00307   : ptr_ (0)
00308 {
00309 }

ACE_Event_Handler_var::ACE_Event_Handler_var ACE_Event_Handler p  ) 
 

Construct with a handler.

Definition at line 311 of file Event_Handler.cpp.

00312   : ptr_ (p)
00313 {
00314 }

ACE_Event_Handler_var::ACE_Event_Handler_var const ACE_Event_Handler_var b  ) 
 

Copy constructor.

Definition at line 316 of file Event_Handler.cpp.

References ACE_Event_Handler::add_reference().

00317   : ptr_ (b.ptr_)
00318 {
00319   if (this->ptr_ != 0)
00320     {
00321       this->ptr_->add_reference ();
00322     }
00323 }

ACE_Event_Handler_var::~ACE_Event_Handler_var void   ) 
 

Destructor.

Definition at line 325 of file Event_Handler.cpp.

References ACE_Event_Handler::remove_reference().

00326 {
00327   if (this->ptr_ != 0)
00328     {
00329       ACE_Errno_Guard eguard (errno);
00330       this->ptr_->remove_reference ();
00331     }
00332 }


Member Function Documentation

ACE_Event_Handler * ACE_Event_Handler_var::handler void   )  const
 

Access the handler.

Definition at line 362 of file Event_Handler.cpp.

00363 {
00364   return this->ptr_;
00365 }

ACE_Event_Handler * ACE_Event_Handler_var::operator->  )  const
 

Overloaded "->".

Definition at line 356 of file Event_Handler.cpp.

00357 {
00358   return this->ptr_;
00359 }

ACE_Event_Handler_var & ACE_Event_Handler_var::operator= const ACE_Event_Handler_var b  ) 
 

Assignment to a ACE_Event_Handler_var.

Definition at line 347 of file Event_Handler.cpp.

References ptr_.

00348 {
00349   ACE_Event_Handler_var tmp (b);
00350   std::swap (this->ptr_, tmp.ptr_);
00351 
00352   return *this;
00353 }

ACE_Event_Handler_var & ACE_Event_Handler_var::operator= ACE_Event_Handler p  ) 
 

Assignment to a handler.

Definition at line 335 of file Event_Handler.cpp.

References ptr_.

00336 {
00337   if (this->ptr_ != p)
00338     {
00339       ACE_Event_Handler_var tmp (p);
00340       std::swap (this->ptr_, tmp.ptr_);
00341     }
00342 
00343   return *this;
00344 }

ACE_Event_Handler * ACE_Event_Handler_var::release void   ) 
 

Release the handler.

Definition at line 368 of file Event_Handler.cpp.

Referenced by ACE_Select_Reactor_Notify::notify().

00369 {
00370   ACE_Event_Handler * const old = this->ptr_;
00371   this->ptr_ = 0;
00372   return old;
00373 }

void ACE_Event_Handler_var::reset ACE_Event_Handler p = 0  ) 
 

Reset the handler.

Definition at line 376 of file Event_Handler.cpp.

00377 {
00378   *this = p;
00379 }


Member Data Documentation

ACE_Event_Handler* ACE_Event_Handler_var::ptr_ [private]
 

Handler.

Definition at line 355 of file Event_Handler.h.

Referenced by operator=().


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 12:54:39 2008 for ACE by doxygen 1.3.6