You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

59 lines
1.2 KiB
C++

#pragma once
#include "nlohmann/json.hpp"
#include "GeneralUtils.h"
namespace nsMMF
{
// !!! Do Not change the order to support MMF use case
using InputStatus = struct _InputStatus {
char PtName[80]{};
bool On{ false };
// Padding
bool Padding1{ false };
bool Padding2{ false };
bool Padding3{ false };
bool Padding4{ false };
bool Padding5{ false };
bool Padding6{ false };
bool Padding7{ false };
// Assignment operator overload
_InputStatus& operator=(const _InputStatus& rhs)
{
//
strcpy_s(PtName, rhs.PtName);
On = rhs.On;
return *this;
}
};
}
namespace nsMMF
{
using namespace nlohmann;
using namespace nsUtils;
void from_json(const json& j, InputStatus& x);
void to_json(json& j, const InputStatus& x);
inline void from_json(const json& j, InputStatus& x)
{
std::string name = j.at("PtName").get<std::string>();
strcpy_s(x.PtName, name.c_str());
getValue(j, "On", x.On);
}
inline void to_json(json& j, const InputStatus& x)
{
j = nlohmann::json{
{ "PtName", x.PtName },
{ "On", x.On }
};
}
}