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

ACE_Service_Type_Impl Class Reference

The abstract base class of the hierarchy that defines the contents of the ACE_Service_Repository. The subclasses of this class allow the configuration of ACE_Service_Objects, ACE_Modules, and ACE_Streams. More...

#include <Service_Types.h>

Inheritance diagram for ACE_Service_Type_Impl:

Inheritance graph
[legend]
List of all members.

Public Methods

 ACE_Service_Type_Impl (void *object, const ACE_TCHAR *s_name, u_int flags=0, ACE_Service_Object_Exterminator gobbler=0)
virtual ~ACE_Service_Type_Impl (void)
virtual int suspend (void) const=0
virtual int resume (void) const=0
virtual int init (int argc, ACE_TCHAR *argv[]) const=0
virtual int fini (void) const
virtual int info (ACE_TCHAR **str, size_t len) const=0
void * object (void) const
 The pointer to the service.

const ACE_TCHAR * name (void) const
 Get the name of the service.

void name (const ACE_TCHAR *)
 Set the name of the service.

void dump (void) const
 Dump the state of an object.


Public Attributes

 ACE_ALLOC_HOOK_DECLARE
 Declare the dynamic allocation hooks.


Protected Attributes

const ACE_TCHAR * name_
 Name of the service.

void * obj_
ACE_Service_Object_Exterminator gobbler_
 Destroy function to deallocate obj_.

u_int flags_
 Flags that control serivce behavior (particularly deletion).


Detailed Description

The abstract base class of the hierarchy that defines the contents of the ACE_Service_Repository. The subclasses of this class allow the configuration of ACE_Service_Objects, ACE_Modules, and ACE_Streams.

This class provides the root of the implementation hierarchy of the "Bridge" pattern. It maintains a pointer to the appropriate type of service implementation, i.e., ACE_Service_Object, ACE_Module, or ACE_Stream.


Constructor & Destructor Documentation

ACE_Service_Type_Impl::ACE_Service_Type_Impl (  void *    object,
const ACE_TCHAR *    s_name,
u_int    flags = 0,
ACE_Service_Object_Exterminator    gobbler = 0
) 
 

ACE_Service_Type_Impl::~ACE_Service_Type_Impl (  void    )  [virtual]
 


Member Function Documentation

void ACE_Service_Type_Impl::dump (  void    )  const
 

Dump the state of an object.

Reimplemented in ACE_Module_Type, and ACE_Stream_Type.

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

Reimplemented in ACE_Service_Object_Type, ACE_Module_Type, and ACE_Stream_Type.

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

Implemented in ACE_Service_Object_Type, ACE_Module_Type, and ACE_Stream_Type.

virtual int ACE_Service_Type_Impl::init (  int    argc,
ACE_TCHAR *    argv[]
)  const [pure virtual]
 

Implemented in ACE_Service_Object_Type, ACE_Module_Type, and ACE_Stream_Type.

ACE_INLINE void ACE_Service_Type_Impl::name (  const ACE_TCHAR *    ) 
 

Set the name of the service.

ACE_INLINE const ACE_TCHAR * ACE_Service_Type_Impl::name (  void    )  const
 

Get the name of the service.

ACE_INLINE void * ACE_Service_Type_Impl::object (  void    )  const
 

The pointer to the service.

virtual int ACE_Service_Type_Impl::resume (  void    )  const [pure virtual]
 

Implemented in ACE_Service_Object_Type, ACE_Module_Type, and ACE_Stream_Type.

virtual int ACE_Service_Type_Impl::suspend (  void    )  const [pure virtual]
 

Implemented in ACE_Service_Object_Type, ACE_Module_Type, and ACE_Stream_Type.


Member Data Documentation

ACE_Service_Type_Impl::ACE_ALLOC_HOOK_DECLARE
 

Declare the dynamic allocation hooks.

Reimplemented in ACE_Module_Type, and ACE_Stream_Type.

u_int ACE_Service_Type_Impl::flags_ [protected]
 

Flags that control serivce behavior (particularly deletion).

ACE_Service_Object_Exterminator ACE_Service_Type_Impl::gobbler_ [protected]
 

Destroy function to deallocate obj_.

const ACE_TCHAR* ACE_Service_Type_Impl::name_ [protected]
 

Name of the service.

void* ACE_Service_Type_Impl::obj_ [protected]
 

Pointer to object that implements the service. This actually points to an ACE_Service_Object, ACE_Module, or ACE_Stream.


The documentation for this class was generated from the following files:
Generated on Fri Apr 2 16:53:24 2004 for ACE by doxygen1.2.18