1 /* $Id: ISeq_feat.hpp 458821 2015-02-10 17:18:44Z gotvyans $ 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: Eugene Vasilchenko 27 * 28 * File Description: 29 * Interface to CSeq_feat methods. 30 * 31 */ 32 33 #ifndef OBJECTS_SEQFEAT_ISEQ_FEAT_HPP 34 #define OBJECTS_SEQFEAT_ISEQ_FEAT_HPP 35 36 #include <corelib/ncbistd.hpp> 37 38 BEGIN_NCBI_SCOPE 39 BEGIN_objects_SCOPE 40 41 class CDbtag; 42 class CGene_ref; 43 class CProt_ref; 44 45 class NCBI_SEQFEAT_EXPORT ISeq_feat 46 { 47 public: 48 virtual ~ISeq_feat(void); 49 50 /// get gene (if present) from Seq-feat.xref list 51 virtual const CGene_ref* GetGeneXref(void) const = 0; 52 53 /// get protein (if present) from Seq-feat.xref list 54 virtual const CProt_ref* GetProtXref(void) const = 0; 55 56 /// Return a specified DB xref. This will find the *first* item in the 57 /// given referenced database. If no item is found, an empty CConstRef<> 58 /// is returned. 59 virtual CConstRef<CDbtag> GetNamedDbxref(const CTempString& db) const = 0; 60 61 /// Return a named qualifier. This will return the first item matching the 62 /// qualifier name. If no such qualifier is found, an empty string is 63 /// returned. 64 virtual const string& GetNamedQual(const CTempString& qual_name) const = 0; 65 }; 66 67 END_objects_SCOPE 68 END_NCBI_SCOPE 69 70 #endif // OBJECTS_SEQFEAT_ISEQ_FEAT_HPP 71