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

Go to the SVN repository for this file.

1 /*
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: Alexey Dobronadezhdin
27  *
28  * File Description:
29  *
30  * ===========================================================================
31  */
32 
33 #ifndef JOURNAL_HOOK_HPP
34 #define JOURNAL_HOOK_HPP
35 
36 #include <string>
37 #include <map>
38 #include <memory>
39 
40 #include <corelib/ncbistl.hpp>
41 #include <serial/objistr.hpp>
42 
43 namespace ncbi
44 {
45  class CEutilsClient;
46 
47  namespace objects
48  {
49  class CCit_jour;
50  }
51 }
52 
55 
56 namespace pub_report
57 {
58 
59 class CJournalReport;
60 
62 {
63 public:
65  void SkipObject(CObjectIStream& in, const CObjectTypeInfo& info) override;
66 
67 private:
68  bool IsJournalMissing(const string& title);
69  void ProcessJournal(const CCit_jour& journal);
70 
72 
75  shared_ptr<CEutilsClient> m_eutils;
76 };
77 
78 }
79 
80 #endif // JOURNAL_HOOK_HPP
Class for querying via E-Utils.
CObjectIStream –.
Definition: objistr.hpp:93
CObjectTypeInfo –.
Definition: objectinfo.hpp:94
Skip hook for a standalone object.
Definition: objhook.hpp:205
bool IsJournalMissing(const string &title)
void ProcessJournal(const CCit_jour &journal)
map< string, bool > m_term_cache
CSkipPubJournalHook(CJournalReport &report)
void SkipObject(CObjectIStream &in, const CObjectTypeInfo &info) override
shared_ptr< CEutilsClient > m_eutils
USING_SCOPE(objects)
USING_NCBI_SCOPE
static MDB_envinfo info
Definition: mdb_load.c:37
Magic spell ;-) needed for some weird compilers... very empiric.
The NCBI C++/STL use hints.
std::istream & in(std::istream &in_, double &x_)
CRef< CPub > journal(ParserPtr pp, char *bptr, char *eptr, CRef< CAuth_list > &auth_list, CRef< CTitle::C_E > &title, bool has_muid, CRef< CCit_art > &cit_art, Int4 er)
Definition: ref.cpp:1452
Modified on Sun Apr 14 05:26:46 2024 by modify_doxy.py rev. 669887