41 #ifndef msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_TARGETTYPE_BASE_HPP
42 #define msbuild__BUILD_SYSTEM_PROJECT_TREE_BUILDER_MSBUILD_TARGETTYPE_BASE_HPP
51 #ifndef BEGIN_msbuild_SCOPE
52 # define BEGIN_msbuild_SCOPE BEGIN_SCOPE(msbuild)
53 # define END_msbuild_SCOPE END_SCOPE(msbuild)
81 typedef NCBI_NS_NCBI::CSerialObject
Tparent;
96 class C_Attlist :
public NCBI_NS_NCBI::CSerialObject
98 typedef NCBI_NS_NCBI::CSerialObject
Tparent;
557 class C_TPI :
public NCBI_NS_NCBI::CSerialObject
627 NCBI_NS_NCBI::CObjectMemoryPool* pool);
732 typedef NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< COnError > >
TOnError;
852 virtual void Reset(
void);
864 NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< COnError > >
m_OnError;
907 m_Name = std::forward<CTargetType_Base::C_Attlist::TName>(
value);
916 m_Name = UnassignedString();
932 return IsSetDependsOnTargets();
938 if (!CanGetDependsOnTargets()) {
941 return m_DependsOnTargets;
947 m_DependsOnTargets =
value;
954 m_DependsOnTargets = std::forward<CTargetType_Base::C_Attlist::TDependsOnTargets>(
value);
962 if (!IsSetDependsOnTargets()) {
963 m_DependsOnTargets = UnassignedString();
967 return m_DependsOnTargets;
979 return IsSetInputs();
985 if (!CanGetInputs()) {
1001 m_Inputs = std::forward<CTargetType_Base::C_Attlist::TInputs>(
value);
1009 if (!IsSetInputs()) {
1010 m_Inputs = UnassignedString();
1026 return IsSetOutputs();
1032 if (!CanGetOutputs()) {
1048 m_Outputs = std::forward<CTargetType_Base::C_Attlist::TOutputs>(
value);
1056 if (!IsSetOutputs()) {
1057 m_Outputs = UnassignedString();
1073 return IsSetCondition();
1079 if (!CanGetCondition()) {
1088 m_Condition =
value;
1095 m_Condition = std::forward<CTargetType_Base::C_Attlist::TCondition>(
value);
1103 if (!IsSetCondition()) {
1104 m_Condition = UnassignedString();
1120 return IsSetKeepDuplicateOutputs();
1126 if (!CanGetKeepDuplicateOutputs()) {
1129 return m_KeepDuplicateOutputs;
1135 m_KeepDuplicateOutputs =
value;
1142 m_KeepDuplicateOutputs = std::forward<CTargetType_Base::C_Attlist::TKeepDuplicateOutputs>(
value);
1150 if (!IsSetKeepDuplicateOutputs()) {
1151 m_KeepDuplicateOutputs = UnassignedString();
1155 return m_KeepDuplicateOutputs;
1167 return IsSetReturns();
1173 if (!CanGetReturns()) {
1189 m_Returns = std::forward<CTargetType_Base::C_Attlist::TReturns>(
value);
1197 if (!IsSetReturns()) {
1198 m_Returns = UnassignedString();
1214 return IsSetBeforeTargets();
1220 if (!CanGetBeforeTargets()) {
1223 return m_BeforeTargets;
1229 m_BeforeTargets =
value;
1236 m_BeforeTargets = std::forward<CTargetType_Base::C_Attlist::TBeforeTargets>(
value);
1244 if (!IsSetBeforeTargets()) {
1245 m_BeforeTargets = UnassignedString();
1249 return m_BeforeTargets;
1261 return IsSetAfterTargets();
1267 if (!CanGetAfterTargets()) {
1270 return m_AfterTargets;
1276 m_AfterTargets =
value;
1283 m_AfterTargets = std::forward<CTargetType_Base::C_Attlist::TAfterTargets>(
value);
1291 if (!IsSetAfterTargets()) {
1292 m_AfterTargets = UnassignedString();
1296 return m_AfterTargets;
1308 return IsSetLabel();
1314 if (!CanGetLabel()) {
1330 m_Label = std::forward<CTargetType_Base::C_Attlist::TLabel>(
value);
1338 if (!IsSetLabel()) {
1339 m_Label = UnassignedString();
1355 if ( m_choice != index )
1356 ThrowInvalidSelection(index);
1365 DoSelect(index, pool);
1372 Select(index, reset, 0);
1378 return m_choice == e_Task;
1384 return m_choice == e_PropertyGroup;
1390 return m_choice == e_ItemGroup;
1426 return m_TPI.NotEmpty();
#define END_msbuild_SCOPE
#define BEGIN_msbuild_SCOPE
Groups tasks into a section of the build process.
uint32_t Uint4
4-byte (32-bit) unsigned integer
bool IsSetAttlist(void) const
Check if a value has been assigned to Attlist data member.
virtual void Reset(void)
Reset the whole object.
TKeepDuplicateOutputs & SetKeepDuplicateOutputs(void)
Assign a value to KeepDuplicateOutputs data member.
NCBI_NS_NCBI::CSerialObject * m_object
NCBI_NS_STD::string TBeforeTargets
bool IsSetBeforeTargets(void) const
Optional semi-colon separated list of targets that this target should run before.
TTPI & SetTPI(void)
Assign a value to TPI data member.
void CheckSelected(E_Choice index) const
Verify selection, throw exception if it differs from the expected.
const TTask & GetTask(void) const
Get the variant data.
NCBI_NS_STD::string m_Outputs
CTargetType_Base(const CTargetType_Base &)
void ResetBeforeTargets(void)
Reset BeforeTargets data member.
const TReturns & GetReturns(void) const
Get the Returns member data.
void ResetLabel(void)
Reset Label data member.
const TCondition & GetCondition(void) const
Get the Condition member data.
NCBI_NS_NCBI::CSerialObject Tparent
void ResetAfterTargets(void)
Reset AfterTargets data member.
const TTPI & GetTPI(void) const
Get the TPI member data.
bool CanGetCondition(void) const
Check if it is safe to call GetCondition method.
DECLARE_INTERNAL_TYPE_INFO()
NCBI_NS_NCBI::CSerialObject Tparent
bool CanGetOnError(void) const
Check if it is safe to call GetOnError method.
bool IsSetTPI(void) const
Check if a value has been assigned to TPI data member.
void DoSelect(E_Choice index, NCBI_NS_NCBI::CObjectMemoryPool *pool=0)
DECLARE_INTERNAL_TYPE_INFO()
void ResetKeepDuplicateOutputs(void)
Reset KeepDuplicateOutputs data member.
void ResetCondition(void)
Reset Condition data member.
TReturns & SetReturns(void)
Assign a value to Returns data member.
static const char *const sm_SelectionNames[]
NCBI_NS_NCBI::CRef< TTPI > m_TPI
TLabel & SetLabel(void)
Assign a value to Label data member.
C_Attlist & operator=(const C_Attlist &)
NCBI_NS_STD::string TInputs
bool IsSetReturns(void) const
Optional expression evaluated to determine which items generated by the target should be returned by ...
const TPropertyGroup & GetPropertyGroup(void) const
Get the variant data.
const TBeforeTargets & GetBeforeTargets(void) const
Get the BeforeTargets member data.
bool CanGetLabel(void) const
Check if it is safe to call GetLabel method.
bool CanGetAfterTargets(void) const
Check if it is safe to call GetAfterTargets method.
bool CanGetReturns(void) const
Check if it is safe to call GetReturns method.
bool IsSetInputs(void) const
Optional semi-colon separated list of files that form inputs into this target.
void ResetDependsOnTargets(void)
Reset DependsOnTargets data member.
NCBI_NS_NCBI::CRef< TAttlist > m_Attlist
static NCBI_NS_STD::string SelectionName(E_Choice index)
Retrieve selection name (for diagnostic purposes).
void Reset(void)
Reset the whole object.
bool IsSetName(void) const
no elements are allowed under Target after an OnError element Name of the target Check if a value has...
void ResetOutputs(void)
Reset Outputs data member.
const TItemGroup & GetItemGroup(void) const
Get the variant data.
CTargetType_Base & operator=(const CTargetType_Base &)
void ResetTPI(void)
Reset TPI data member.
bool CanGetBeforeTargets(void) const
Check if it is safe to call GetBeforeTargets method.
const TAfterTargets & GetAfterTargets(void) const
Get the AfterTargets member data.
TOutputs & SetOutputs(void)
Assign a value to Outputs data member.
void ResetReturns(void)
Reset Returns data member.
NCBI_NS_STD::string TKeepDuplicateOutputs
TItemGroup & SetItemGroup(void)
Select the variant.
NCBI_NS_STD::string TReturns
NCBI_NS_STD::string TCondition
bool CanGetInputs(void) const
Check if it is safe to call GetInputs method.
NCBI_NS_STD::string m_DependsOnTargets
bool IsSetLabel(void) const
Optional expression.
void ThrowInvalidSelection(E_Choice index) const
Throw 'InvalidSelection' exception.
bool CanGetAttlist(void) const
Check if it is safe to call GetAttlist method.
bool CanGetTPI(void) const
Check if it is safe to call GetTPI method.
bool CanGetOutputs(void) const
Check if it is safe to call GetOutputs method.
TName & SetName(void)
Assign a value to Name data member.
NCBI_NS_STD::string m_Label
Tparent::CMemberIndex< E_memberIndex, 4 > TmemberIndex
bool IsSetOutputs(void) const
Optional semi-colon separated list of files that form outputs into this target.
NCBI_NS_STD::string m_Name
TOnError & SetOnError(void)
Assign a value to OnError data member.
NCBI_NS_STD::string TDependsOnTargets
NCBI_NS_STD::string m_Inputs
DECLARE_INTERNAL_TYPE_INFO()
void ResetInputs(void)
Reset Inputs data member.
TAttlist & SetAttlist(void)
Assign a value to Attlist data member.
void ResetOnError(void)
Reset OnError data member.
NCBI_NS_STD::string m_Condition
E_ChoiceStopper
Maximum+1 value of the choice variant enumerator.
void ResetName(void)
Reset Name data member.
E_Choice Which(void) const
Which variant is currently selected.
NCBI_NS_STD::string TOutputs
TCondition & SetCondition(void)
Assign a value to Condition data member.
bool IsItemGroup(void) const
Check if variant ItemGroup is selected.
TPropertyGroup & SetPropertyGroup(void)
Select the variant.
NCBI_NS_STD::string m_AfterTargets
TTask & SetTask(void)
Select the variant.
NCBI_NS_STD::string m_Returns
const TLabel & GetLabel(void) const
Get the Label member data.
bool CanGetKeepDuplicateOutputs(void) const
Check if it is safe to call GetKeepDuplicateOutputs method.
TInputs & SetInputs(void)
Assign a value to Inputs data member.
bool IsSetKeepDuplicateOutputs(void) const
Optional expression evaluated to determine whether duplicate items in the Target's Returns should be ...
CPropertyGroup TPropertyGroup
bool IsPropertyGroup(void) const
Check if variant PropertyGroup is selected.
bool CanGetName(void) const
Check if it is safe to call GetName method.
bool IsTask(void) const
Check if variant Task is selected.
NCBI_NS_STD::string TLabel
Tparent::CMemberIndex< E_memberIndex, 11 > TmemberIndex
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< COnError > > TOnError
void ResetSelection(void)
Reset the selection (set it to e_not_set).
bool IsSetAfterTargets(void) const
Optional semi-colon separated list of targets that this target should run after.
C_TPI & operator=(const C_TPI &)
NCBI_NS_STD::string m_BeforeTargets
NCBI_NS_STD::string m_KeepDuplicateOutputs
const TInputs & GetInputs(void) const
Get the Inputs member data.
const TKeepDuplicateOutputs & GetKeepDuplicateOutputs(void) const
Get the KeepDuplicateOutputs member data.
bool CanGetDependsOnTargets(void) const
Check if it is safe to call GetDependsOnTargets method.
TDependsOnTargets & SetDependsOnTargets(void)
Assign a value to DependsOnTargets data member.
NCBI_NS_STD::string TName
const TName & GetName(void) const
Get the Name member data.
const TOutputs & GetOutputs(void) const
Get the Outputs member data.
void ResetAttlist(void)
Reset Attlist data member.
bool IsSetOnError(void) const
Check if a value has been assigned to OnError data member.
TAfterTargets & SetAfterTargets(void)
Assign a value to AfterTargets data member.
NCBI_NS_NCBI::CSerialObject Tparent
const TAttlist & GetAttlist(void) const
Get the Attlist member data.
C_Attlist(const C_Attlist &)
void Reset(void)
Reset the whole object.
const TDependsOnTargets & GetDependsOnTargets(void) const
Get the DependsOnTargets member data.
NCBI_NS_STD::list< NCBI_NS_NCBI::CRef< COnError > > m_OnError
virtual ~CTargetType_Base(void)
bool IsSetDependsOnTargets(void) const
Optional semi-colon separated list of targets that should be run before this target Check if a value ...
void Select(E_Choice index, NCBI_NS_NCBI::EResetVariant reset=NCBI_NS_NCBI::eDoResetVariant)
Select the requested variant if needed.
NCBI_NS_STD::string TAfterTargets
bool IsSetCondition(void) const
Optional expression evaluated to determine whether the Target and the targets it depends on should be...
TBeforeTargets & SetBeforeTargets(void)
Assign a value to BeforeTargets data member.
const TOnError & GetOnError(void) const
Get the OnError member data.
@ e_MaxChoice
== e_ItemGroup+1
@ e_not_set
No variant selected.