#include "startByName.h"

StartByNameWorker::StartByNameWorker(Handler *handler, const std::string &name, Nan::Callback *callback) :
    AsyncWorker(callback), _handler(handler), _name(name)
{
}

void StartByNameWorker::Execute()
{
  std::string err;

  if (!this->_handler->startByName(this->_name, err))
    SetErrorMessage(err.c_str());
}

void StartByNameWorker::HandleOKCallback()
{
  v8::Local<v8::Value> argv[] = { Nan::Null() };

  this->callback->Call(1, argv);
}

void StartByNameWorker::HandleErrorCallback()
{
  v8::Local<v8::Value> argv[] = { v8::String::NewFromUtf8(Nan::GetCurrentContext()->GetIsolate(), this->ErrorMessage()) };

  this->callback->Call(1, argv);
}