NCBI C++ ToolKit
reader_message.hpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: reader_message.hpp 93579 2021-05-01 20:54:52Z stakhovv $
2  * ===========================================================================
3  *
4  * PUBLIC DOMAIN NOTICE
5  * National Center for Biotechnology Information
6  *
7  * This software/database is a "United States Government Work" under the
8  * terms of the United States Copyright Act. It was written as part of
9  * the author's official duties as a United States Government employee and
10  * thus cannot be copyrighted. This software/database is freely available
11  * to the public for use. The National Library of Medicine and the U.S.
12  * Government have not placed any restriction on its use or reproduction.
13  *
14  * Although all reasonable efforts have been taken to ensure the accuracy
15  * and reliability of the software and data, the NLM and the U.S.
16  * Government do not and cannot warrant the performance or results that
17  * may be obtained by using this software or data. The NLM and the U.S.
18  * Government disclaim all warranties, express or implied, including
19  * warranties of performance, merchantability or fitness for any particular
20  * purpose.
21  *
22  * Please cite the author in any work or product based on this material.
23  *
24  * ===========================================================================
25  *
26  * Author: Justin Foley
27  *
28  * File Description:
29  * Basic objtools message interface
30  *
31  */
32 
33 #ifndef _READER_MESSAGE_HPP_
34 #define _READER_MESSAGE_HPP_
35 
37 
40 
41 // ============================================================================
43  public CObjtoolsMessage
44 // ============================================================================
45 {
46 public:
48  EDiagSev severity, int lineNumber, const string& message)
49  :
50  CObjtoolsMessage(message, severity), m_LineNumber(lineNumber)
51  {};
52 
53  virtual CReaderMessage *Clone() const override;
54 
55  virtual void Write(CNcbiOstream& out) const override;
56 
57  virtual string Message() const { return GetText(); };
58  virtual EDiagSev Severity() const { return GetSeverity(); };
59  virtual int LineNumber() const { return m_LineNumber; };
60 
61  void SetLineNumber(int lineNumber) {
62  if (m_LineNumber == 0) m_LineNumber = lineNumber;
63  };
64 
65 protected:
67 };
68 
69 // ============================================================================
71  public CProgressMessage
72 // ============================================================================
73 {
74 public:
75  CReaderProgress(int done, int total):
76  CProgressMessage(done, total) {};
77 
78  virtual void Write(CNcbiOstream& out) const override;
79 };
80 
83 
84 #endif // _READER_MESSAGE_HPP_
virtual void Write(CNcbiOstream &out) const override
Definition: message.cpp:131
void SetLineNumber(int lineNumber)
virtual int LineNumber() const
CReaderMessage(EDiagSev severity, int lineNumber, const string &message)
virtual EDiagSev Severity() const
virtual string Message() const
CReaderProgress(int done, int total)
std::ofstream out("events_result.xml")
main entry point for tests
EDiagSev
Severity level for the posted diagnostics.
Definition: ncbidiag.hpp:650
void Write(CObjectOStream &out, TConstObjectPtr object, const CTypeRef &type)
Definition: serial.cpp:55
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
Definition: ncbistre.hpp:149
#define NCBI_XOBJUTIL_EXPORT
Definition: ncbi_export.h:1339
done
Definition: token1.c:1
Modified on Sun Apr 14 05:27:17 2024 by modify_doxy.py rev. 669887