This commit is contained in:
2026-08-07 17:22:08 +03:00
parent 176022d490
commit 60dbba7a5f

View File

@@ -50,6 +50,11 @@ public:
return std::ranges::equal(this->_key, ADCLIB_NETMSG_KEYWORD_ACK); return std::ranges::equal(this->_key, ADCLIB_NETMSG_KEYWORD_ACK);
} }
bool isERR() const
{
return std::ranges::equal(this->_key, ADCLIB_NETMSG_KEYWORD_ERR);
}
bool isCMD() const bool isCMD() const
{ {
return std::ranges::equal(this->_key, ADCLIB_NETMSG_KEYWORD_CMD); return std::ranges::equal(this->_key, ADCLIB_NETMSG_KEYWORD_CMD);
@@ -74,20 +79,34 @@ public:
error_t createERR(error_t err) error_t createERR(error_t err)
{ {
return this->setKey(ADCLIB_NETMSG_KEYWORD_ERR, err.value()); return this->setKeyValue(ADCLIB_NETMSG_KEYWORD_ERR, err.value());
} }
template <snplib::snplib_serializable_c ATTR_NAME_T, snplib::snplib_serializable_c ValueT> template <snplib::snplib_serializable_c ATTR_NAME_T, typename... ArgTs>
error_t createSET(ATTR_NAME_T&& attr_name, ValueT&& value) requires(sizeof...(ArgTs) > 0)
error_t createSET(ATTR_NAME_T&& attr_name, ArgTs&&... args)
{ {
return this->setKeyValue(ADCLIB_NETMSG_KEYWORD_SET, std::forward<ATTR_NAME_T>(attr_name), auto err = this->setKeyValue(ADCLIB_NETMSG_KEYWORD_SET, std::forward<ATTR_NAME_T>(attr_name));
std::forward<ValueT>(value)); if (err) {
return err;
}
return this->appendValue(std::forward<ArgTs>(args)...);
} }
template <snplib::snplib_serializable_c ATTR_NAME_T> template <snplib::snplib_serializable_c ATTR_NAME_T, typename... ArgTs>
error_t createGET(ATTR_NAME_T&& attr_name) error_t createGET(ATTR_NAME_T&& attr_name, ArgTs&&... args)
{ {
return this->setKeyValue(ADCLIB_NETMSG_KEYWORD_GET, std::forward<ATTR_NAME_T>(attr_name)); auto err = this->setKeyValue(ADCLIB_NETMSG_KEYWORD_GET, std::forward<ATTR_NAME_T>(attr_name));
if (err) {
return err;
}
if constexpr (sizeof...(ArgTs)) {
return this->appendValue(std::forward<ArgTs>(args)...);
}
return {};
} }
template <snplib::snplib_serializable_c CMD_NAME_T> template <snplib::snplib_serializable_c CMD_NAME_T>