3 //=============================================================================
5 * @file OS_Log_Msg_Attributes.h
7 * @author Carlos O'Ryan
9 //=============================================================================
11 #include /**/ "ace/config-all.h"
13 #ifndef ACE_OS_LOG_MSG_ATTRIBUTES_H
14 #define ACE_OS_LOG_MSG_ATTRIBUTES_H
15 #include /**/ "ace/pre.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 #include /**/ "ace/ACE_export.h"
22 #include "ace/os_include/os_stdio.h"
23 #include "ace/iosfwd.h"
24 #include "ace/Global_Macros.h"
26 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
29 * @class ACE_OS_Log_Msg_Attributes
31 * @brief The attributes required by ACE_Log_Msg.
33 * When a new thread is created the TSS resources for the Log_Msg
34 * class in the new thread may be inherited by the creator thread.
35 * The base_attributes are encapsulated in this class to simplify their
36 * manipulation and destruction.
38 * The contents of the class must be made available to the OS layer,
39 * because they are part of the thread descriptor.
41 class ACE_Export ACE_OS_Log_Msg_Attributes
45 ACE_OS_Log_Msg_Attributes ();
48 friend class ACE_Log_Msg
;
50 /// Ostream where the new TSS Log_Msg will use.
51 ACE_OSTREAM_TYPE
*ostream_
;
52 void *ostream_refcount_
;
54 /// Priority_mask to be used in new TSS Log_Msg.
55 unsigned long priority_mask_
;
57 /// Are we allowing tracing in this thread?
60 /// Indicates whether we should restart system calls that are
64 /// Depth of the nesting for printing traces.
67 #if defined (ACE_HAS_WIN32_STRUCTURED_EXCEPTIONS)
68 /// Structured exception handling Callbacks, only used under Win32
69 ACE_SEH_EXCEPT_HANDLER seh_except_selector_
;
70 ACE_SEH_EXCEPT_HANDLER seh_except_handler_
;
71 #endif /* ACE_HAS_WIN32_STRUCTURED_EXCEPTIONS */
74 void operator= (const ACE_OS_Log_Msg_Attributes
&) = delete;
75 ACE_OS_Log_Msg_Attributes (const ACE_OS_Log_Msg_Attributes
&) = delete;
78 ACE_END_VERSIONED_NAMESPACE_DECL
80 # if defined (ACE_HAS_INLINED_OSCALLS)
81 # if defined (ACE_INLINE)
83 # endif /* ACE_INLINE */
84 # define ACE_INLINE inline
85 # include "ace/OS_Log_Msg_Attributes.inl"
86 # endif /* ACE_HAS_INLINED_OSCALLS */
88 #include /**/ "ace/post.h"
89 #endif /* ACE_OS_LOG_MSG_ATTRIBUTES_H */