81 case e_Obsolete_plugin:
84 m_object->RemoveReference();
96 (m_object =
new(pool) ncbi::objects::CSeq_id())->
AddReference();
99 (m_object =
new(pool) ncbi::objects::CSeq_entry())->
AddReference();
102 (m_object =
new(pool) ncbi::objects::CSeq_annot())->
AddReference();
105 (m_object =
new(pool) ncbi::objects::CSeq_submit())->
AddReference();
108 (m_object =
new(pool) ncbi::objects::CSeq_align())->
AddReference();
110 case e_Seq_align_set:
111 (m_object =
new(pool) ncbi::objects::CSeq_align_set())->
AddReference();
113 case e_Obsolete_plugin:
114 (m_object =
new(pool) ncbi::objects::CDummyObsoleteType())->
AddReference();
117 (m_object =
new(pool) ncbi::objects::CAbstractProjectItem())->
AddReference();
126 (m_object =
new(pool) ncbi::objects::CHugeFileProjectItem())->
AddReference();
151 return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames,
sizeof(sm_SelectionNames)/
sizeof(sm_SelectionNames[0]));
156 throw NCBI_NS_NCBI::CInvalidChoiceSelection(
DIAG_COMPILE_INFO,
this, m_choice, index, sm_SelectionNames,
sizeof(sm_SelectionNames)/
sizeof(sm_SelectionNames[0]));
162 return *
static_cast<const TId*
>(m_object);
168 return *
static_cast<TId*
>(m_object);
174 if ( m_choice != e_Id || m_object != ptr ) {
183 CheckSelected(e_Entry);
184 return *
static_cast<const TEntry*
>(m_object);
190 return *
static_cast<TEntry*
>(m_object);
196 if ( m_choice != e_Entry || m_object != ptr ) {
205 CheckSelected(e_Annot);
206 return *
static_cast<const TAnnot*
>(m_object);
212 return *
static_cast<TAnnot*
>(m_object);
218 if ( m_choice != e_Annot || m_object != ptr ) {
227 CheckSelected(e_Submit);
228 return *
static_cast<const TSubmit*
>(m_object);
234 return *
static_cast<TSubmit*
>(m_object);
240 if ( m_choice != e_Submit || m_object != ptr ) {
249 CheckSelected(e_Seq_align);
250 return *
static_cast<const TSeq_align*
>(m_object);
262 if ( m_choice != e_Seq_align || m_object != ptr ) {
265 m_choice = e_Seq_align;
271 CheckSelected(e_Seq_align_set);
284 if ( m_choice != e_Seq_align_set || m_object != ptr ) {
287 m_choice = e_Seq_align_set;
293 CheckSelected(e_Obsolete_plugin);
306 if ( m_choice != e_Obsolete_plugin || m_object != ptr ) {
309 m_choice = e_Obsolete_plugin;
315 CheckSelected(e_Other);
316 return *
static_cast<const TOther*
>(m_object);
322 return *
static_cast<TOther*
>(m_object);
328 if ( m_choice != e_Other || m_object != ptr ) {
337 CheckSelected(e_Huge_file);
338 return *
static_cast<const THuge_file*
>(m_object);
350 if ( m_choice != e_Huge_file || m_object != ptr ) {
353 m_choice = e_Huge_file;
375 info->CodeVersion(22400);
376 info->DataSpec(ncbi::EDataSpec::eASN);
445 info->CodeVersion(22400);
446 info->DataSpec(ncbi::EDataSpec::eASN);
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_CLASS_INFO("ProjectItem", CProjectItem)
BEGIN_NAMED_CHOICE_INFO("", CProjectItem_Base::C_Item)
User-defined methods of the data storage class.
#define DIAG_COMPILE_INFO
Make compile time diagnostic information object to use in CNcbiDiag and CException.
#define MEMBER_PTR(MemberName)
#define ADD_NAMED_MEMBER(MemberAlias, MemberName, TypeMacro, TypeMacroArgs)
#define ADD_NAMED_REF_MEMBER(MemberAlias, MemberName, ClassName)
#define ADD_NAMED_REF_CHOICE_VARIANT(MemberAlias, MemberName, ClassName)
#define ADD_NAMED_STD_MEMBER(MemberAlias, MemberName)
#define SET_CLASS_MODULE(ModuleName)
#define SET_INTERNAL_NAME(OwnerName, MemberName)
#define SET_CHOICE_MODULE(ModuleName)
#define ADD_NAMED_BUF_CHOICE_VARIANT(MemberAlias, MemberName, TypeMacro, TypeMacroArgs)
void AddReference(void) const
Add reference to object.
bool IsAllocatedInPool(void) const THROWS_NONE
Check if object is allocated in memory pool (not system heap)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
virtual void Reset(void)
Reset the whole object.
TSeq_align & SetSeq_align(void)
Select the variant.
TSubmit & SetSubmit(void)
Select the variant.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
const TObsolete_plugin & GetObsolete_plugin(void) const
Get the variant data.
virtual ~CProjectItem_Base(void)
void ResetData_plugin(void)
Reset Data_plugin data member.
static string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TAnnot & GetAnnot(void) const
Get the variant data.
void ResetItem(void)
Reset Item data member.
TId & SetId(void)
Select the variant.
void ResetDisabled(void)
Reset Disabled data member.
TSeq_align_set & SetSeq_align_set(void)
Select the variant.
TOther & SetOther(void)
Select the variant.
static const char *const sm_SelectionNames[]
TEntry & SetEntry(void)
Select the variant.
TAnnot & SetAnnot(void)
Select the variant.
const THuge_file & GetHuge_file(void) const
Get the variant data.
const TSeq_align & GetSeq_align(void) const
Get the variant data.
THuge_file & SetHuge_file(void)
Select the variant.
void Reset(void)
Reset the whole object.
const TOther & GetOther(void) const
Get the variant data.
void DoSelect(E_Choice index, CObjectMemoryPool *pool=0)
const TSeq_align_set & GetSeq_align_set(void) const
Get the variant data.
TObsolete_plugin & SetObsolete_plugin(void)
Select the variant.
void ResetLabel(void)
Reset Label data member.
list< CRef< CAnnotdesc > > m_Descr
const TId & GetId(void) const
Get the variant data.
const TEntry & GetEntry(void) const
Get the variant data.
void ResetDescr(void)
Reset Descr data member.
TItem & SetItem(void)
Assign a value to Item data member.
const TSubmit & GetSubmit(void) const
Get the variant data.
void ResetId(void)
Reset Id data member.
@ e_not_set
No variant selected.
const GenericPointer< typename T::ValueType > T2 value