add RELOADCFG network command
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user