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

ACE_Service_Object_Ptr Class Reference

This is a smart pointer that holds onto the associated <ACE_Service_Object> * until the current scope is left, at which point the object's <fini> hook is called and the service_object_ gets deleted. More...

#include <Service_Object.h>

Collaboration diagram for ACE_Service_Object_Ptr:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Service_Object_Ptr (ACE_Service_Object *so)
 Acquire ownership of the <so>. More...

 ~ACE_Service_Object_Ptr (void)
 Release the held <ACE_Service_Object> by calling its <fini> hook. More...

ACE_Service_Objectoperator-> ()
 Smart pointer to access the underlying <ACE_Service_Object>. More...


Private Attributes

ACE_Service_Objectservice_object_
 Holds the service object until we're done. More...


Detailed Description

This is a smart pointer that holds onto the associated <ACE_Service_Object> * until the current scope is left, at which point the object's <fini> hook is called and the service_object_ gets deleted.

This class is similar to the Standard C++ Library class <auto_ptr>. It is used in conjunction with statically linked <ACE_Service_Objects>, as shown in the ./netsvcs/server/main.cpp example.

Definition at line 149 of file Service_Object.h.


Constructor & Destructor Documentation

ACE_INLINE ACE_Service_Object_Ptr::ACE_Service_Object_Ptr ACE_Service_Object   so
 

Acquire ownership of the <so>.

Definition at line 6 of file Service_Object.i.

References ACE_INLINE.

00007   : service_object_ (so)
00008 {
00009 }

ACE_INLINE ACE_Service_Object_Ptr::~ACE_Service_Object_Ptr void   
 

Release the held <ACE_Service_Object> by calling its <fini> hook.

Definition at line 11 of file Service_Object.i.

References ACE_INLINE, ACE_Shared_Object::fini, and service_object_.

00012 {
00013   this->service_object_->fini ();
00014   delete this->service_object_;
00015 }


Member Function Documentation

ACE_INLINE ACE_Service_Object * ACE_Service_Object_Ptr::operator->  
 

Smart pointer to access the underlying <ACE_Service_Object>.

Definition at line 18 of file Service_Object.i.

References service_object_.

00019 {
00020   return this->service_object_;
00021 }


Member Data Documentation

ACE_Service_Object* ACE_Service_Object_Ptr::service_object_ [private]
 

Holds the service object until we're done.

Definition at line 164 of file Service_Object.h.

Referenced by operator->, and ~ACE_Service_Object_Ptr.


The documentation for this class was generated from the following files:
Generated on Mon Jun 16 12:55:58 2003 for ACE by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002