Files
ECAP_Server/module/Local_Server/server/MLAT.h
T
2026-08-09 22:00:30 +08:00

38 lines
920 B
C++

#pragma once
#include "Psc_Cpp_Core/Base/JSON.h"
#include "adminive/managed.hpp"
struct MLAT_Config_Data {
bool merge{};
PSC_USE_JSON
};
namespace adminive {
template <>
struct Type_Descriptor<MLAT_Config_Data> {
static auto get() {
using T = MLAT_Config_Data;
return object<T>("mlat_config", "MLAT 配置",
ADMINIVE_FIELD_LABEL(T, merge, "合并 MLAT").editable().boolean_input());
}
};
}
class MLAT_Config {
public:
adminive::Managed_Value<MLAT_Config_Data> settings;
[[nodiscard]] Psc::JSON to_base_json() const {
return settings.read([](const auto& value) {
return value.to_base_json();
});
}
void from_json(const Psc::JSON* that_json, bool not_exist_use_default_value) {
settings.write([&](auto& value) {
value.from_base_json(that_json, not_exist_use_default_value);
});
}
};