ACE_Service_Object_Type Class Reference

Define the methods for handling the configuration of ACE_Service_Objects. More...

#include <Service_Types.h>

Inheritance diagram for ACE_Service_Object_Type:

Inheritance graph
[legend]
Collaboration diagram for ACE_Service_Object_Type:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Service_Object_Type (void *so, const ACE_TCHAR *name, u_int flags=0, ACE_Service_Object_Exterminator gobbler=0)
 ~ACE_Service_Object_Type (void)
virtual int suspend (void) const
virtual int resume (void) const
virtual int init (int argc, ACE_TCHAR *argv[]) const
virtual int fini (void) const
virtual int info (ACE_TCHAR **str, size_t len) const

Private Attributes

int initialized_
 Holds the initialization status (result of object->init()).

Detailed Description

Define the methods for handling the configuration of ACE_Service_Objects.

Definition at line 92 of file Service_Types.h.


Constructor & Destructor Documentation

ACE_Service_Object_Type::ACE_Service_Object_Type ( void *  so,
const ACE_TCHAR name,
u_int  flags = 0,
ACE_Service_Object_Exterminator  gobbler = 0 
)

Definition at line 82 of file Service_Types.cpp.

References ACE_TRACE.

00086   : ACE_Service_Type_Impl (so, s_name, f, gobbler)
00087   , initialized_ (-1)
00088 {
00089   ACE_TRACE ("ACE_Service_Object_Type::ACE_Service_Object_Type");
00090 }

ACE_Service_Object_Type::~ACE_Service_Object_Type ( void   ) 

Definition at line 129 of file Service_Types.cpp.

References ACE_TRACE.

00130 {
00131   ACE_TRACE ("ACE_Service_Object_Type::~ACE_Service_Object_Type");
00132 }


Member Function Documentation

int ACE_Service_Object_Type::fini ( void   )  const [virtual]

Reimplemented from ACE_Service_Type_Impl.

Definition at line 111 of file Service_Types.cpp.

References ACE_TRACE, ACE_Service_Type_Impl::fini(), ACE_Shared_Object::fini(), and ACE_Service_Type_Impl::object().

00112 {
00113   ACE_TRACE ("ACE_Service_Object_Type::fini");
00114 
00115   void * const obj = this->object ();
00116 
00117   ACE_Service_Object * const so =
00118     static_cast<ACE_Service_Object *> (obj);
00119 
00120   // Call fini() if an only if, the object was successfuly
00121   // initialized, i.e. init() returned 0. This is necessary to
00122   // maintain the ctor/dtor-like semantics for init/fini.
00123   if (so != 0 && this->initialized_ == 0)
00124       so->fini ();
00125 
00126   return ACE_Service_Type_Impl::fini ();
00127 }

int ACE_Service_Object_Type::info ( ACE_TCHAR **  str,
size_t  len 
) const [virtual]

Implements ACE_Service_Type_Impl.

Definition at line 149 of file Service_Types.cpp.

References ACE_TRACE, and ACE_Service_Type_Impl::object().

00150 {
00151   ACE_TRACE ("ACE_Service_Object_Type::info");
00152   return static_cast<ACE_Service_Object *> (this->object ())->info (str, len);
00153 }

int ACE_Service_Object_Type::init ( int  argc,
ACE_TCHAR argv[] 
) const [virtual]

Implements ACE_Service_Type_Impl.

Definition at line 93 of file Service_Types.cpp.

References ACE_TRACE, ACE_Shared_Object::init(), initialized_, and ACE_Service_Type_Impl::object().

00094 {
00095   ACE_TRACE ("ACE_Service_Object_Type::init");
00096 
00097   void * const obj = this->object ();
00098 
00099   ACE_Service_Object * const so =
00100     static_cast<ACE_Service_Object *> (obj);
00101 
00102   if (so == 0)
00103     return -1;
00104 
00105   this->initialized_ = so->init (argc, argv);
00106 
00107   return this->initialized_;
00108 }

int ACE_Service_Object_Type::resume ( void   )  const [virtual]

Implements ACE_Service_Type_Impl.

Definition at line 142 of file Service_Types.cpp.

References ACE_TRACE, and ACE_Service_Type_Impl::object().

00143 {
00144   ACE_TRACE ("ACE_Service_Object_Type::resume");
00145   return static_cast<ACE_Service_Object *> (this->object ())->resume ();
00146 }

int ACE_Service_Object_Type::suspend ( void   )  const [virtual]

Implements ACE_Service_Type_Impl.

Definition at line 135 of file Service_Types.cpp.

References ACE_TRACE, and ACE_Service_Type_Impl::object().

00136 {
00137   ACE_TRACE ("ACE_Service_Object_Type::suspend");
00138   return static_cast<ACE_Service_Object *> (this->object ())->suspend ();
00139 }


Member Data Documentation

int ACE_Service_Object_Type::initialized_ [mutable, private]

Holds the initialization status (result of object->init()).

Definition at line 112 of file Service_Types.h.

Referenced by init().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:35:35 2010 for ACE by  doxygen 1.4.7