NCBI C++ ToolKit
import_message_handler.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id: import_message_handler.cpp 86362 2019-05-02 15:04:11Z ludwigf $
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: Frank Ludwig
27  *
28  * File Description: Iterate through file names matching a given glob pattern
29  *
30  */
31 
32 #include <ncbi_pch.hpp>
33 #include <corelib/ncbifile.hpp>
35 
37 //USING_SCOPE(objects);
38 
39 // ============================================================================
41 // ============================================================================
42  mWorstErrorLevel(CImportError::NONE)
43 {
44 };
45 
46 // ============================================================================
48 // ============================================================================
49 {
50 };
51 
52 // ============================================================================
53 void
55  const CImportError& error)
56 // ============================================================================
57 {
58  if (error.Severity() < mWorstErrorLevel) {
59  mWorstErrorLevel = error.Severity();
60  }
61  switch(error.Severity()) {
62  default:
63  mErrors.push_back(error);
64  return;
66  cerr << error.Message() << "\n";
67  return;
69  mErrors.push_back(error);
70  throw error;
71  }
72 }
73 
74 // ============================================================================
75 void
77  const CImportProgress& progress)
78 // ============================================================================
79 {
80  progress.Serialize(cerr);
81 }
82 
83 // ============================================================================
84 void
87 // ============================================================================
88 {
89  for (auto error: mErrors) {
90  error.Serialize(out);
91  }
92  out.flush();
93 }
CImportError::ErrorLevel mWorstErrorLevel
virtual void ReportError(const CImportError &)
void Dump(CNcbiOstream &out)
virtual void ReportProgress(const CImportProgress &)
std::vector< CImportError > mErrors
void Serialize(CNcbiOstream &) const
std::ofstream out("events_result.xml")
main entry point for tests
#define NONE
Definition: fastme.h:49
IO_PREFIX::ostream CNcbiOstream
Portable alias for ostream.
Definition: ncbistre.hpp:149
Defines classes: CDirEntry, CFile, CDir, CSymLink, CMemoryFile, CFileUtil, CFileLock,...
Modified on Wed Sep 04 15:00:32 2024 by modify_doxy.py rev. 669887