NAME
ACE_DLL_Strategy - Defines the interface for specifying a creation strategy for a SVC_HANDLER based on dynamic linking of the SVC_HANDLER.
SYNOPSIS
#include <ace/ACE_Strategies_T.h>
template<class SVC_HANDLER>
class ACE_DLL_Strategy : public ACE_Creation_Strategy<SVC_HANDLER>
{
public:
ACE_DLL_Strategy (void);
ACE_DLL_Strategy (
const char dll_name[],
const char factory_function[],
const char svc_name[],
ACE_Service_Repository *,
ACE_Thread_Manager * = 0
);
int open (
const char dll_name[],
const char factory_function[],
const char svc_name[],
ACE_Service_Repository *,
ACE_Thread_Manager * = 0
);
virtual int make_svc_handler (SVC_HANDLER *&);
void dump (void) const;
ACE_ALLOC_HOOK_DECLARE;
protected:
typedef ACE_Creation_Strategy<SVC_HANDLER> inherited;
char dll_name_[MAXPATHLEN + 1];
char factory_function_[MAXPATHLEN + 1];
char svc_name_[MAXNAMELEN + 1];
ACE_Service_Repository *svc_rep_;
};
Intialization and termination methods.
ACE_DLL_Strategy (void);
"Do-nothing" constructor.
ACE_DLL_Strategy (
const char dll_name[],
const char factory_function[],
const char 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.
int open (
const char dll_name[],
const char factory_function[],
const char 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.
Factory method.
virtual int make_svc_handler (SVC_HANDLER *&);
Create a SVC_HANDLER by dynamically linking it from a DLL. Returns -1 on failure, else 0.
void dump (void) const;
Dump the state of an object.
ACE_ALLOC_HOOK_DECLARE;
Declare the dynamic allocation hooks.
AUTHOR
Doug Schmidt
LIBRARY
ace