139 bool Run(
void)
override;
143 enum eType {eInclusive=0, eExclusive} Type;
147 PropValPair(
const std::string& prop,
const std::string& val,
152 void SetPropToValue() {
154 Prop->SetValue(Val->GetValue());
157 throw(Prop->GetName()+
" in distributor component is not known");
161 std::string GetPropName() {
return Prop->GetName(); }
162 std::string GetValString() {
return Val->GetName(); }
163 bool GetLateBoundProp() {
return Prop->IsLateBound(); }
164 bool GetLateBoundValue() {
return Val->IsLateBound();
173 Case() : Test(
nullptr) {}
176 for (
auto pair: PropValPairs)
delete pair;
181 void AddPropValPair(PropValPair* pvPair) {PropValPairs.push_back(pvPair);}
182 void SetPropValPairs() {
183 for (
auto pair: PropValPairs) pair->SetPropToValue();
185 std::vector<PropValPair*>::const_iterator IterPropValPairs(
void)
const
186 {
return PropValPairs.cbegin(); }
187 std::vector<PropValPair*>::const_iterator EndPropValPairs(
void)
const
188 {
return PropValPairs.cend(); }
189 bool HasTest() {
return Test !=
nullptr;}
190 bool GetTestResult() {
return Test->
Evaluate(); }
194 std::vector <PropValPair*> PropValPairs;
197 std::vector <Case*> Cases;
199 void Debug(
int from)
override;