#include "SlaveAgentSlotOfAgent.h"
#include <cstdio>

SlaveAgentSlotOfAgent::SlaveAgentSlotOfAgent() {
  flag_slaveAgentValueIsSet = false;
  flag_slaveAgentValueHasChanged = false;
}

void SlaveAgentSlotOfAgent::set_slaveAgentValue(float slaveAgentValue) {
  if (flag_slaveAgentValueIsSet == false) {
    this->slaveAgentValue = slaveAgentValue;
    flag_slaveAgentValueHasChanged = true;
    flag_slaveAgentValueIsSet = true;
  } else {
    if (this->slaveAgentValue != slaveAgentValue) {
      this->slaveAgentValue = slaveAgentValue;
      flag_slaveAgentValueHasChanged = true;
    } else {
      flag_slaveAgentValueHasChanged = false;
    }
  }
  printf("slaveAgentSlot updated with: %f\n", this->slaveAgentValue);
}

bool SlaveAgentSlotOfAgent::get_slaveAgentValue(float *slaveAgentValue) {
  if (flag_slaveAgentValueIsSet == true) {
    *slaveAgentValue = this->slaveAgentValue;
    return true;
  }
  return false;
}
