NCBI C++ ToolKit
Filter_.cpp
Go to the documentation of this file.

Go to the SVN repository for this file.

1 /* $Id$
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  * File Description:
27  * This code was generated by application DATATOOL
28  * using the following specifications:
29  * 'msvc71_project.dtd'.
30  *
31  * ATTENTION:
32  * Don't edit or commit this file into CVS as this file will
33  * be overridden (by DATATOOL) without warning!
34  * ===========================================================================
35  */
36 
37 // standard includes
38 #include <ncbi_pch.hpp>
39 #include <serial/serialimpl.hpp>
40 
41 // generated includes
45 
46 BEGIN_objects_SCOPE // namespace ncbi::objects::
47 
48 
49 // generated classes
50 
52 {
53  m_Name.erase();
54  m_set_State[0] &= ~0x3;
55 }
56 
58 {
59  m_Filter.erase();
60  m_set_State[0] &= ~0xc;
61 }
62 
64 {
65  m_UniqueIdentifier.erase();
66  m_set_State[0] &= ~0x30;
67 }
68 
70 {
71  ResetName();
72  ResetFilter();
74 }
75 
77 {
78  SET_INTERNAL_NAME("Filter", "Attlist");
79  SET_CLASS_MODULE("msvc71_project");
80  ADD_NAMED_STD_MEMBER("Name", m_Name)->SetSetFlag(MEMBER_PTR(m_set_State[0]))->SetNsQualified(false);
81  ADD_NAMED_STD_MEMBER("Filter", m_Filter)->SetSetFlag(MEMBER_PTR(m_set_State[0]))->SetNsQualified(false);
82  ADD_NAMED_STD_MEMBER("UniqueIdentifier", m_UniqueIdentifier)->SetSetFlag(MEMBER_PTR(m_set_State[0]))->SetOptional()->SetNsQualified(false);
83  info->SetRandomOrder(true);
84  info->CodeVersion(22301);
85  info->DataSpec(ncbi::EDataSpec::eDTD);
86 }
88 
89 // constructor
91 {
92  memset(m_set_State,0,sizeof(m_set_State));
93 }
94 
95 // destructor
97 {
98 }
99 
100 
102 {
103  if ( m_choice != e_not_set )
104  ResetSelection();
105 }
106 
108 {
109  switch ( m_choice ) {
110  case e_File:
111  case e_Filter:
112  m_object->RemoveReference();
113  break;
114  default:
115  break;
116  }
117  m_choice = e_not_set;
118 }
119 
120 void CFilter_Base::C_FF::C_E_FF::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
121 {
122  switch ( index ) {
123  case e_File:
124  (m_object = new(pool) ncbi::objects::CFFile())->AddReference();
125  break;
126  case e_Filter:
127  (m_object = new(pool) ncbi::objects::CFilter())->AddReference();
128  break;
129  default:
130  break;
131  }
132  m_choice = index;
133 }
134 
135 const char* const CFilter_Base::C_FF::C_E_FF::sm_SelectionNames[] = {
136  "not set",
137  "File",
138  "Filter"
139 };
140 
142 {
143  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
144 }
145 
147 {
148  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
149 }
150 
152 {
153  CheckSelected(e_File);
154  return *static_cast<const TFile*>(m_object);
155 }
156 
158 {
159  Select(e_File, NCBI_NS_NCBI::eDoNotResetVariant);
160  return *static_cast<TFile*>(m_object);
161 }
162 
164 {
165  TFile* ptr = &value;
166  if ( m_choice != e_File || m_object != ptr ) {
167  ResetSelection();
168  (m_object = ptr)->AddReference();
169  m_choice = e_File;
170  }
171 }
172 
174 {
175  CheckSelected(e_Filter);
176  return *static_cast<const TFilter*>(m_object);
177 }
178 
180 {
181  Select(e_Filter, NCBI_NS_NCBI::eDoNotResetVariant);
182  return *static_cast<TFilter*>(m_object);
183 }
184 
186 {
187  TFilter* ptr = &value;
188  if ( m_choice != e_Filter || m_object != ptr ) {
189  ResetSelection();
190  (m_object = ptr)->AddReference();
191  m_choice = e_Filter;
192  }
193 }
194 
195 // helper methods
196 
197 // type info
199 {
200  SET_INTERNAL_NAME("Filter.FF.FF", "E");
201  SET_CHOICE_MODULE("msvc71_project");
202  ADD_NAMED_REF_CHOICE_VARIANT("File", m_object, CFFile)->SetNsQualified(true);
203  ADD_NAMED_REF_CHOICE_VARIANT("Filter", m_object, CFilter)->SetNsQualified(true);
204  info->CodeVersion(22301);
205  info->DataSpec(ncbi::EDataSpec::eDTD);
206 }
208 
209 // constructor
211  : m_choice(e_not_set)
212 {
213 }
214 
215 // destructor
217 {
218  Reset();
219 }
220 
221 
223 {
224  m_FF.clear();
225  m_set_State[0] &= ~0x3;
226 }
227 
229 {
230  ResetFF();
231 }
232 
234 {
235  SET_INTERNAL_NAME("Filter", "FF");
236  SET_CLASS_MODULE("msvc71_project");
237  ADD_NAMED_MEMBER("FF", m_FF, STL_list, (STL_CRef, (CLASS, (C_E_FF))))->SetSetFlag(MEMBER_PTR(m_set_State[0]))->SetOptional()->SetNotag();
238  info->RandomOrder();
239  info->CodeVersion(22301);
240  info->DataSpec(ncbi::EDataSpec::eDTD);
241 }
243 
244 // constructor
246 {
247  memset(m_set_State,0,sizeof(m_set_State));
248 }
249 
250 // destructor
252 {
253 }
254 
255 
257 {
258  if ( !m_Attlist ) {
259  m_Attlist.Reset(new TAttlist());
260  return;
261  }
262  (*m_Attlist).Reset();
263 }
264 
266 {
267  m_Attlist.Reset(&value);
268 }
269 
271 {
272  m_FF.Reset();
273 }
274 
276 {
277  m_FF.Reset(&value);
278 }
279 
281 {
282  if ( !m_FF )
283  m_FF.Reset(new TFF());
284  return (*m_FF);
285 }
286 
288 {
289  ResetAttlist();
290  ResetFF();
291 }
292 
294 {
295  SET_CLASS_MODULE("msvc71_project");
296  ADD_NAMED_REF_MEMBER("Attlist", m_Attlist, C_Attlist)->SetAttlist();
297  ADD_NAMED_REF_MEMBER("FF", m_FF, C_FF)->SetOptional()->SetNotag();
298  info->RandomOrder();
299  info->CodeVersion(22301);
300  info->DataSpec(ncbi::EDataSpec::eDTD);
301 }
303 
304 // constructor
306 {
307  memset(m_set_State,0,sizeof(m_set_State));
308  if ( !IsAllocatedInPool() ) {
309  ResetAttlist();
310  }
311 }
312 
313 // destructor
315 {
316 }
317 
318 
319 
320 END_objects_SCOPE // namespace ncbi::objects::
321 
323 
User-defined methods of the data storage class.
CFFile –.
Definition: File.hpp:66
C_Attlist –.
Definition: Filter_.hpp:96
CFilter –.
Definition: Filter.hpp:66
char value[7]
Definition: config.c:431
string
Definition: cgiapp.hpp:687
#define DIAG_COMPILE_INFO
Make compile time diagnostic information object to use in CNcbiDiag and CException.
Definition: ncbidiag.hpp:170
#define MEMBER_PTR(MemberName)
Definition: serialimpl.hpp:284
#define ADD_NAMED_MEMBER(MemberAlias, MemberName, TypeMacro, TypeMacroArgs)
Definition: serialimpl.hpp:342
#define ADD_NAMED_REF_MEMBER(MemberAlias, MemberName, ClassName)
Definition: serialimpl.hpp:357
#define END_CLASS_INFO
Definition: serialimpl.hpp:456
#define ADD_NAMED_REF_CHOICE_VARIANT(MemberAlias, MemberName, ClassName)
Definition: serialimpl.hpp:400
#define ADD_NAMED_STD_MEMBER(MemberAlias, MemberName)
Definition: serialimpl.hpp:345
#define SET_CLASS_MODULE(ModuleName)
Definition: serialimpl.hpp:444
#define END_CHOICE_INFO
Definition: serialimpl.hpp:506
#define SET_INTERNAL_NAME(OwnerName, MemberName)
Definition: serialimpl.hpp:447
#define SET_CHOICE_MODULE(ModuleName)
Definition: serialimpl.hpp:500
@ eDoNotResetVariant
Definition: serialbase.hpp:78
void AddReference(void) const
Add reference to object.
Definition: ncbiobj.hpp:489
bool IsAllocatedInPool(void) const THROWS_NONE
Check if object is allocated in memory pool (not system heap)
Definition: ncbiobj.hpp:461
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
NCBI_NS_STD::string m_UniqueIdentifier
Definition: Filter_.hpp:307
void ResetUniqueIdentifier(void)
Reset UniqueIdentifier data member.
Definition: Filter_.cpp:96
virtual void Reset(void)
Reset the whole object.
Definition: Filter_.cpp:287
static const char *const sm_SelectionNames[]
Definition: Filter_.hpp:415
void ResetName(void)
Reset Name data member.
Definition: Filter_.cpp:51
virtual ~CFilter_Base(void)
Definition: Filter_.cpp:314
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
Definition: Filter_.cpp:141
const TFile & GetFile(void) const
Get the variant data.
Definition: Filter_.cpp:151
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
Definition: Filter_.cpp:120
void ResetAttlist(void)
Reset Attlist data member.
Definition: Filter_.cpp:256
C_Attlist TAttlist
Definition: Filter_.hpp:478
void Reset(void)
Reset the whole object.
Definition: Filter_.cpp:228
void ResetFilter(void)
Reset Filter data member.
Definition: Filter_.cpp:57
void Reset(void)
Reset the whole object.
Definition: Filter_.cpp:69
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
Definition: Filter_.cpp:146
E_Choice
Choice variants.
Definition: Filter_.hpp:289
TFilter & SetFilter(void)
Select the variant.
Definition: Filter_.cpp:179
void ResetFF(void)
Reset FF data member.
Definition: Filter_.cpp:270
list< CRef< C_E_FF > > TFF
Definition: Filter_.hpp:421
TAttlist & SetAttlist(void)
Assign a value to Attlist data member.
Definition: Filter_.hpp:819
void ResetFF(void)
Reset FF data member.
Definition: Filter_.cpp:222
list< CRef< C_E_FF > > m_FF
Definition: Filter_.hpp:475
void Reset(void)
Reset the whole object.
Definition: Filter_.cpp:101
Uint4 m_set_State[1]
Definition: Filter_.hpp:474
void ResetSelection(void)
Reset the selection (set it to e_not_set).
Definition: Filter_.cpp:107
Uint4 m_set_State[1]
Definition: Filter_.hpp:576
TFile & SetFile(void)
Select the variant.
Definition: Filter_.cpp:157
CFilter_Base(void)
Definition: Filter_.cpp:305
TFF & SetFF(void)
Assign a value to FF data member.
Definition: Filter_.cpp:280
const TFilter & GetFilter(void) const
Get the variant data.
Definition: Filter_.cpp:173
void ResetUniqueIdentifier(void)
Reset UniqueIdentifier data member.
Definition: Filter_.cpp:63
CRef< TAttlist > m_Attlist
Definition: Filter_.hpp:577
@ e_not_set
static MDB_envinfo info
Definition: mdb_load.c:37
User-defined methods of the data storage class.
BEGIN_NAMED_CLASS_INFO("", CFilter_Base::C_Attlist)
Definition: Filter_.cpp:76
BEGIN_NAMED_BASE_CLASS_INFO("Filter", CFilter)
Definition: Filter_.cpp:293
BEGIN_NAMED_CHOICE_INFO("", CFilter_Base::C_FF::C_E_FF)
Definition: Filter_.cpp:198
Modified on Mon Dec 11 02:40:01 2023 by modify_doxy.py rev. 669887