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

Go to the SVN repository for this file.

1 /* $Id: flatfile_parser.hpp 96520 2022-04-11 15:36:00Z 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  * File Name: flatfile_parser.hpp
27  *
28  * Author: Alexey Dobronadezhdin
29  *
30  * File Description:
31  *
32  */
33 
34 #ifndef __FLATFILE_PARSER_HPP__
35 #define __FLATFILE_PARSER_HPP__
36 
38 
39 #define ParFlat_EMBL_AC "AFVXYZ" /* patent is "A" */
40 #define ParFlat_LANL_AC "JKLM"
41 #define ParFlat_SPROT_AC NULL
42 #define ParFlat_DDBJ_AC "CDE"
43 #define ParFlat_NCBI_AC "BGHIJKLMRSTUWN" /* backbone = "S" */
44 
46 
47 class CSerialObject;
48 namespace objects
49 {
50  class IObjtoolsListener;
51 }
52 
53 struct Parser;
54 
55 NCBI_DEPRECATED Int2 fta_main(Parser* pp, bool already);
56 
57 
59 {
60 public:
61  CFlatFileParser(objects::IObjtoolsListener* pMessageListener);
62  virtual ~CFlatFileParser(void);
63  CRef<CSerialObject> Parse(Parser& parseInfo);
64  CRef<CSerialObject> Parse(Parser& parseInfo, CNcbiIstream& istr);
65  CRef<CSerialObject> Parse(Parser& parseInfo, const string& filename);
66 
67 private:
68  objects::IObjtoolsListener* m_pMessageListener = nullptr;
69 };
70 
71 
73 
74 #endif // __FLATFILE_PARSER_HPP__
objects::IObjtoolsListener * m_pMessageListener
CRef< CSerialObject > Parse(Parser &parseInfo)
Definition: ftamain.cpp:721
CFlatFileParser(objects::IObjtoolsListener *pMessageListener)
Definition: ftamain.cpp:703
virtual ~CFlatFileParser(void)
Definition: ftamain.cpp:715
Base class for all serializable objects.
Definition: serialbase.hpp:150
Int2 fta_main(Parser *pp, bool already)
#define NCBI_DEPRECATED
int16_t Int2
2-byte (16-bit) signed integer
Definition: ncbitype.h:100
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
IO_PREFIX::istream CNcbiIstream
Portable alias for istream.
Definition: ncbistre.hpp:146
Modified on Fri Apr 12 17:18:05 2024 by modify_doxy.py rev. 669887