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

Go to the SVN repository for this file.

1 #ifndef OBJTOOLS_FORMAT_ITEMS___TSA_ITEM__HPP
2 #define OBJTOOLS_FORMAT_ITEMS___TSA_ITEM__HPP
3 
4 /* $Id: tsa_item.hpp 99549 2023-04-17 14:20:00Z gotvyans $
5 * ===========================================================================
6 *
7 * PUBLIC DOMAIN NOTICE
8 * National Center for Biotechnology Information
9 *
10 * This software/database is a "United States Government Work" under the
11 * terms of the United States Copyright Act. It was written as part of
12 * the author's official duties as a United States Government employee and
13 * thus cannot be copyrighted. This software/database is freely available
14 * to the public for use. The National Library of Medicine and the U.S.
15 * Government have not placed any restriction on its use or reproduction.
16 *
17 * Although all reasonable efforts have been taken to ensure the accuracy
18 * and reliability of the software and data, the NLM and the U.S.
19 * Government do not and cannot warrant the performance or results that
20 * may be obtained by using this software or data. The NLM and the U.S.
21 * Government disclaim all warranties, express or implied, including
22 * warranties of performance, merchantability or fitness for any particular
23 * purpose.
24 *
25 * Please cite the author in any work or product based on this material.
26 *
27 * ===========================================================================
28 *
29 * Author: Michael Kornbluh (heavily based on code by Mati Shomrat)
30 *
31 * File Description:
32 * item representing TSA
33 *
34 */
35 #include <corelib/ncbistd.hpp>
36 
38 
39 
42 
43 
44 class CUser_object;
45 class CBioseqContext;
46 class IFormatter;
47 
48 
49 ///////////////////////////////////////////////////////////////////////////
50 //
51 // TSA (and TLS)
52 
54 {
55 public:
56  enum ETSAType {
59  eTLS_Projects
60  /*eTSA_ScaffoldList,
61  eTSA_ContigList*/
62  };
63  typedef ETSAType TTSAType;
64 
65  CTSAItem(TTSAType type, const string& first, const string& last,
66  const CUser_object& uo, CBioseqContext& ctx);
67  void Format(IFormatter& formatter, IFlatTextOStream& text_os) const override;
68 
69  TTSAType GetType (void) const { return m_Type; }
70  const string& GetFirstID(void) const { return m_First; }
71  const string& GetLastID (void) const { return m_Last; }
72 
73  EItem GetItemType() const override;
74 private:
75 
76  void x_GatherInfo(CBioseqContext& ctx) override;
77 
78  // data
80  string m_First;
81  string m_Last;
82 };
83 
84 
87 
88 #endif /* OBJTOOLS_FORMAT_ITEMS___TSA_ITEM__HPP */
virtual void Format(IFormatter &formatter, IFlatTextOStream &text_os) const =0
virtual void x_GatherInfo(CBioseqContext &)
Definition: item_base.hpp:71
string m_First
Definition: tsa_item.hpp:80
@ eTSA_not_set
Definition: tsa_item.hpp:57
@ eTSA_Projects
Definition: tsa_item.hpp:58
string m_Last
Definition: tsa_item.hpp:81
ETSAType TTSAType
Definition: tsa_item.hpp:63
TTSAType m_Type
Definition: tsa_item.hpp:79
const string & GetLastID(void) const
Definition: tsa_item.hpp:71
const string & GetFirstID(void) const
Definition: tsa_item.hpp:70
TTSAType GetType(void) const
Definition: tsa_item.hpp:69
virtual EItem GetItemType(void) const =0
Include a standard set of the NCBI C++ Toolkit most basic headers.
CS_CONTEXT * ctx
Definition: t0006.c:12
static DLIST_TYPE *DLIST_NAME() first(DLIST_LIST_TYPE *list)
Definition: dlist.tmpl.h:46
static DLIST_TYPE *DLIST_NAME() last(DLIST_LIST_TYPE *list)
Definition: dlist.tmpl.h:51
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define END_SCOPE(ns)
End the previously defined scope.
Definition: ncbistl.hpp:75
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
#define BEGIN_SCOPE(ns)
Define a new scope.
Definition: ncbistl.hpp:72
#define NCBI_FORMAT_EXPORT
Definition: ncbi_export.h:496
Definition: type.c:6
Modified on Fri Sep 20 14:57:01 2024 by modify_doxy.py rev. 669887