Changes to attempt to silence bcc64x
[ACE_TAO.git] / ACE / ace / OS_Log_Msg_Attributes.h
blobac61487c6eaff831dc38cb2dfa513b6a8c45069d
1 // -*- C++ -*-
3 //=============================================================================
4 /**
5 * @file OS_Log_Msg_Attributes.h
7 * @author Carlos O'Ryan
8 */
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)
18 # 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
28 /**
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.
37 * @par
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
43 public:
44 /// Constructor
45 ACE_OS_Log_Msg_Attributes ();
47 protected:
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?
58 int tracing_enabled_;
60 /// Indicates whether we should restart system calls that are
61 /// interrupted.
62 bool restart_;
64 /// Depth of the nesting for printing traces.
65 int trace_depth_;
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 */
73 private:
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)
82 # undef 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 */