summaryrefslogtreecommitdiff
path: root/ACE/ace/Log_Category.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/Log_Category.inl')
-rw-r--r--ACE/ace/Log_Category.inl159
1 files changed, 159 insertions, 0 deletions
diff --git a/ACE/ace/Log_Category.inl b/ACE/ace/Log_Category.inl
new file mode 100644
index 00000000000..7649da7f3b8
--- /dev/null
+++ b/ACE/ace/Log_Category.inl
@@ -0,0 +1,159 @@
+// -*- C++ -*-
+//
+// $Id$
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_INLINE unsigned int
+ACE_Log_Category::id()
+{
+ return id_;
+}
+
+ACE_INLINE const char*
+ACE_Log_Category::name ()
+{
+ return name_;
+}
+
+ACE_INLINE unsigned int
+ACE_Log_Category_TSS::id()
+{
+ return category_->id_;
+}
+
+ACE_INLINE const char*
+ACE_Log_Category_TSS::name ()
+{
+ return category_->name_;
+}
+
+ACE_INLINE ACE_Log_Msg*
+ACE_Log_Category_TSS::logger ()
+{
+ return logger_;
+}
+
+/// Get the current ACE_Log_Priority mask.
+ACE_INLINE u_long
+ACE_Log_Category_TSS::priority_mask ()
+{
+ return priority_mask_;
+}
+
+/// Set the ACE_Log_Priority mask, returns original mask.
+ACE_INLINE u_long
+ACE_Log_Category_TSS::priority_mask (u_long n_mask)
+{
+ u_long o_mask = this->priority_mask_;
+ this->priority_mask_ = n_mask;
+ return o_mask;
+}
+/// Return true if the requested priority is enabled.
+ACE_INLINE int
+ACE_Log_Category_TSS::log_priority_enabled (ACE_Log_Priority log_priority)
+{
+ return ACE_BIT_ENABLED (this->priority_mask_ |
+ category_->priority_mask(),
+ log_priority);
+}
+
+ACE_INLINE void
+ACE_Log_Category_TSS::set (const char *file,
+ int line,
+ int op_status,
+ int errnum)
+{
+ logger_->set(file, line, op_status, errnum, logger_->restart (), logger_->msg_ostream (), logger_->msg_callback ());
+}
+
+/// These values are only actually set if the requested priority is
+/// enabled.
+ACE_INLINE
+void ACE_Log_Category_TSS::conditional_set (const char *file,
+ int line,
+ int op_status,
+ int errnum)
+{
+ logger_->conditional_set(file, line, op_status, errnum);
+}
+
+ACE_INLINE ssize_t
+ACE_Log_Category_TSS::log (ACE_Log_Priority priority, const ACE_TCHAR *format_str, ...)
+{
+ // Start of variable args section.
+ va_list argp;
+
+ va_start (argp, format_str);
+
+ ssize_t const result = this->log (format_str,
+ priority,
+ argp);
+ va_end (argp);
+
+ return result;
+}
+
+#if defined (ACE_HAS_WCHAR)
+ACE_INLINE ssize_t
+ACE_Log_Category_TSS::log (ACE_Log_Priority priority, const ACE_ANTI_TCHAR *format_str, ...)
+{
+ // Start of variable args section.
+ va_list argp;
+
+ va_start (argp, format_str);
+
+ ssize_t const result = this->log (ACE_TEXT_ANTI_TO_TCHAR (format_str),
+ priority,
+ argp);
+ va_end (argp);
+
+ return result;
+}
+#endif /* ACE_HAS_WCHAR */
+
+/**
+ * An alternative logging mechanism that makes it possible to
+ * integrate variable argument lists from other logging mechanisms
+ * into the ACE mechanism.
+ */
+
+ACE_INLINE ssize_t
+ACE_Log_Category_TSS::log (const ACE_TCHAR *format,
+ ACE_Log_Priority priority,
+ va_list argp)
+{
+ if (this->log_priority_enabled (priority) == 0)
+ return 0;
+ return logger_->log(format, priority, argp, this);
+}
+
+
+ACE_INLINE int
+ACE_Log_Category_TSS::log_hexdump (ACE_Log_Priority priority,
+ const char *buffer,
+ size_t size,
+ const ACE_TCHAR *text)
+{
+ if (this->log_priority_enabled (priority) == 0)
+ return 0;
+ return logger_->log_hexdump(priority, buffer, size, text, this);
+}
+
+/// Get the current ACE_Log_Priority mask.
+ACE_INLINE u_long
+ACE_Log_Category::priority_mask ()
+{
+ return priority_mask_;
+}
+
+/// Set the ACE_Log_Priority mask, returns original mask.
+ACE_INLINE u_long
+ACE_Log_Category::priority_mask (u_long n_mask)
+{
+ u_long o_mask = this->priority_mask_;
+ this->priority_mask_ = n_mask;
+ return o_mask;
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL