#include "Task.hpp"

namespace otx {
namespace flash {

Task::Task(TaskCB cb, TaskCB cancelCb, void *userState) {
  this->mCB = cb;
  this->mUserState = userState;
  this->mCancelCb = cancelCb;
}

void *Task::getUserState(){
  return this->mUserState;
}
void Task::execute(){
  if(this->mCB){
    this->mCB(this);
  }
}
void Task::cancel() {
  if (this->mCancelCb) {
    this->mCancelCb(this);
  }
}

} // namespace flash
} // namespace otx