81 info->SetRandomOrder(
true);
82 info->CodeVersion(22301);
83 info->DataSpec(ncbi::EDataSpec::eDTD);
89 : m_LNG(eAttlist_LNG_EN)
108 switch ( m_choice ) {
111 m_object->RemoveReference();
123 (m_object =
new(pool) linkout::CRule())->AddReference();
126 (m_object =
new(pool) linkout::CRuleToMany())->AddReference();
142 return NCBI_NS_NCBI::CInvalidChoiceSelection::GetName(index, sm_SelectionNames,
sizeof(sm_SelectionNames)/
sizeof(sm_SelectionNames[0]));
147 throw NCBI_NS_NCBI::CInvalidChoiceSelection(
DIAG_COMPILE_INFO,
this, m_choice, index, sm_SelectionNames,
sizeof(sm_SelectionNames)/
sizeof(sm_SelectionNames[0]));
152 CheckSelected(e_Rule);
153 return *
static_cast<const TRule*
>(m_object);
159 return *
static_cast<TRule*
>(m_object);
165 if ( m_choice != e_Rule || m_object != ptr ) {
167 (m_object = ptr)->AddReference();
174 CheckSelected(e_RuleToMany);
187 if ( m_choice != e_RuleToMany || m_object != ptr ) {
189 (m_object = ptr)->AddReference();
190 m_choice = e_RuleToMany;
203 info->CodeVersion(22301);
204 info->DataSpec(ncbi::EDataSpec::eDTD);
257 info->CodeVersion(22301);
258 info->DataSpec(ncbi::EDataSpec::eDTD);
297 (
m_object =
new(pool) linkout::CRule())->AddReference();
300 (
m_object =
new(pool) linkout::CRuleToMany())->AddReference();
377 info->CodeVersion(22301);
378 info->DataSpec(ncbi::EDataSpec::eDTD);
498 info->CodeVersion(22301);
499 info->DataSpec(ncbi::EDataSpec::eDTD);
522 (*m_Attlist).Reset();
580 info->CodeVersion(22301);
581 info->DataSpec(ncbi::EDataSpec::eDTD);
589 if ( !IsAllocatedInPool() ) {
#define BEGIN_linkout_SCOPE
#define END_linkout_SCOPE
User-defined methods of the data storage class.
BEGIN_linkout_SCOPE BEGIN_NAMED_ENUM_IN_INFO("", CObjectUrl_Base::C_Attlist::, EAttlist_LNG, false)
BEGIN_NAMED_CHOICE_INFO("", CObjectUrl_Base::C_Data::C_BaseData::C_Rule)
BEGIN_NAMED_CLASS_INFO("", CObjectUrl_Base::C_Attlist)
BEGIN_NAMED_BASE_CLASS_INFO("ObjectUrl", CObjectUrl)
User-defined methods of the data storage class.
User-defined methods of the data storage class.
End of SubObjectSelector group.
#define DIAG_COMPILE_INFO
Make compile time diagnostic information object to use in CNcbiDiag and CException.
#define MEMBER_PTR(MemberName)
#define SET_ENUM_INTERNAL_NAME(OwnerName, MemberName)
#define ADD_NAMED_MEMBER(MemberAlias, MemberName, TypeMacro, TypeMacroArgs)
#define ADD_NAMED_REF_MEMBER(MemberAlias, MemberName, ClassName)
#define SET_ENUM_MODULE(ModuleName)
#define ADD_NAMED_REF_CHOICE_VARIANT(MemberAlias, MemberName, ClassName)
#define ADD_NAMED_STD_MEMBER(MemberAlias, MemberName)
#define SET_CLASS_MODULE(ModuleName)
#define ADD_NAMED_ENUM_MEMBER(MemberAlias, MemberName, EnumName)
#define ADD_ENUM_VALUE(EnumValueName, EnumValueValue)
#define SET_INTERNAL_NAME(OwnerName, MemberName)
#define SET_CHOICE_MODULE(ModuleName)
void ResetAttlist(void)
Reset Attlist data member.
static const char *const sm_SelectionNames[]
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
NCBI_NS_STD::list< NCBI_NS_STD::string > m_Attribute
static NCBI_NS_STD::string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void ResetUrlName(void)
Reset UrlName data member.
NCBI_NS_STD::string m_Base
TRuleToMany & SetRuleToMany(void)
Select the variant.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void ResetSubjectType(void)
Reset SubjectType data member.
NCBI_NS_STD::list< NCBI_NS_STD::string > m_SubjectType
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
const TRule & GetRule(void) const
Get the variant data.
void ResetLNG(void)
Reset LNG data member.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void Reset(void)
Reset the whole object.
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
NCBI_NS_STD::string m_UrlName
NCBI_NS_NCBI::CSerialObject * m_object
TAttlist & SetAttlist(void)
Assign a value to Attlist data member.
TRule & SetRule(void)
Select the variant.
void Reset(void)
Reset the whole object.
TRuleToMany & SetRuleToMany(void)
Select the variant.
static NCBI_NS_STD::string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
const TRuleToMany & GetRuleToMany(void) const
Get the variant data.
void ResetAttribute(void)
Reset Attribute data member.
TRule & SetRule(void)
Assign a value to Rule data member.
TRule & SetRule(void)
Select the variant.
virtual void Reset(void)
Reset the whole object.
static const char *const sm_SelectionNames[]
void ResetBase(void)
Reset Base data member.
void Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset=NCBI_NS_NCBI::eDoResetVariant)
Select the requested variant if needed.
void Reset(void)
Reset the whole object.
const TRule & GetRule(void) const
Get the variant data.
const TRule & GetRule(void) const
Get the variant data.
const TRuleToMany & GetRuleToMany(void) const
Get the variant data.
NCBI_NS_NCBI::CRef< TRule > m_Rule
void ResetData(void)
Reset Data data member.
TBaseData & SetBaseData(void)
Select the variant.
const TBaseData & GetBaseData(void) const
Get the variant data.
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
NCBI_NS_NCBI::CRef< TAttlist > m_Attlist
void ResetSelection(void)
Reset the selection (set it to e_not_set).
static NCBI_NS_STD::string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void Reset(void)
Reset the whole object.
TRule & SetRule(void)
Select the variant.
virtual ~CObjectUrl_Base(void)
void ResetRule(void)
Reset Rule data member.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void Reset(void)
Reset the whole object.
NCBI_NS_NCBI::CRef< TData > m_Data
TData & SetData(void)
Assign a value to Data data member.
static const char *const sm_SelectionNames[]
@ e_not_set
No variant selected.