fixes
This commit is contained in:
@@ -290,7 +290,7 @@ public:
|
|||||||
return MccKeyValueHolderErrorCode::ERROR_DESERIAL;
|
return MccKeyValueHolderErrorCode::ERROR_DESERIAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
_changedKey.insert(key_hash);
|
// _changedKey.insert(key_hash);
|
||||||
|
|
||||||
return MccKeyValueHolderErrorCode::ERROR_OK;
|
return MccKeyValueHolderErrorCode::ERROR_OK;
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -111,6 +111,9 @@ public:
|
|||||||
: KIND == MccAltLimitKind::MAX_ALT_LIMIT ? "MAXALT-ZONE"
|
: KIND == MccAltLimitKind::MAX_ALT_LIMIT ? "MAXALT-ZONE"
|
||||||
: "ALTLIMIT-UNKNOWN";
|
: "ALTLIMIT-UNKNOWN";
|
||||||
|
|
||||||
|
MccAltLimitPZ& operator=(MccAltLimitPZ&&) = default;
|
||||||
|
MccAltLimitPZ& operator=(const MccAltLimitPZ&) = default;
|
||||||
|
|
||||||
template <mcc_angle_c T>
|
template <mcc_angle_c T>
|
||||||
T altLimit() const
|
T altLimit() const
|
||||||
requires(!std::derived_from<T, MccAngle>)
|
requires(!std::derived_from<T, MccAngle>)
|
||||||
@@ -390,25 +393,28 @@ struct MccDeserializer<MccAltLimitPZ<KIND>> : MccDeserializerBase {
|
|||||||
MccAltLimitPZ<KIND>& value,
|
MccAltLimitPZ<KIND>& value,
|
||||||
ParamsT const& params = mcc_serialization_params_t{})
|
ParamsT const& params = mcc_serialization_params_t{})
|
||||||
{
|
{
|
||||||
std::string_view s;
|
std::vector<std::string_view> s;
|
||||||
MccDeserializer<MccAngle> ades;
|
MccDeserializer<MccAngle> ades;
|
||||||
|
|
||||||
auto seq = std::views::split(params.seq_delim);
|
auto seq = std::views::split(input, params.seq_delim);
|
||||||
if (std::ranges::size(seq) < 2) {
|
if (std::ranges::distance(seq.begin(), seq.end()) < 2) {
|
||||||
s = utils::trimSpaces(seq, utils::TrimType::TRIM_BOTH);
|
for (auto const& seq_el : seq) {
|
||||||
|
s.push_back(utils::trimSpaces(seq_el, utils::TrimType::TRIM_BOTH));
|
||||||
|
}
|
||||||
|
|
||||||
MccAngle alt, lat;
|
MccAngle alt, lat;
|
||||||
|
|
||||||
auto err = ades(input, alt, params);
|
auto err = ades(s[0], alt, params);
|
||||||
if (err) {
|
if (err) {
|
||||||
return MccDeserializerErrorCode::ERROR_UNDERLYING_DESERIALIZER;
|
return MccDeserializerErrorCode::ERROR_UNDERLYING_DESERIALIZER;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = ades(input, lat, params);
|
err = ades(s[1], lat, params);
|
||||||
if (err) {
|
if (err) {
|
||||||
return MccDeserializerErrorCode::ERROR_UNDERLYING_DESERIALIZER;
|
return MccDeserializerErrorCode::ERROR_UNDERLYING_DESERIALIZER;
|
||||||
}
|
}
|
||||||
|
|
||||||
value = MccAltLimitPZ<KIND>{alt, lat};
|
value = MccAltLimitPZ<KIND>(alt, lat);
|
||||||
} else {
|
} else {
|
||||||
return MccDeserializerErrorCode::ERROR_INVALID_SERIALIZED_VALUE;
|
return MccDeserializerErrorCode::ERROR_INVALID_SERIALIZED_VALUE;
|
||||||
}
|
}
|
||||||
@@ -469,6 +475,11 @@ public:
|
|||||||
: axisKind == MccCoordKind::COORDS_KIND_DEC_OBS ? "DEC-AXIS-LIMITSWITCH-ZONE"
|
: axisKind == MccCoordKind::COORDS_KIND_DEC_OBS ? "DEC-AXIS-LIMITSWITCH-ZONE"
|
||||||
: "UKNOWN";
|
: "UKNOWN";
|
||||||
|
|
||||||
|
MccAxisLimitSwitchPZ(const MccAxisLimitSwitchPZ&) = default;
|
||||||
|
MccAxisLimitSwitchPZ(MccAxisLimitSwitchPZ&&) = default;
|
||||||
|
|
||||||
|
MccAxisLimitSwitchPZ& operator=(const MccAxisLimitSwitchPZ&) = default;
|
||||||
|
MccAxisLimitSwitchPZ& operator=(MccAxisLimitSwitchPZ&&) = default;
|
||||||
|
|
||||||
template <mcc_angle_c T>
|
template <mcc_angle_c T>
|
||||||
T minLimit() const
|
T minLimit() const
|
||||||
@@ -645,26 +656,30 @@ struct MccDeserializer<MccAxisLimitSwitchPZ<AXIS_KIND>> : MccDeserializerBase {
|
|||||||
MccAxisLimitSwitchPZ<AXIS_KIND>& value,
|
MccAxisLimitSwitchPZ<AXIS_KIND>& value,
|
||||||
ParamsT const& params = mcc_serialization_params_t{})
|
ParamsT const& params = mcc_serialization_params_t{})
|
||||||
{
|
{
|
||||||
std::string_view s;
|
std::vector<std::string_view> s;
|
||||||
MccDeserializer<MccAngle> ades;
|
MccDeserializer<MccAngle> ades;
|
||||||
|
|
||||||
auto seq = std::views::split(params.seq_delim);
|
auto seq = std::views::split(input, params.seq_delim);
|
||||||
if (std::ranges::size(seq) < 2) {
|
// if (std::ranges::size(seq) < 2) {
|
||||||
s = utils::trimSpaces(seq, utils::TrimType::TRIM_BOTH);
|
if (std::ranges::distance(seq.begin(), seq.end()) < 2) {
|
||||||
|
for (auto const& seq_el : seq) {
|
||||||
|
s.push_back(utils::trimSpaces(seq_el, utils::TrimType::TRIM_BOTH));
|
||||||
|
}
|
||||||
|
|
||||||
MccAngle minLim, maxLim;
|
MccAngle minLim, maxLim;
|
||||||
|
|
||||||
auto err = ades(input, minLim, params);
|
auto err = ades(s[0], minLim, params);
|
||||||
if (err) {
|
if (err) {
|
||||||
return MccDeserializerErrorCode::ERROR_UNDERLYING_DESERIALIZER;
|
return MccDeserializerErrorCode::ERROR_UNDERLYING_DESERIALIZER;
|
||||||
}
|
}
|
||||||
|
|
||||||
err = ades(input, maxLim, params);
|
err = ades(s[1], maxLim, params);
|
||||||
if (err) {
|
if (err) {
|
||||||
return MccDeserializerErrorCode::ERROR_UNDERLYING_DESERIALIZER;
|
return MccDeserializerErrorCode::ERROR_UNDERLYING_DESERIALIZER;
|
||||||
}
|
}
|
||||||
|
|
||||||
// WARNING: the class below is created without the PCM-class pointer!!!
|
// WARNING: the class below is created without the PCM-class pointer!!!
|
||||||
value = MccAxisLimitSwitchPZ<AXIS_KIND>{minLim, maxLim};
|
value = MccAxisLimitSwitchPZ<AXIS_KIND>(minLim, maxLim, nullptr);
|
||||||
} else {
|
} else {
|
||||||
return MccDeserializerErrorCode::ERROR_INVALID_SERIALIZED_VALUE;
|
return MccDeserializerErrorCode::ERROR_INVALID_SERIALIZED_VALUE;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user