some improvements
This commit is contained in:
@ -139,7 +139,7 @@ GeneratesPeriodicHkIF* PeriodicHelper::getOwner() const { return owner; }
|
||||
ReturnValue_t PeriodicHelper::generateHousekeepingPacket(const dp::sid_t sid,
|
||||
MessageQueueId_t destination) {
|
||||
store_address_t storeId;
|
||||
const auto optSetSpec = getSetSpecification(sid);
|
||||
const auto optSetSpec = getMutSetSpecification(sid);
|
||||
if (!optSetSpec.has_value()) {
|
||||
return DATASET_NOT_FOUND;
|
||||
}
|
||||
@ -212,7 +212,7 @@ void PeriodicHelper::performPeriodicHkGeneration(SetSpecification& setSpec, time
|
||||
}
|
||||
|
||||
ReturnValue_t PeriodicHelper::togglePeriodicGeneration(const dp::sid_t sid, const bool enable) {
|
||||
const auto optSetSpec = getSetSpecification(sid);
|
||||
const auto optSetSpec = getMutSetSpecification(sid);
|
||||
if (!optSetSpec.has_value()) {
|
||||
printWarningOrError(sif::OutputTypes::OUT_WARNING, "togglePeriodicGeneration",
|
||||
DATASET_NOT_FOUND);
|
||||
@ -222,7 +222,7 @@ ReturnValue_t PeriodicHelper::togglePeriodicGeneration(const dp::sid_t sid, cons
|
||||
return returnvalue::OK;
|
||||
}
|
||||
|
||||
std::optional<std::reference_wrapper<SetSpecification>> PeriodicHelper::getSetSpecification(
|
||||
std::optional<std::reference_wrapper<SetSpecification>> PeriodicHelper::getMutSetSpecification(
|
||||
dp::sid_t structureId) {
|
||||
for (auto& receiver : setList) {
|
||||
if (receiver.dataId.sid == structureId) {
|
||||
@ -232,6 +232,16 @@ std::optional<std::reference_wrapper<SetSpecification>> PeriodicHelper::getSetSp
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
std::optional<std::reference_wrapper<const SetSpecification>> PeriodicHelper::getSetSpecification(
|
||||
dp::sid_t structureId) const {
|
||||
for (const auto& receiver : setList) {
|
||||
if (receiver.dataId.sid == structureId) {
|
||||
return receiver;
|
||||
}
|
||||
}
|
||||
return std::nullopt;
|
||||
}
|
||||
|
||||
ReturnValue_t PeriodicHelper::setCollectionInterval(dp::sid_t sid,
|
||||
dur_millis_t newCollectionIntervalMs) {
|
||||
bool wasUpdated = false;
|
||||
@ -250,7 +260,7 @@ ReturnValue_t PeriodicHelper::setCollectionInterval(dp::sid_t sid,
|
||||
|
||||
ReturnValue_t PeriodicHelper::generateSetStructurePacket(dp::structure_id_t sid) {
|
||||
// Get and check dataset first.
|
||||
auto optSetSpec = getSetSpecification(sid);
|
||||
auto optSetSpec = getMutSetSpecification(sid);
|
||||
if (!optSetSpec.has_value()) {
|
||||
printWarningOrError(sif::OutputTypes::OUT_WARNING, "performPeriodicHkGeneration",
|
||||
DATASET_NOT_FOUND);
|
||||
@ -301,10 +311,8 @@ ReturnValue_t PeriodicHelper::generateSetStructurePacket(dp::structure_id_t sid)
|
||||
ReturnValue_t PeriodicHelper::enablePeriodicPacket(const dp::structure_id_t structureId,
|
||||
const std::optional<dur_millis_t> frequencyMs) {
|
||||
// Get and check dataset first.
|
||||
const auto optSetSpec = getSetSpecification(structureId);
|
||||
const auto optSetSpec = getMutSetSpecification(structureId);
|
||||
if (!optSetSpec.has_value()) {
|
||||
printWarningOrError(sif::OutputTypes::OUT_WARNING, "performPeriodicHkGeneration",
|
||||
DATASET_NOT_FOUND);
|
||||
return DATASET_NOT_FOUND;
|
||||
}
|
||||
auto& setSpec = optSetSpec.value().get();
|
||||
@ -317,10 +325,8 @@ ReturnValue_t PeriodicHelper::enablePeriodicPacket(const dp::structure_id_t stru
|
||||
|
||||
ReturnValue_t PeriodicHelper::disablePeriodicPacket(const dp::structure_id_t structureId) {
|
||||
// Get and check dataset first.
|
||||
const auto optSetSpec = getSetSpecification(structureId);
|
||||
const auto optSetSpec = getMutSetSpecification(structureId);
|
||||
if (!optSetSpec.has_value()) {
|
||||
printWarningOrError(sif::OutputTypes::OUT_WARNING, "performPeriodicHkGeneration",
|
||||
DATASET_NOT_FOUND);
|
||||
return DATASET_NOT_FOUND;
|
||||
}
|
||||
auto& setSpec = optSetSpec.value().get();
|
||||
@ -328,6 +334,17 @@ ReturnValue_t PeriodicHelper::disablePeriodicPacket(const dp::structure_id_t str
|
||||
return returnvalue::OK;
|
||||
}
|
||||
|
||||
ReturnValue_t PeriodicHelper::collectionEnabled(dp::sid_t structureId,
|
||||
bool& collectionEnabled) const {
|
||||
// Get and check dataset first.
|
||||
const auto optSetSpec = getSetSpecification(structureId);
|
||||
if (!optSetSpec.has_value()) {
|
||||
return DATASET_NOT_FOUND;
|
||||
}
|
||||
auto& setSpec = optSetSpec.value().get();
|
||||
collectionEnabled = setSpec.periodicCollectionEnabled;
|
||||
return returnvalue::OK;
|
||||
}
|
||||
object_id_t PeriodicHelper::getCreatorObjectId() const { return owner->getObjectId(); }
|
||||
|
||||
void PeriodicHelper::printWarningOrError(sif::OutputTypes outputType, const char* functionName,
|
||||
|
Reference in New Issue
Block a user