ACE_Log_Msg_Manager Class Reference

Synchronize output operations. More...

Collaboration diagram for ACE_Log_Msg_Manager:

Collaboration graph
[legend]
List of all members.

Static Public Member Functions

int init_backend (const u_long *flags=0)

Static Public Attributes

ACE_Log_Msg_Backendlog_backend_ = 0
ACE_Log_Msg_Backendcustom_backend_ = 0
u_long log_backend_flags_ = 0

Detailed Description

Synchronize output operations.

Provides global point of contact for all ACE_Log_Msg instances in a process.

For internal use by ACE, only!

Definition at line 106 of file Log_Msg.cpp.


Member Function Documentation

int ACE_Log_Msg_Manager::init_backend const u_long *  flags = 0  )  [static]
 

Definition at line 131 of file Log_Msg.cpp.

References ACE_BIT_DISABLED, ACE_BIT_ENABLED, ACE_LOG_MSG_SYSLOG_BACKEND, ACE_NEW_RETURN, ACE_NO_HEAP_CHECK, custom_backend_, log_backend_, and log_backend_flags_.

Referenced by ACE_Log_Msg::instance().

00132 {
00133   // If flags have been supplied, and they are different from the flags
00134   // we had last time, then we may have to re-create the backend as a
00135   // different type.
00136   if (flags)
00137     {
00138       // Sanity check for custom backend.
00139       if (ACE_BIT_ENABLED (*flags, ACE_Log_Msg::CUSTOM) &&
00140           ACE_Log_Msg_Manager::custom_backend_ == 0)
00141         {
00142           return -1;
00143         }
00144 
00145       if ((ACE_BIT_ENABLED (*flags, ACE_Log_Msg::SYSLOG)
00146             && ACE_BIT_DISABLED (ACE_Log_Msg_Manager::log_backend_flags_, ACE_Log_Msg::SYSLOG))
00147           || (ACE_BIT_DISABLED (*flags, ACE_Log_Msg::SYSLOG)
00148             && ACE_BIT_ENABLED (ACE_Log_Msg_Manager::log_backend_flags_, ACE_Log_Msg::SYSLOG)))
00149         {
00150           delete ACE_Log_Msg_Manager::log_backend_;
00151           ACE_Log_Msg_Manager::log_backend_ = 0;
00152         }
00153 
00154       ACE_Log_Msg_Manager::log_backend_flags_ = *flags;
00155     }
00156 
00157   if (ACE_Log_Msg_Manager::log_backend_ == 0)
00158     {
00159       ACE_NO_HEAP_CHECK;
00160 
00161 #if (defined (WIN32) || !defined (ACE_LACKS_UNIX_SYSLOG)) && !defined (ACE_HAS_WINCE) && !defined (ACE_HAS_PHARLAP)
00162       // Allocate the ACE_Log_Msg_Backend instance.
00163       if (ACE_BIT_ENABLED (ACE_Log_Msg_Manager::log_backend_flags_, ACE_Log_Msg::SYSLOG))
00164         ACE_NEW_RETURN (ACE_Log_Msg_Manager::log_backend_,
00165                         ACE_LOG_MSG_SYSLOG_BACKEND,
00166                         -1);
00167       else
00168 #endif /* defined (WIN32) && !defined (ACE_HAS_WINCE) && !defined (ACE_HAS_PHARLAP) */
00169         ACE_NEW_RETURN (ACE_Log_Msg_Manager::log_backend_,
00170                         ACE_Log_Msg_IPC,
00171                         -1);
00172     }
00173 
00174   return 0;
00175 }


Member Data Documentation

ACE_Log_Msg_Backend * ACE_Log_Msg_Manager::custom_backend_ = 0 [static]
 

Definition at line 127 of file Log_Msg.cpp.

Referenced by init_backend().

ACE_Log_Msg_Backend * ACE_Log_Msg_Manager::log_backend_ = 0 [static]
 

Definition at line 126 of file Log_Msg.cpp.

Referenced by init_backend().

u_long ACE_Log_Msg_Manager::log_backend_flags_ = 0 [static]
 

Definition at line 129 of file Log_Msg.cpp.

Referenced by init_backend().


The documentation for this class was generated from the following file:
Generated on Thu Nov 9 11:24:04 2006 for ACE by doxygen 1.3.6