nodemanager/arguments/StartJobAndTaskArgs.cpp (38 lines of code) (raw):
#include "StartJobAndTaskArgs.h"
#include "../utils/JsonHelper.h"
#include "../utils/Logger.h"
using namespace hpc::arguments;
using namespace hpc::utils;
using namespace web;
StartJobAndTaskArgs::StartJobAndTaskArgs(int jobId, int taskId, ProcessStartInfo&& startInfo,
std::string&& userName, std::string&& password) :
JobId(jobId), TaskId(taskId), StartInfo(std::move(startInfo)),
UserName(std::move(userName)), Password(std::move(password))
{
//ctor
}
json::value StartJobAndTaskArgs::ToJson() const
{
json::value v;
json::value jobTaskId;
jobTaskId["JobId"] = this->JobId;
jobTaskId["TaskId"] = this->TaskId;
v["m_Item1"] = jobTaskId;
v["m_Item2"] = this->StartInfo.ToJson();
v["m_Item3"] = json::value::string(this->UserName);
v["m_Item4"] = json::value::string(this->Password);
v["m_Item5"] = json::value::string(this->PrivateKey);
v["m_Item6"] = json::value::string(this->PublicKey);
return v;
}
StartJobAndTaskArgs StartJobAndTaskArgs::FromJson(const json::value& j)
{
StartJobAndTaskArgs args(
JsonHelper<int>::Read("JobId", j.at("m_Item1")),
JsonHelper<int>::Read("TaskId", j.at("m_Item1")),
ProcessStartInfo::FromJson(j.at("m_Item2")),
JsonHelper<std::string>::Read("m_Item3", j),
JsonHelper<std::string>::Read("m_Item4", j));
args.PrivateKey = JsonHelper<std::string>::Read("m_Item5", j);
args.PublicKey = JsonHelper<std::string>::Read("m_Item6", j);
//
// if (!privateKey.empty())
// {
// Logger::Debug("Deserialized privateKey value {0}", privateKey);
// std::vector<unsigned char> certBytes =
// utility::conversions::from_base64(privateKey);
//
// args.Certificate = std::move(certBytes);
// }
return std::move(args);
}