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

# ACE_Creation_Strategy Class Template Reference

Defines the interface for specifying a creation strategy for a SVC_HANDLER. More...

`#include <Strategies_T.h>`

Inheritance diagram for ACE_Creation_Strategy:

[legend]
Collaboration diagram for ACE_Creation_Strategy:

[legend]
List of all members.

## Public Methods
| ACE_Creation_Strategy (ACE_Thread_Manager *=0, ACE_Reactor *=ACE_Reactor::instance())
| Default constructor. More...
int | open (ACE_Thread_Manager *=0, ACE_Reactor *=ACE_Reactor::instance())
| A <Thread_Manager> is useful when creating active objects and the <ACE_Reactor> is used to initialize the service handler's reactor. More...
virtual | ~ACE_Creation_Strategy (void)
virtual int | make_svc_handler (SVC_HANDLER *&sh)
void | dump (void) const
| Dump the state of an object. More...
## Public Attributes
| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks. More...
## Protected Attributes
ACE_Thread_Manager * | thr_mgr_
| Pointer to a thread manager. More...
ACE_Reactor * | reactor_
| Pointer to an ACE_Reactor. More...

## Detailed Description

### template<class SVC_HANDLER>
class ACE_Creation_Strategy< SVC_HANDLER >

Defines the interface for specifying a creation strategy for a SVC_HANDLER.

The default behavior is to make a new SVC_HANDLER. However, subclasses can override this strategy to perform SVC_HANDLER creation in any way that they like (such as creating subclass instances of SVC_HANDLER, using a singleton, dynamically linking the handler, etc.).

## Constructor & Destructor Documentation

template<class SVC_HANDLER>
ASYS_INLINE ACE_Creation_Strategy< SVC_HANDLER >::ACE_Creation_Strategy | ( | ACE_Thread_Manager * | thr_mgr = 0,
|  | ACE_Reactor * | reactor = ACE_Reactor::instance ()
| ) |

| Default constructor.

template<class SVC_HANDLER>
ASYS_INLINE ACE_Creation_Strategy< SVC_HANDLER >::~ACE_Creation_Strategy | ( | void |  | ) | `[virtual]`

## Member Function Documentation

template<class SVC_HANDLER>
void ACE_Creation_Strategy< SVC_HANDLER >::dump | ( | void |  | ) | const

| Dump the state of an object. Reimplemented in ACE_Singleton_Strategy, and ACE_DLL_Strategy.

template<class SVC_HANDLER>
ASYS_INLINE int ACE_Creation_Strategy< SVC_HANDLER >::make_svc_handler | ( | SVC_HANDLER *& | sh | ) | `[virtual]`

| Create a SVC_HANDLER with the appropriate creation strategy. The default behavior of this method is to make a new <SVC_HANDLER> if <sh> == 0 (passing in the <Thread_Manager>), else <sh> is unchanged. Returns -1 on failure, else 0. Reimplemented in ACE_Singleton_Strategy, ACE_DLL_Strategy, and ACE_NOOP_Creation_Strategy.

template<class SVC_HANDLER>
ASYS_INLINE int ACE_Creation_Strategy< SVC_HANDLER >::open | ( | ACE_Thread_Manager * | thr_mgr = 0,
|  | ACE_Reactor * | reactor = ACE_Reactor::instance ()
| ) |

| A <Thread_Manager> is useful when creating active objects and the <ACE_Reactor> is used to initialize the service handler's reactor.

## Member Data Documentation

template<class SVC_HANDLER>
ACE_Creation_Strategy::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks. Reimplemented in ACE_Singleton_Strategy, and ACE_DLL_Strategy.

template<class SVC_HANDLER>
ACE_Reactor* ACE_Creation_Strategy::reactor_`[protected]`

| Pointer to an ACE_Reactor.

template<class SVC_HANDLER>
ACE_Thread_Manager* ACE_Creation_Strategy::thr_mgr_`[protected]`

| Pointer to a thread manager.

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

- Strategies_T.h
- Strategies_T.cpp
- Strategies_T.i