#include "GpioCookie.h" #include GpioCookie::GpioCookie() { } ReturnValue_t GpioCookie::addGpio(gpioId_t gpioId, GpioBase* gpioConfig) { if (gpioConfig == nullptr) { sif::debug << "GpioCookie::addGpio: gpioConfig is nullpointer" << std::endl; return HasReturnvaluesIF::RETURN_FAILED; } auto gpioMapIter = gpioMap.find(gpioId); if(gpioMapIter == gpioMap.end()) { auto statusPair = gpioMap.emplace(gpioId, gpioConfig); if (statusPair.second == false) { #if FSFW_VERBOSE_LEVEL >= 1 sif::error << "GpioCookie::addGpio: Failed to add GPIO " << gpioId << " to GPIO map" << std::endl; #endif return HasReturnvaluesIF::RETURN_FAILED; } return HasReturnvaluesIF::RETURN_OK; } #if FSFW_VERBOSE_LEVEL >= 1 sif::error << "GpioCookie::addGpio: GPIO already exists in GPIO map " << std::endl; #endif return HasReturnvaluesIF::RETURN_FAILED; } GpioMap GpioCookie::getGpioMap() const { return gpioMap; } GpioCookie::~GpioCookie() {}