add RELOADCFG network command

This commit is contained in:
2026-03-12 16:11:06 +03:00
parent 76c42c03f6
commit 70510def0f
4 changed files with 69 additions and 24 deletions

View File

@@ -57,18 +57,20 @@ Asibfm700MountNetServer::Asibfm700MountNetServer(asio::io_context& ctx,
output_msg.construct(mcc::network::MCC_COMMPROTO_KEYWORD_SERVER_ACK_STR,
ASIBFM700_COMMPROTO_KEYWORD_SITEGEO_STR, lon, lat);
} else if (input_msg.withKey(ASIBFM700_COMMPROTO_KEYWORD_RELOADCFG_STR)) {
if (input_msg.paramSize()) {
auto vp = input_msg.paramValue<std::string>(0);
auto err = mount_ptr->updateMountConfig(vp.value());
if (err) {
output_msg.construct(mcc::network::MCC_COMMPROTO_KEYWORD_SERVER_ERROR_STR, err);
} else {
output_msg.construct(mcc::network::MCC_COMMPROTO_KEYWORD_SERVER_ACK_STR,
ASIBFM700_COMMPROTO_KEYWORD_RELOADCFG_STR);
}
} else { // a filename must be given
output_msg.construct(mcc::network::MCC_COMMPROTO_KEYWORD_SERVER_ERROR_STR,
std::make_error_code(std::errc::invalid_argument));
Asibfm700Mount::error_t err;
auto vp = input_msg.paramValue<std::string>(0);
if (vp) { // filename is given
err = mount_ptr->updateMountConfig(vp.value());
} else { // reload with previous filename
err = mount_ptr->updateMountConfig();
}
if (err) {
output_msg.construct(mcc::network::MCC_COMMPROTO_KEYWORD_SERVER_ERROR_STR, err);
} else {
output_msg.construct(mcc::network::MCC_COMMPROTO_KEYWORD_SERVER_ACK_STR,
ASIBFM700_COMMPROTO_KEYWORD_RELOADCFG_STR);
}
} else {
// basic network message processing