/* ** Copyright (C) 1999 Microsoft Corporation. All Rights Reserved. ** ** File: andcondition.cpp ** ** Author: ** ** Description: ** Implementation of the training library "andcondition" interface. ** ** History: */ #include "pch.h" #include "AndCondition.h" namespace Training { //------------------------------------------------------------------------------ // class methods //------------------------------------------------------------------------------ /* void */ AndCondition::AndCondition (Condition* pConditionA, Condition* pConditionB) : m_pConditionA (pConditionA), m_pConditionB (pConditionB) { } //------------------------------------------------------------------------------ /* void */ AndCondition::~AndCondition (void) { delete m_pConditionA; delete m_pConditionB; } //------------------------------------------------------------------------------ bool AndCondition::Start (void) { // make sure that both conditions get started before combining the results bool resultA = m_pConditionA->Start (); bool resultB = m_pConditionB->Start (); return resultA and resultB; } //------------------------------------------------------------------------------ void AndCondition::Stop (void) { // make sure that both conditions get stopped m_pConditionA->Stop (); m_pConditionB->Stop (); } //------------------------------------------------------------------------------ bool AndCondition::Evaluate (void) { // make sure that both conditions get evaluated before combining the results bool resultA = m_pConditionA->Evaluate (); bool resultB = m_pConditionB->Evaluate (); return resultA and resultB; } //------------------------------------------------------------------------------ }