Index: src/libchengine/FeedbackPredefinedRules.cpp =================================================================== diff -u -N -r08717141ce5f6926116c298cbc9442094a45bb67 -re6f64ea0eecaf86dfa1a42c80604d227b69be768 --- src/libchengine/FeedbackPredefinedRules.cpp (.../FeedbackPredefinedRules.cpp) (revision 08717141ce5f6926116c298cbc9442094a45bb67) +++ src/libchengine/FeedbackPredefinedRules.cpp (.../FeedbackPredefinedRules.cpp) (revision e6f64ea0eecaf86dfa1a42c80604d227b69be768) @@ -1,23 +1,22 @@ #include "stdafx.h" #include "FeedbackPredefinedRules.h" -#include "FeedbackAlreadyExistsRuleList.h" namespace chengine { - FeedbackAlreadyExistsRuleList FeedbackPredefinedRules::CreateAlreadyExistsRule(EPredefinedRuleCondition eCondition, EFeedbackResult eResult) + FeedbackAlreadyExistsRuleList FeedbackPredefinedRules::CreateAlreadyExistsRule(EAlreadyExistsPredefinedRuleCondition eCondition, EFeedbackResult eResult) { FeedbackAlreadyExistsRuleList ruleList; switch(eCondition) { - case EPredefinedRuleCondition::eCondition_ApplyToAll: + case EAlreadyExistsPredefinedRuleCondition::eCondition_ApplyToAll: { FeedbackAlreadyExistsRule rule; rule.SetResult(eResult); ruleList.Add(rule); break; } - case EPredefinedRuleCondition::eCondition_WhenDifferentDateOrSize: + case EAlreadyExistsPredefinedRuleCondition::eCondition_WhenDifferentDateOrSize: { FeedbackAlreadyExistsRule rule; rule.SetResult(eResult); @@ -33,7 +32,7 @@ break; } - case EPredefinedRuleCondition::eCondition_WhenSameDateAndSize: + case EAlreadyExistsPredefinedRuleCondition::eCondition_WhenSameDateAndSize: { FeedbackAlreadyExistsRule rule; rule.SetResult(eResult); @@ -44,7 +43,7 @@ ruleList.Add(rule); break; } - case EPredefinedRuleCondition::eCondition_WhenNewerThanDst: + case EAlreadyExistsPredefinedRuleCondition::eCondition_WhenNewerThanDst: { FeedbackAlreadyExistsRule rule; rule.SetResult(eResult); @@ -53,7 +52,7 @@ ruleList.Add(rule); break; } - case EPredefinedRuleCondition::eCondition_WhenOlderThanDst: + case EAlreadyExistsPredefinedRuleCondition::eCondition_WhenOlderThanDst: { FeedbackAlreadyExistsRule rule; rule.SetResult(eResult); @@ -62,7 +61,7 @@ ruleList.Add(rule); break; } - case EPredefinedRuleCondition::eCondition_WhenSmallerThanDst: + case EAlreadyExistsPredefinedRuleCondition::eCondition_WhenSmallerThanDst: { FeedbackAlreadyExistsRule rule; rule.SetResult(eResult); @@ -71,7 +70,7 @@ ruleList.Add(rule); break; } - case EPredefinedRuleCondition::eCondition_WhenBiggerThanDst: + case EAlreadyExistsPredefinedRuleCondition::eCondition_WhenBiggerThanDst: { FeedbackAlreadyExistsRule rule; rule.SetResult(eResult); @@ -86,4 +85,26 @@ return ruleList; } + + chengine::FeedbackErrorRuleList FeedbackPredefinedRules::CreateErrorRule(EErrorPredefinedRuleCondition eCondition, unsigned int uiSystemError, EFeedbackResult eResult) + { + FeedbackErrorRuleList ruleList; + + switch(eCondition) + { + case EErrorPredefinedRuleCondition::eCondition_WhenSameError: + { + FeedbackErrorRule rule; + rule.SetUseSystemErrorNo(true); + rule.SetSystemErrorNo(uiSystemError); + rule.SetResult(eResult); + ruleList.Add(rule); + break; + } + default: + throw std::runtime_error("Unhandled predefined rule condition"); + } + + return ruleList; + } }