41 #ifndef msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_NATIVEREFERENCE_BASE_HPP
42 #define msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_NATIVEREFERENCE_BASE_HPP
51 #ifndef BEGIN_msbuild_SCOPE
52 # define BEGIN_msbuild_SCOPE BEGIN_SCOPE(msbuild)
53 # define END_msbuild_SCOPE END_SCOPE(msbuild)
74 typedef NCBI_NS_NCBI::CSerialObject
Tparent;
89 class C_Attlist :
public NCBI_NS_NCBI::CSerialObject
91 typedef NCBI_NS_NCBI::CSerialObject
Tparent;
357 class C_NH :
public NCBI_NS_NCBI::CSerialObject
426 NCBI_NS_NCBI::CObjectMemoryPool* pool);
502 NCBI_NS_NCBI::CUnionBuffer<NCBI_NS_STD::string>
m_string;
567 NCBI_NS_NCBI::CRef< TNH >
m_NH;
654 virtual void Reset(
void);
686 return IsSetInclude();
692 if (!CanGetInclude()) {
708 m_Include = std::forward<CNativeReference_Base::C_Attlist::TInclude>(
value);
716 if (!IsSetInclude()) {
717 m_Include = UnassignedString();
733 return IsSetCondition();
739 if (!CanGetCondition()) {
755 m_Condition = std::forward<CNativeReference_Base::C_Attlist::TCondition>(
value);
763 if (!IsSetCondition()) {
764 m_Condition = UnassignedString();
780 return IsSetExclude();
786 if (!CanGetExclude()) {
802 m_Exclude = std::forward<CNativeReference_Base::C_Attlist::TExclude>(
value);
810 if (!IsSetExclude()) {
811 m_Exclude = UnassignedString();
827 return IsSetRemove();
833 if (!CanGetRemove()) {
849 m_Remove = std::forward<CNativeReference_Base::C_Attlist::TRemove>(
value);
857 if (!IsSetRemove()) {
858 m_Remove = UnassignedString();
880 if (!CanGetLabel()) {
896 m_Label = std::forward<CNativeReference_Base::C_Attlist::TLabel>(
value);
905 m_Label = UnassignedString();
921 if ( m_choice != index )
922 ThrowInvalidSelection(index);
931 DoSelect(index, pool);
938 Select(index, reset, 0);
944 return m_choice == e_Name;
950 CheckSelected(e_Name);
964 return m_choice == e_HintPath;
970 CheckSelected(e_HintPath);
984 return m_NH.NotEmpty();
#define END_msbuild_SCOPE
#define BEGIN_msbuild_SCOPE
Reference to a native manifest file, or to a file that contains a native manifest.
Reference to a native manifest file, or to a file that contains a native manifest.
uint32_t Uint4
4-byte (32-bit) unsigned integer
TExclude & SetExclude(void)
Assign a value to Exclude data member.
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_NativeReference > > m_NativeReference
bool CanGetAttlist(void) const
Check if it is safe to call GetAttlist method.
bool IsSetInclude(void) const
redefine Include just to give a specific description Check if a value has been assigned to Include da...
bool IsSetNativeReference(void) const
Check if a value has been assigned to NativeReference data member.
void Reset(void)
Reset the whole object.
TCondition & SetCondition(void)
Assign a value to Condition data member.
static NCBI_NS_STD::string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
virtual void Reset(void)
Reset the whole object.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
void ResetNativeReference(void)
Reset NativeReference data member.
const TInclude & GetInclude(void) const
Get the Include member data.
bool CanGetLabel(void) const
Check if it is safe to call GetLabel method.
const THintPath & GetHintPath(void) const
Get the variant data.
const TCondition & GetCondition(void) const
Get the Condition member data.
NCBI_NS_NCBI::CSerialObject Tparent
bool IsSetLabel(void) const
Optional expression.
NCBI_NS_STD::string THintPath
NCBI_NS_STD::string TInclude
DECLARE_INTERNAL_TYPE_INFO()
bool CanGetRemove(void) const
Check if it is safe to call GetRemove method.
bool IsSetCondition(void) const
Optional expression evaluated to determine whether the items should be evaluated Check if a value has...
bool IsSetRemove(void) const
Semi-colon separated list of files (wildcards are allowed) or other item names to remove from the exi...
bool IsSetExclude(void) const
Semi-colon separated list of files (wildcards are allowed) or other item names to exclude from the In...
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< C_E_NativeReference > > TNativeReference
bool CanGetInclude(void) const
Check if it is safe to call GetInclude method.
bool IsSetAttlist(void) const
Check if a value has been assigned to Attlist data member.
static const char *const sm_SelectionNames[]
CNativeReference_Base(const CNativeReference_Base &)
C_Attlist & operator=(const C_Attlist &)
const TNH & GetNH(void) const
Get the NH member data.
bool CanGetExclude(void) const
Check if it is safe to call GetExclude method.
bool CanGetNativeReference(void) const
Check if it is safe to call GetNativeReference method.
bool IsSetNH(void) const
Check if a value has been assigned to NH data member.
const TNativeReference & GetNativeReference(void) const
Get the NativeReference member data.
TAttlist & SetAttlist(void)
Assign a value to Attlist data member.
void ResetLabel(void)
Reset Label data member.
NCBI_NS_NCBI::CSerialObject Tparent
NCBI_NS_STD::string TLabel
NCBI_NS_NCBI::CRef< TNH > m_NH
NCBI_NS_STD::string m_Include
const TAttlist & GetAttlist(void) const
Get the Attlist member data.
void ResetRemove(void)
Reset Remove data member.
const TExclude & GetExclude(void) const
Get the Exclude member data.
NCBI_NS_STD::string TRemove
C_E_NativeReference(const C_E_NativeReference &)
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
NCBI_NS_NCBI::CRef< TAttlist > m_Attlist
void ResetInclude(void)
Reset Include data member.
C_Attlist(const C_Attlist &)
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
Tparent::CMemberIndex< E_memberIndex, 6 > TmemberIndex
const TName & GetName(void) const
Get the variant data.
THintPath & SetHintPath(void)
Select the variant.
void ResetSelection(void)
Reset the selection (set it to e_not_set).
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
void Reset(void)
Reset the whole object.
virtual ~CNativeReference_Base(void)
TRemove & SetRemove(void)
Assign a value to Remove data member.
void ResetExclude(void)
Reset Exclude data member.
bool CanGetCondition(void) const
Check if it is safe to call GetCondition method.
void ResetCondition(void)
Reset Condition data member.
C_NH & operator=(const C_NH &)
NCBI_NS_STD::string m_Exclude
bool CanGetNH(void) const
Check if it is safe to call GetNH method.
NCBI_NS_STD::string m_Condition
CNativeReference_Base & operator=(const CNativeReference_Base &)
NCBI_NS_NCBI::CUnionBuffer< NCBI_NS_STD::string > m_string
void Reset(void)
Reset the whole object.
Tparent::CMemberIndex< E_memberIndex, 3 > TmemberIndex
NCBI_NS_STD::string m_Remove
DECLARE_INTERNAL_TYPE_INFO()
NCBI_NS_NCBI::CSerialObject Tparent
TNH & SetNH(void)
Assign a value to NH data member.
TNativeReference & SetNativeReference(void)
Assign a value to NativeReference data member.
DECLARE_INTERNAL_TYPE_INFO()
void ResetAttlist(void)
Reset Attlist data member.
const TLabel & GetLabel(void) const
Get the Label member data.
const TRemove & GetRemove(void) const
Get the Remove member data.
NCBI_NS_NCBI::CSerialObject Tparent
DECLARE_INTERNAL_TYPE_INFO()
bool IsName(void) const
Check if variant Name is selected.
Tparent::CMemberIndex< E_memberIndex, 2 > TmemberIndex
NCBI_NS_STD::string TName
NCBI_NS_STD::string TCondition
TName & SetName(void)
Select the variant.
C_E_NativeReference & operator=(const C_E_NativeReference &)
E_Choice Which(void) const
Which variant is currently selected.
NCBI_NS_STD::string m_Label
void * m_dummy_pointer_for_alignment
~C_E_NativeReference(void)
bool IsHintPath(void) const
Check if variant HintPath is selected.
NCBI_NS_STD::string TExclude
CNativeReference_Base(void)
void ResetNH(void)
Reset NH data member.
void Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset=NCBI_NS_NCBI::eDoResetVariant)
Select the requested variant if needed.
TLabel & SetLabel(void)
Assign a value to Label data member.
C_E_NativeReference(void)
TInclude & SetInclude(void)
Assign a value to Include data member.
@ e_Name
Base name of manifest file.
@ e_HintPath
Relative path to manifest file.
@ e_not_set
No variant selected.
@ e_MaxChoice
== e_HintPath+1
const GenericPointer< typename T::ValueType > T2 value