30 lines
945 B
C++
30 lines
945 B
C++
#include "SyrlinksAssembly.h"
|
|
|
|
#include <eive/objects.h>
|
|
|
|
using namespace returnvalue;
|
|
|
|
SyrlinksAssembly::SyrlinksAssembly(object_id_t objectId) : AssemblyBase(objectId) {}
|
|
|
|
ReturnValue_t SyrlinksAssembly::commandChildren(Mode_t mode, Submode_t submode) {
|
|
commandTable[0].setMode(mode);
|
|
commandTable[0].setSubmode(submode);
|
|
HybridIterator<ModeListEntry> iter(commandTable.begin(), commandTable.end());
|
|
executeTable(iter);
|
|
return returnvalue::OK;
|
|
}
|
|
|
|
ReturnValue_t SyrlinksAssembly::checkChildrenStateOn(Mode_t wantedMode, Submode_t wantedSubmode) {
|
|
if (childrenMap[objects::SYRLINKS_HANDLER].mode != wantedMode) {
|
|
return NOT_ENOUGH_CHILDREN_IN_CORRECT_STATE;
|
|
}
|
|
return returnvalue::OK;
|
|
}
|
|
|
|
ReturnValue_t SyrlinksAssembly::isModeCombinationValid(Mode_t mode, Submode_t submode) {
|
|
if (mode == MODE_ON or mode == DeviceHandlerIF::MODE_NORMAL or mode == MODE_OFF) {
|
|
return returnvalue::OK;
|
|
}
|
|
return returnvalue::FAILED;
|
|
}
|