1 /* $Id: GBProject_ver2.hpp 410943 2013-08-22 20:54:31Z rafanovi $
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  */
27 
28 /// @file GBProject_ver2.hpp
29 /// User-defined methods of the data storage class.
30 ///
31 /// This file was originally generated by application DATATOOL
32 /// using the following specifications:
33 /// 'gbproj.asn'.
34 ///
35 /// New methods or data members can be added to it if needed.
36 /// See also: GBProject_ver2_.hpp
37 
38 
39 #ifndef OBJECTS_GBPROJ_GBPROJECT_VER2_HPP
40 #define OBJECTS_GBPROJ_GBPROJECT_VER2_HPP
41 
42 
43 // generated includes
44 #include <objects/gbproj/GBProject_ver2_.hpp>
45 #include <objects/gbproj/igbproject.hpp>
46 
47 // generated classes
48 
49 BEGIN_NCBI_SCOPE
50 
51 BEGIN_objects_SCOPE // namespace ncbi::objects::
52 
53 /////////////////////////////////////////////////////////////////////////////
54 class NCBI_GBPROJ_EXPORT CGBProject_ver2
55     : public CGBProject_ver2_Base
56     , public IGBProject
57 {
58     typedef CGBProject_ver2_Base Tparent;
59 public:
60     CGBProject_ver2(void);
61     ~CGBProject_ver2(void);
62 
63     /// @name IGBProject Implementation
64     /// @{
65     /// See IGNProject for comments
66     EProjectVersion GetVersion() const;
67 
68     void AddItem(CProjectItem& item, CProjectFolder& folder);
69 
70     const CProjectFolder& GetData() const;
71     CProjectFolder&       SetData();
72 
73     bool                 IsSetDescr() const;
74     const CProjectDescr& GetDescr() const;
75     CProjectDescr&       SetDescr();
76     void                 SetDescr(CProjectDescr& descr);
77 
78     bool                      IsSetAnnot() const;
79     const IGBProject::TAnnot& GetAnnot() const;
80     IGBProject::TAnnot&       SetAnnot();
81 
82     /// retrieve the data loader descriptor set for this project
83     virtual bool IsSetDataLoaders() const;
84     virtual const TDataLoaders& GetDataLoaders() const;
85     virtual TDataLoaders&       SetDataLoaders();
86 
87     bool                      IsSetViews() const;
88     const IGBProject::TViews& GetViews() const;
89     IGBProject::TViews&       SetViews();
90 
91     virtual bool IsSetViewSettings() const;
92     virtual const TViewSettings& GetViewSettings() const;
93     virtual TViewSettings&       SetViewSettings();
94 
95     void SetDirtyFlag(bool dirty);
96     bool GetDirtyFlag() const;
97 
98     void SetCreateDate(const CDate& date);
99 
100     void SetModifiedDate(const CDate& date);
101     /// @}
102 private:
103     // Prohibit copy constructor and assignment operator
104     CGBProject_ver2(const CGBProject_ver2& value);
105     CGBProject_ver2& operator=(const CGBProject_ver2& value);
106 
107 private:
108     bool m_Dirty; /// true if changes have not been saved
109 };
110 
111 /////////////////// CGBProject_ver2 inline methods
112 
113 
114 inline
GetVersion() const115 IGBProject::EProjectVersion CGBProject_ver2::GetVersion() const
116 {
117     return eVersion2;
118 }
119 
120 
121 /////////////////// end of CGBProject_ver2 inline methods
122 
123 
124 END_objects_SCOPE // namespace ncbi::objects::
125 
126 END_NCBI_SCOPE
127 
128 
129 #endif // OBJECTS_GBPROJ_GBPROJECT_VER2_HPP
130 /* Original file checksum: lines: 86, chars: 2505, CRC32: 2f94a777 */
131