# ACE_Service_Type Class Reference

Keeps track of information related to the various ACE_Service_Type_Impl subclasses. More...

`#include <Service_Object.h>`

Collaboration diagram for ACE_Service_Type:

[legend]
List of all members.

## Public Types

enum | { DELETE_OBJ = 1, DELETE_THIS = 2 }
enum | { SERVICE_OBJECT = ACE_SVC_OBJ_T, MODULE = ACE_MODULE_T, STREAM = ACE_STREAM_T, INVALID_TYPE = -1 }

## Public Member Functions

| ACE_Service_Type (const ACE_TCHAR *n, ACE_Service_Type_Impl *o, const ACE_DLL &dll, int active)
| ACE_Service_Type (const ACE_TCHAR *n, ACE_Service_Type_Impl *o, ACE_SHLIB_HANDLE handle, int active)
| ~ACE_Service_Type (void)
const ACE_TCHAR * | name (void) const
void | name (const ACE_TCHAR *)
const ACE_Service_Type_Impl * | type (void) const
void | type (const ACE_Service_Type_Impl *, int active=1)
int | suspend (void) const
int | resume (void) const
int | active (void) const
void | active (int)
int | fini (void)
| Calls <fini> on <type_>.
int | fini_called (void) const
| Check if the service has been fini'ed.
void | dump (void) const
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Private Attributes

const ACE_TCHAR * | name_
| Humanly readible name of svc.
const ACE_Service_Type_Impl * | type_
| Pointer to C++ object that implements the svc.
ACE_DLL | dll_
| ACE_DLL representing the shared object file (non-zero if dynamically linked).
int | active_
| 1 if svc is currently active, otherwise 0.
int | fini_already_called_
| 1 if <fini> on <type_> has already been called, otherwise 0.

## Detailed Description

Keeps track of information related to the various ACE_Service_Type_Impl subclasses.

This class acts as the interface of the "Bridge" pattern.

## Member Enumeration Documentation

anonymous enum

Enumeration values:

  DELETE_OBJ | Delete the payload object.
  DELETE_THIS | Delete the enclosing object.

anonymous enum

Enumeration values:

  SERVICE_OBJECT |
  MODULE |
  STREAM |
  INVALID_TYPE |

## Constructor & Destructor Documentation

ACE_Service_Type::ACE_Service_Type | ( | const ACE_TCHAR * | n,
|  | ACE_Service_Type_Impl * | o,
|  | const ACE_DLL & | dll,
|  | int | active
| ) |

ACE_Service_Type::ACE_Service_Type | ( | const ACE_TCHAR * | n,
|  | ACE_Service_Type_Impl * | o,
|  | ACE_SHLIB_HANDLE | handle,
|  | int | active
| ) |

ACE_Service_Type::~ACE_Service_Type | ( | void |  | ) |

## Member Function Documentation

ACE_INLINE void ACE_Service_Type::active | ( | int |  | ) |

ACE_INLINE int ACE_Service_Type::active | ( | void |  | ) | const

ACE_BEGIN_VERSIONED_NAMESPACE_DECL void ACE_Service_Type::dump | ( | void |  | ) | const

| Dump the state of an object.

int ACE_Service_Type::fini | ( | void |  | ) |

| Calls <fini> on <type_>.

ACE_INLINE int ACE_Service_Type::fini_called | ( | void |  | ) | const

| Check if the service has been fini'ed.

void ACE_Service_Type::name | ( | const ACE_TCHAR * |  | ) |

ACE_INLINE const ACE_TCHAR * ACE_Service_Type::name | ( | void |  | ) | const

int ACE_Service_Type::resume | ( | void |  | ) | const

int ACE_Service_Type::suspend | ( | void |  | ) | const

ACE_INLINE void ACE_Service_Type::type | ( | const ACE_Service_Type_Impl * | ,
|  | int | active = `1`
| ) |

ACE_INLINE const ACE_Service_Type_Impl * ACE_Service_Type::type | ( | void |  | ) | const

## Member Data Documentation

ACE_Service_Type::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks.

int ACE_Service_Type::active_ `[private]`

| 1 if svc is currently active, otherwise 0.

ACE_DLL ACE_Service_Type::dll_ `[mutable, private]`

| ACE_DLL representing the shared object file (non-zero if dynamically linked).

int ACE_Service_Type::fini_already_called_ `[private]`

| 1 if <fini> on <type_> has already been called, otherwise 0.

const ACE_TCHAR* ACE_Service_Type::name_ `[private]`

| Humanly readible name of svc.

const ACE_Service_Type_Impl* ACE_Service_Type::type_ `[private]`

| Pointer to C++ object that implements the svc.

The documentation for this class was generated from the following files:

- Service_Object.h
- Service_Object.cpp
- Service_Object.inl