ACE  6.2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Public Attributes | Protected Attributes | List of all members
ACE_Creation_Strategy< SVC_HANDLER > 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< SVC_HANDLER >:
Inheritance graph
[legend]
Collaboration diagram for ACE_Creation_Strategy< SVC_HANDLER >:
Collaboration graph
[legend]

Public Types

typedef SVC_HANDLER::addr_type addr_type
 
typedef SVC_HANDLER handler_type
 
typedef SVC_HANDLER::stream_type stream_type
 

Public Member Functions

 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())
 
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_Managerthr_mgr_
 Pointer to a thread manager. More...
 
ACE_Reactorreactor_
 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.).

Member Typedef Documentation

template<class SVC_HANDLER >
typedef SVC_HANDLER::addr_type ACE_Creation_Strategy< SVC_HANDLER >::addr_type
template<class SVC_HANDLER >
typedef SVC_HANDLER ACE_Creation_Strategy< SVC_HANDLER >::handler_type
template<class SVC_HANDLER >
typedef SVC_HANDLER::stream_type ACE_Creation_Strategy< SVC_HANDLER >::stream_type

Constructor & Destructor Documentation

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

Default constructor.

template<class SVC_HANDLER >
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.

template<class SVC_HANDLER >
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_NOOP_Creation_Strategy< SVC_HANDLER >, ACE_DLL_Strategy< SVC_HANDLER >, and ACE_Singleton_Strategy< SVC_HANDLER >.

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

An ACE_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< SVC_HANDLER >::ACE_ALLOC_HOOK_DECLARE

Declare the dynamic allocation hooks.

template<class SVC_HANDLER >
ACE_Reactor* ACE_Creation_Strategy< SVC_HANDLER >::reactor_
protected

Pointer to an ACE_Reactor.

template<class SVC_HANDLER >
ACE_Thread_Manager* ACE_Creation_Strategy< SVC_HANDLER >::thr_mgr_
protected

Pointer to a thread manager.


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