ALib C++ Library
Library Version: 2402 R1
Documentation generated by doxygen
Loading...
Searching...
No Matches
reportwriter.hpp
Go to the documentation of this file.
1/** ************************************************************************************************
2 * \file
3 * This header file is part of module \alib_alox of the \aliblong.
4 *
5 * \emoji :copyright: 2013-2024 A-Worx GmbH, Germany.
6 * Published under \ref mainpage_license "Boost Software License".
7 **************************************************************************************************/
8
9#ifndef HPP_ALIB_ALOX_REPORT_WRITER
10#define HPP_ALIB_ALOX_REPORT_WRITER 1
11
12#if !defined (HPP_ALIB_CAMP_MESSAGE_REPORT)
14#endif
15namespace alib { namespace lox {
16
17class Lox;
18
19/** ************************************************************************************************
20 * The \b %ReportWriter for \alib when using \alox. An instance of this class is created
21 * in method \ref alib::lox::Log::AddDebugLogger "Log::AddDebugLogger"
22 * and registered with \alib.<br>
23 * Uses internal domain <c>'$/REPORT'</c> for logging.
24 **************************************************************************************************/
26{
27 protected:
28 /** The \b Lox to report to. */
30
31 /** The internal domain to report into. */
33
34 public:
35 /** ********************************************************************************************
36 * Constructs an \b %AloxReportWriter.
37 * @param lox The \b Lox to report to.
38 **********************************************************************************************/
41
42 /** ********************************************************************************************
43 * Virtual destructor
44 **********************************************************************************************/
45 virtual ~ALoxReportWriter() override {}
46
47 /** ********************************************************************************************
48 * Notify activation/deactivation
49 **********************************************************************************************/
50 virtual void NotifyActivation ( lang::Phase ) override {}
51
52
53 /** ********************************************************************************************
54 * Write \alib reports using \alox.
55 * @param msg The message to log.
56 **********************************************************************************************/
57 virtual void Report ( lang::Message& msg ) override;
58
59 /** ********************************************************************************************
60 * Returns the domain used to write reports.
61 * @return The report log domain.
62 **********************************************************************************************/
64 static NString& LogDomain();
65};// class ALoxReportWriter
66
67} // namespace alib[::lox]
68
69/// Type alias in namespace \b alib.
71
72} // namespace [alib]
73
74#endif // HPP_ALIB_ALOX_REPORT_WRITER
virtual ~ALoxReportWriter() override
virtual void Report(lang::Message &msg) override
virtual void NotifyActivation(lang::Phase) override
static ALIB_API NString & LogDomain()
static NString16 reportDomain
#define ALIB_API
Definition alib.hpp:538
Definition alib.cpp:57
lox::ALoxReportWriter ALoxReportWriter
Type alias in namespace alib.
lox::Lox Lox
Type alias in namespace alib.
Definition lox.inl:1492