#include "utility.h"

#include <cstring>

#include "FSFWConfig.h"
#include "OBSWConfig.h"
#include "fsfw/serviceinterface/ServiceInterface.h"
#include "fsfw/timemanager/Clock.h"

void utility::handleSystemError(int retcode, std::string context) {
#if OBSW_VERBOSE_LEVEL >= 1
  sif::warning << context << ": System call failed with code " << retcode << ": "
               << strerror(retcode) << std::endl;
#endif
}

bool utility::timeSanityCheck() {
  timeval currentTime = {};
  Clock::getUptime(&currentTime);
  Clock::TimeOfDay_t currTimeOfDay = {};
  Clock::convertTimevalToTimeOfDay(&currentTime, &currTimeOfDay);
  if (currTimeOfDay.year == 2000) {
    return false;
  }
  return true;
}