# ACE_DLL_Strategy< SVC_HANDLER > Class Template Reference

Defines the interface for specifying a creation strategy for a SVC_HANDLER based on dynamic linking of the SVC_HANDLER. More...

`#include <Strategies_T.h>`

Inheritance diagram for ACE_DLL_Strategy< SVC_HANDLER >:

[legend]
Collaboration diagram for ACE_DLL_Strategy< SVC_HANDLER >:

[legend]
List of all members.

## Public Types

typedef ACE_Creation_Strategy< SVC_HANDLER > | base_type

## Public Member Functions

| ACE_DLL_Strategy (void)
| "Do-nothing" constructor.
| ACE_DLL_Strategy (const ACE_TCHAR dll_name[], const ACE_TCHAR factory_function[], const ACE_TCHAR svc_name[], ACE_Service_Repository *, ACE_Thread_Manager *=0)
int | open (const ACE_TCHAR dll_name[], const ACE_TCHAR factory_function[], const ACE_TCHAR svc_name[], ACE_Service_Repository *, ACE_Thread_Manager *=0)
virtual int | make_svc_handler (SVC_HANDLER *&)
void | dump (void) const
| Dump the state of an object.

## Public Attributes

| ACE_ALLOC_HOOK_DECLARE
| Declare the dynamic allocation hooks.

## Protected Types

typedef ACE_Creation_Strategy< SVC_HANDLER > | inherited

## Protected Attributes

ACE_TCHAR | dll_name_ [MAXPATHLEN+1]
| Name of the DLL to dynamically link.
ACE_TCHAR | factory_function_ [MAXPATHLEN+1]
ACE_TCHAR | svc_name_ [MAXNAMELEN+1]
| Name of the service.
ACE_Service_Repository * | svc_rep_
| Pointer to the <service_repository>.

## Detailed Description

### template<class SVC_HANDLER>
class ACE_DLL_Strategy< SVC_HANDLER >

Defines the interface for specifying a creation strategy for a SVC_HANDLER based on dynamic linking of the SVC_HANDLER.

## Member Typedef Documentation

template<class SVC_HANDLER>
typedef ACE_Creation_Strategy<SVC_HANDLER> ACE_DLL_Strategy< SVC_HANDLER >::base_type

template<class SVC_HANDLER>
typedef ACE_Creation_Strategy<SVC_HANDLER> ACE_DLL_Strategy< SVC_HANDLER >::inherited`[protected]`

## Constructor & Destructor Documentation

template<class SVC_HANDLER>
ACE_INLINE ACE_DLL_Strategy< SVC_HANDLER >::ACE_DLL_Strategy | ( | void |  | ) |

| "Do-nothing" constructor.

template<class SVC_HANDLER>
ACE_INLINE ACE_DLL_Strategy< SVC_HANDLER >::ACE_DLL_Strategy | ( | const ACE_TCHAR | dll_name[],
|  | const ACE_TCHAR | factory_function[],
|  | const ACE_TCHAR | svc_name[],
|  | ACE_Service_Repository * | ,
|  | ACE_Thread_Manager * | = `0`
| ) |

| Initialize the DLL strategy based upon the service's DLL information contained in the <svc_dll_info> string.

## Member Function Documentation

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

| Dump the state of an object. Reimplemented from ACE_Creation_Strategy< SVC_HANDLER >.

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

| Create a SVC_HANDLER by dynamically linking it from a DLL. Returns -1 on failure, else 0. Reimplemented from ACE_Creation_Strategy< SVC_HANDLER >.

template<class SVC_HANDLER>
int ACE_DLL_Strategy< SVC_HANDLER >::open | ( | const ACE_TCHAR | dll_name[],
|  | const ACE_TCHAR | factory_function[],
|  | const ACE_TCHAR | svc_name[],
|  | ACE_Service_Repository * | ,
|  | ACE_Thread_Manager * | = `0`
| ) |

| Initialize the DLL strategy based upon the service's DLL information contained in the <svc_dll_info> string.

## Member Data Documentation

template<class SVC_HANDLER>
ACE_DLL_Strategy< SVC_HANDLER >::ACE_ALLOC_HOOK_DECLARE

| Declare the dynamic allocation hooks. Reimplemented from ACE_Creation_Strategy< SVC_HANDLER >.

template<class SVC_HANDLER>
ACE_TCHAR ACE_DLL_Strategy< SVC_HANDLER >::dll_name_[MAXPATHLEN+1]`[protected]`

| Name of the DLL to dynamically link.

template<class SVC_HANDLER>
ACE_TCHAR ACE_DLL_Strategy< SVC_HANDLER >::factory_function_[MAXPATHLEN+1]`[protected]`

| Name of the factory function in the shared library to use to obtain a pointer to the new SVC_HANDLER.

template<class SVC_HANDLER>
ACE_TCHAR ACE_DLL_Strategy< SVC_HANDLER >::svc_name_[MAXNAMELEN+1]`[protected]`

| Name of the service.

template<class SVC_HANDLER>
ACE_Service_Repository* ACE_DLL_Strategy< SVC_HANDLER >::svc_rep_`[protected]`

| Pointer to the <service_repository>.

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

- Strategies_T.h
- Strategies_T.cpp
- Strategies_T.inl