NCBI C++ ToolKit
TMgr_Request_.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  * 'trackmgr.asn'.
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
56 
57 BEGIN_objects_SCOPE // namespace ncbi::objects::
58 
59 
60 // generated classes
61 
63 {
64  if ( m_choice != e_not_set )
66 }
67 
69 {
70  switch ( m_choice ) {
71  case e_Display_tracks:
74  case e_Blast_tracks:
80  case e_Create_trackset:
81  case e_Rename_trackset:
83  m_object->RemoveReference();
84  break;
85  default:
86  break;
87  }
89 }
90 
91 void CTMgr_Request_Base::DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool* pool)
92 {
93  switch ( index ) {
94  case e_Display_tracks:
95  (m_object = new(pool) ncbi::objects::CTMgr_DisplayTrackRequest())->AddReference();
96  break;
98  (m_object = new(pool) ncbi::objects::CTMgr_SwitchTrackContextRequest())->AddReference();
99  break;
100  case e_Track_attr_values:
101  (m_object = new(pool) ncbi::objects::CTMgr_TrackAttrValueRequest())->AddReference();
102  break;
103  case e_Blast_tracks:
104  (m_object = new(pool) ncbi::objects::CTMgr_BlastRIDRequest())->AddReference();
105  break;
107  (m_object = new(pool) ncbi::objects::CTMgr_CreateUserTrackRequest())->AddReference();
108  break;
110  (m_object = new(pool) ncbi::objects::CTMgr_CreateRemoteTrackRequest())->AddReference();
111  break;
113  (m_object = new(pool) ncbi::objects::CTMgr_ItemResolverRequest())->AddReference();
114  break;
116  (m_object = new(pool) ncbi::objects::CTMgr_RemoveUserTrackRequest())->AddReference();
117  break;
119  (m_object = new(pool) ncbi::objects::CTMgr_RetrieveTracksetRequest())->AddReference();
120  break;
121  case e_Create_trackset:
122  (m_object = new(pool) ncbi::objects::CTMgr_CreateTracksetRequest())->AddReference();
123  break;
124  case e_Rename_trackset:
125  (m_object = new(pool) ncbi::objects::CTMgr_RenameMyNCBICollectionRequest())->AddReference();
126  break;
128  (m_object = new(pool) ncbi::objects::CTMgr_SupportedAssembliesRequest())->AddReference();
129  break;
130  default:
131  break;
132  }
133  m_choice = index;
134 }
135 
136 const char* const CTMgr_Request_Base::sm_SelectionNames[] = {
137  "not set",
138  "display-tracks",
139  "switch-display-tracks",
140  "track-attr-values",
141  "blast-tracks",
142  "create-user-tracks",
143  "create-remote-tracks",
144  "resolve-track-items",
145  "remove-user-tracks",
146  "retrieve-tracksets",
147  "create-trackset",
148  "rename-trackset",
149  "supported-assemblies"
150 };
151 
153 {
154  return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
155 }
156 
158 {
159  throw NCBI_NS_NCBI::CInvalidChoiceSelection(DIAG_COMPILE_INFO, this, m_choice, index, sm_SelectionNames, sizeof(sm_SelectionNames)/sizeof(sm_SelectionNames[0]));
160 }
161 
163 {
165  return *static_cast<const TDisplay_tracks*>(m_object);
166 }
167 
169 {
171  return *static_cast<TDisplay_tracks*>(m_object);
172 }
173 
175 {
176  TDisplay_tracks* ptr = &value;
177  if ( m_choice != e_Display_tracks || m_object != ptr ) {
178  ResetSelection();
179  (m_object = ptr)->AddReference();
181  }
182 }
183 
185 {
187  return *static_cast<const TSwitch_display_tracks*>(m_object);
188 }
189 
191 {
193  return *static_cast<TSwitch_display_tracks*>(m_object);
194 }
195 
197 {
199  if ( m_choice != e_Switch_display_tracks || m_object != ptr ) {
200  ResetSelection();
201  (m_object = ptr)->AddReference();
203  }
204 }
205 
207 {
209  return *static_cast<const TTrack_attr_values*>(m_object);
210 }
211 
213 {
215  return *static_cast<TTrack_attr_values*>(m_object);
216 }
217 
219 {
220  TTrack_attr_values* ptr = &value;
221  if ( m_choice != e_Track_attr_values || m_object != ptr ) {
222  ResetSelection();
223  (m_object = ptr)->AddReference();
225  }
226 }
227 
229 {
231  return *static_cast<const TBlast_tracks*>(m_object);
232 }
233 
235 {
237  return *static_cast<TBlast_tracks*>(m_object);
238 }
239 
241 {
242  TBlast_tracks* ptr = &value;
243  if ( m_choice != e_Blast_tracks || m_object != ptr ) {
244  ResetSelection();
245  (m_object = ptr)->AddReference();
247  }
248 }
249 
251 {
253  return *static_cast<const TCreate_user_tracks*>(m_object);
254 }
255 
257 {
259  return *static_cast<TCreate_user_tracks*>(m_object);
260 }
261 
263 {
264  TCreate_user_tracks* ptr = &value;
265  if ( m_choice != e_Create_user_tracks || m_object != ptr ) {
266  ResetSelection();
267  (m_object = ptr)->AddReference();
269  }
270 }
271 
273 {
275  return *static_cast<const TCreate_remote_tracks*>(m_object);
276 }
277 
279 {
281  return *static_cast<TCreate_remote_tracks*>(m_object);
282 }
283 
285 {
287  if ( m_choice != e_Create_remote_tracks || m_object != ptr ) {
288  ResetSelection();
289  (m_object = ptr)->AddReference();
291  }
292 }
293 
295 {
297  return *static_cast<const TResolve_track_items*>(m_object);
298 }
299 
301 {
303  return *static_cast<TResolve_track_items*>(m_object);
304 }
305 
307 {
308  TResolve_track_items* ptr = &value;
309  if ( m_choice != e_Resolve_track_items || m_object != ptr ) {
310  ResetSelection();
311  (m_object = ptr)->AddReference();
313  }
314 }
315 
317 {
319  return *static_cast<const TRemove_user_tracks*>(m_object);
320 }
321 
323 {
325  return *static_cast<TRemove_user_tracks*>(m_object);
326 }
327 
329 {
330  TRemove_user_tracks* ptr = &value;
331  if ( m_choice != e_Remove_user_tracks || m_object != ptr ) {
332  ResetSelection();
333  (m_object = ptr)->AddReference();
335  }
336 }
337 
339 {
341  return *static_cast<const TRetrieve_tracksets*>(m_object);
342 }
343 
345 {
347  return *static_cast<TRetrieve_tracksets*>(m_object);
348 }
349 
351 {
352  TRetrieve_tracksets* ptr = &value;
353  if ( m_choice != e_Retrieve_tracksets || m_object != ptr ) {
354  ResetSelection();
355  (m_object = ptr)->AddReference();
357  }
358 }
359 
361 {
363  return *static_cast<const TCreate_trackset*>(m_object);
364 }
365 
367 {
369  return *static_cast<TCreate_trackset*>(m_object);
370 }
371 
373 {
374  TCreate_trackset* ptr = &value;
375  if ( m_choice != e_Create_trackset || m_object != ptr ) {
376  ResetSelection();
377  (m_object = ptr)->AddReference();
379  }
380 }
381 
383 {
385  return *static_cast<const TRename_trackset*>(m_object);
386 }
387 
389 {
391  return *static_cast<TRename_trackset*>(m_object);
392 }
393 
395 {
396  TRename_trackset* ptr = &value;
397  if ( m_choice != e_Rename_trackset || m_object != ptr ) {
398  ResetSelection();
399  (m_object = ptr)->AddReference();
401  }
402 }
403 
405 {
407  return *static_cast<const TSupported_assemblies*>(m_object);
408 }
409 
411 {
413  return *static_cast<TSupported_assemblies*>(m_object);
414 }
415 
417 {
419  if ( m_choice != e_Supported_assemblies || m_object != ptr ) {
420  ResetSelection();
421  (m_object = ptr)->AddReference();
423  }
424 }
425 
426 // helper methods
427 
428 // type info
430 {
431  SET_CHOICE_MODULE("NCBI-TrackManager");
432  ADD_NAMED_REF_CHOICE_VARIANT("display-tracks", m_object, CTMgr_DisplayTrackRequest);
433  ADD_NAMED_REF_CHOICE_VARIANT("switch-display-tracks", m_object, CTMgr_SwitchTrackContextRequest);
434  ADD_NAMED_REF_CHOICE_VARIANT("track-attr-values", m_object, CTMgr_TrackAttrValueRequest);
435  ADD_NAMED_REF_CHOICE_VARIANT("blast-tracks", m_object, CTMgr_BlastRIDRequest);
436  ADD_NAMED_REF_CHOICE_VARIANT("create-user-tracks", m_object, CTMgr_CreateUserTrackRequest);
437  ADD_NAMED_REF_CHOICE_VARIANT("create-remote-tracks", m_object, CTMgr_CreateRemoteTrackRequest);
438  ADD_NAMED_REF_CHOICE_VARIANT("resolve-track-items", m_object, CTMgr_ItemResolverRequest);
439  ADD_NAMED_REF_CHOICE_VARIANT("remove-user-tracks", m_object, CTMgr_RemoveUserTrackRequest);
440  ADD_NAMED_REF_CHOICE_VARIANT("retrieve-tracksets", m_object, CTMgr_RetrieveTracksetRequest);
441  ADD_NAMED_REF_CHOICE_VARIANT("create-trackset", m_object, CTMgr_CreateTracksetRequest);
443  ADD_NAMED_REF_CHOICE_VARIANT("supported-assemblies", m_object, CTMgr_SupportedAssembliesRequest);
444  info->CodeVersion(22400);
445  info->DataSpec(ncbi::EDataSpec::eASN);
446 }
448 
449 // constructor
451  : m_choice(e_not_set)
452 {
453 }
454 
455 // destructor
457 {
458  Reset();
459 }
460 
461 
462 
463 END_objects_SCOPE // namespace ncbi::objects::
464 
466 
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
BEGIN_NAMED_BASE_CHOICE_INFO("TMgr-Request", CTMgr_Request)
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
User-defined methods of the data storage class.
CTMgr_BlastRIDRequest –.
CTMgr_CreateRemoteTrackRequest –.
CTMgr_CreateTracksetRequest –.
CTMgr_CreateUserTrackRequest –.
CTMgr_RemoveUserTrackRequest –.
CTMgr_RenameMyNCBICollectionRequest –.
CTMgr_RetrieveTracksetRequest –.
CTMgr_SupportedAssembliesRequest –.
CTMgr_SwitchTrackContextRequest –.
CTMgr_TrackAttrValueRequest –.
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 ADD_NAMED_REF_CHOICE_VARIANT(MemberAlias, MemberName, ClassName)
Definition: serialimpl.hpp:400
#define END_CHOICE_INFO
Definition: serialimpl.hpp:506
#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
#define END_NCBI_SCOPE
End previously defined NCBI scope.
Definition: ncbistl.hpp:103
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
Definition: ncbistl.hpp:100
const TResolve_track_items & GetResolve_track_items(void) const
Get the variant data.
TCreate_trackset & SetCreate_trackset(void)
Select the variant.
TSwitch_display_tracks & SetSwitch_display_tracks(void)
Select the variant.
const TRename_trackset & GetRename_trackset(void) const
Get the variant data.
NCBI_NS_NCBI::CSerialObject * m_object
static const char *const sm_SelectionNames[]
void Select(E_Choice index, EResetVariant reset=eDoResetVariant)
Select the requested variant if needed.
const TSwitch_display_tracks & GetSwitch_display_tracks(void) const
Get the variant data.
virtual ~CTMgr_Request_Base(void)
E_Choice
Choice variants.
TRetrieve_tracksets & SetRetrieve_tracksets(void)
Select the variant.
const TTrack_attr_values & GetTrack_attr_values(void) const
Get the variant data.
TRename_trackset & SetRename_trackset(void)
Select the variant.
const TSupported_assemblies & GetSupported_assemblies(void) const
Get the variant data.
const TRetrieve_tracksets & GetRetrieve_tracksets(void) const
Get the variant data.
TDisplay_tracks & SetDisplay_tracks(void)
Select the variant.
virtual void Reset(void)
Reset the whole object.
const TCreate_trackset & GetCreate_trackset(void) const
Get the variant data.
TSupported_assemblies & SetSupported_assemblies(void)
Select the variant.
TCreate_user_tracks & SetCreate_user_tracks(void)
Select the variant.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
const TCreate_remote_tracks & GetCreate_remote_tracks(void) const
Get the variant data.
const TDisplay_tracks & GetDisplay_tracks(void) const
Get the variant data.
const TRemove_user_tracks & GetRemove_user_tracks(void) const
Get the variant data.
TBlast_tracks & SetBlast_tracks(void)
Select the variant.
virtual void ResetSelection(void)
Reset the selection (set it to e_not_set).
TCreate_remote_tracks & SetCreate_remote_tracks(void)
Select the variant.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TBlast_tracks & GetBlast_tracks(void) const
Get the variant data.
TResolve_track_items & SetResolve_track_items(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
TTrack_attr_values & SetTrack_attr_values(void)
Select the variant.
const TCreate_user_tracks & GetCreate_user_tracks(void) const
Get the variant data.
TRemove_user_tracks & SetRemove_user_tracks(void)
Select the variant.
@ e_not_set
No variant selected.
@ e_not_set
static MDB_envinfo info
Definition: mdb_load.c:37
const GenericPointer< typename T::ValueType > T2 value
Definition: pointer.h:1227
Modified on Wed May 01 14:19:59 2024 by modify_doxy.py rev. 669887