entrez_db.hpp
来自「ncbi源码」· HPP 代码 · 共 170 行
HPP
170 行
/* * =========================================================================== * PRODUCTION $Log: entrez_db.hpp,v $ * PRODUCTION Revision 1000.0 2004/06/01 21:26:35 gouriano * PRODUCTION PRODUCTION: IMPORTED [GCC34_MSVC7] Dev-tree R1.1 * PRODUCTION * =========================================================================== */#ifndef GUI_PLUGINS_DOC_BASIC___ENTREZ_DB__HPP#define GUI_PLUGINS_DOC_BASIC___ENTREZ_DB__HPP/* $Id: entrez_db.hpp,v 1000.0 2004/06/01 21:26:35 gouriano Exp $ * =========================================================================== * * PUBLIC DOMAIN NOTICE * National Center for Biotechnology Information * * This software/database is a "United States Government Work" under the * terms of the United States Copyright Act. It was written as part of * the author's official duties as a United States Government employee and * thus cannot be copyrighted. This software/database is freely available * to the public for use. The National Library of Medicine and the U.S. * Government have not placed any restriction on its use or reproduction. * * Although all reasonable efforts have been taken to ensure the accuracy * and reliability of the software and data, the NLM and the U.S. * Government do not and cannot warrant the performance or results that * may be obtained by using this software or data. The NLM and the U.S. * Government disclaim all warranties, express or implied, including * warranties of performance, merchantability or fitness for any particular * purpose. * * Please cite the author in any work or product based on this material. * * =========================================================================== * * Authors: Mike DiCuccio * * File Description: * CEntrezDBCache -- cache of Entrez database handlers */#include <corelib/ncbistd.hpp>#include <objects/seqloc/Seq_id.hpp>#include <objects/entrez2/entrez2_client.hpp>#include <objects/entrez2/Entrez2_docsum.hpp>#include <objects/entrez2/Entrez2_docsum_list.hpp>BEGIN_NCBI_SCOPEclass IEntrezDBHandler{public: struct SHeaderInfo { string name; float rel_width; SHeaderInfo() {} SHeaderInfo(const string& n, float w) : name(n) , rel_width(w) { } }; virtual ~IEntrezDBHandler() { } // get the name of the database as Entrez knows it virtual string GetDbName() const = 0; // get a copy of the name that is nice to print virtual string GetVisibleDbName() const = 0; // perform a query in the handled database virtual CRef<objects::CEntrez2_docsum_list> Query(const string& terms, size_t& total_uids, size_t offs = 0, size_t count = 0) = 0; // return the list of column headers to be used when displaying // results for this database virtual void GetHeaders(vector<SHeaderInfo>& headers) const = 0; // return a vector<string> representing the values for a single docsum virtual void Format(const objects::CEntrez2_docsum& ds, vector<string>& cols) const = 0; // how to resolve to seq-ids when a seq-id is not immediately obvious enum ESeqIdFlags { // favor nucleotides (proteins favored otherwise) fFavorNucleotide = 0x1, // return only the "best" id fFavorBest = 0x2, // return only the RefSeq id(s) fFavorRefSeq = 0x4, fDefaults = 0 }; typedef int TSeqIdFlags; // retrieve seq-ids for a given set of docsums typedef list< CRef<objects::CSeq_id> > TIds; virtual TIds GetSeqIds(const objects::CEntrez2_docsum_list& ds_list, TSeqIdFlags flags = fDefaults) = 0; virtual TIds GetSeqIds(const objects::CEntrez2_docsum& ds, TSeqIdFlags flags = fDefaults) = 0;};//// derived class providing basic query functions//class CEntrezDBHandler : public IEntrezDBHandler, public CObject{public: virtual CRef<objects::CEntrez2_docsum_list> Query(const string& terms, size_t& total_uids, size_t offs = 0, size_t count = 0);protected: objects::CEntrez2Client& x_GetClient();private: CRef<objects::CEntrez2Client> m_Client;};//// manager for instancesclass CEntrezDBManager : public CObject{public: CEntrezDBManager(); void RegisterHandler(CEntrezDBHandler& handler); IEntrezDBHandler& GetHandler(const string& db) const; struct SDbEntry { string db_name; string visible_db_name; }; typedef list<SDbEntry> TEntries; void GetDatabases(TEntries& entries);private: typedef map<string, CRef<CEntrezDBHandler> > THandlers; THandlers m_Handlers;};END_NCBI_SCOPE/* * =========================================================================== * $Log: entrez_db.hpp,v $ * Revision 1000.0 2004/06/01 21:26:35 gouriano * PRODUCTION: IMPORTED [GCC34_MSVC7] Dev-tree R1.1 * * Revision 1.1 2004/05/25 17:15:39 dicuccio * Initial revision - moved over from old GenBank search * * =========================================================================== */#endif // GUI_PLUGINS_DOC_BASIC___ENTREZ_DB__HPP
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?