#include "@this.name@.h"

@this.name@::~@this.name@() {}

bool @this.name@::start() const {
    return @this.start@;
}

int @this.name@::executeRules() {
    int iTriggeredRules = 0;
    if (bActive_) {
@
foreach i in this.rules {
    @        if (executeRule@i.key()@()) ++iTriggeredRules;
@
}
setProtectedArea("Post Processing, to handle by hand!");
@    }
    return iTriggeredRules;
}

@

#include "TrafficLight-sharedFunctions.cws"

foreach i in this.rules {
    @bool @this.name@::executeRule@i.key()@() {
    if (!bActive_ || (@convertAntecedent2Cpp(i.condition)@ == false)) return false;
@
    foreach j in i.actions {
        writeAction<j>(j, "C++");
    }
    @    return true;
}

@
}

Generated by CodeWorker v3.11.0.1 from CWscript2HTML.cwp.