Reactor.cpp File Reference

#include "ace/Reactor.h"
#include "ace/Service_Config.h"
#include "ace/Select_Reactor.h"
#include "ace/Static_Object_Lock.h"
#include "ace/Framework_Component.h"
#include "ace/Guard_T.h"
#include "ace/Recursive_Thread_Mutex.h"
Include dependency graph for Reactor.cpp:

Go to the source code of this file.

Functions

 ACE_RCSID (ace, Reactor,"$Id: Reactor.cpp 79689 2007-09-21 09:30:39Z johnnyw $") 1 ACE_Reactor

Function Documentation

ACE_RCSID ( ace  ,
Reactor  ,
"$Id: Reactor.cpp 79689 2007-09-21 09:30:39Z johnnyw $"   
)

Definition at line 54 of file Reactor.cpp.

00056                : Reactor.cpp 79689 2007-09-21 09:30:39Z johnnyw $")
00057 
00058 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
00059 
00060 ACE_ALLOC_HOOK_DEFINE(ACE_Reactor)
00061 
00062 ACE_Reactor::ACE_Reactor (ACE_Reactor_Impl *impl,
00063                           bool delete_implementation)
00064   : implementation_ (0),
00065     delete_implementation_ (delete_implementation)
00066 {
00067   this->implementation (impl);
00068 
00069   if (this->implementation () == 0)
00070     {
00071 /*
00072  * Hook to specialize the reactor implementation with the concrete
00073  * Reactor implementation known at compile time. This hook will
00074  * cause the conditionally defined code to be commented out and
00075  * the concrete Reactor directly created.
00076  */
00077 //@@ REACTOR_SPL_CONSTRUCTOR_COMMENT_HOOK_START
00078 #if !defined (ACE_WIN32) \
00079       || !defined (ACE_HAS_WINSOCK2) || (ACE_HAS_WINSOCK2 == 0) \
00080       || defined (ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL) \
00081       || defined (ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL) \
00082       || defined (ACE_USE_DEV_POLL_REACTOR_FOR_REACTOR_IMPL)
00083 #  if defined (ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL)
00084       ACE_NEW (impl,
00085                ACE_TP_Reactor);
00086 #  else
00087 #    if defined (ACE_USE_DEV_POLL_REACTOR_FOR_REACTOR_IMPL)
00088       ACE_NEW (impl,
00089                ACE_Dev_Poll_Reactor);
00090 #    else
00091       ACE_NEW (impl,
00092                ACE_Select_Reactor);
00093 #    endif /* ACE_USE_DEV_POLL_REACTOR_FOR_REACTOR_IMPL */
00094 #  endif /* ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL */
00095 #else /* We are on Win32 and we have winsock and ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL is not defined */
00096   #if defined (ACE_USE_MSG_WFMO_REACTOR_FOR_REACTOR_IMPL)
00097       ACE_NEW (impl,
00098                ACE_Msg_WFMO_Reactor);
00099   #else
00100       ACE_NEW (impl,
00101                ACE_WFMO_Reactor);
00102   #endif /* ACE_USE_MSG_WFMO_REACTOR_FOR_REACTOR_IMPL */
00103 #endif /* !defined (ACE_WIN32) || !defined (ACE_HAS_WINSOCK2) || (ACE_HAS_WINSOCK2 == 0) || defined (ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL) */
00104 
00105 /*
00106  * End hook.
00107  */
00108 //@@ REACTOR_SPL_CONSTRUCTOR_COMMENT_HOOK_END
00109 
00110       this->implementation (impl);
00111       this->delete_implementation_ = true;
00112     }
00113 }

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Sun Nov 22 23:12:13 2009 for ACE by  doxygen 1.6.1