1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-11-19 06:33:35 -05:00

UDP Source multicast: REST API: implementation

This commit is contained in:
f4exb 2020-08-24 23:55:26 +02:00
parent e8c7c66794
commit 677448ee7d

View File

@ -383,6 +383,12 @@ void UDPSource::webapiUpdateChannelSettings(
if (channelSettingsKeys.contains("udpPort")) { if (channelSettingsKeys.contains("udpPort")) {
settings.m_udpPort = response.getUdpSourceSettings()->getUdpPort(); settings.m_udpPort = response.getUdpSourceSettings()->getUdpPort();
} }
if (channelSettingsKeys.contains("multicastAddress")) {
settings.m_multicastAddress = *response.getUdpSourceSettings()->getMulticastAddress();
}
if (channelSettingsKeys.contains("multicastJoin")) {
settings.m_multicastJoin = response.getUdpSourceSettings()->getMulticastJoin() != 0;
}
if (channelSettingsKeys.contains("title")) { if (channelSettingsKeys.contains("title")) {
settings.m_title = *response.getUdpSourceSettings()->getTitle(); settings.m_title = *response.getUdpSourceSettings()->getTitle();
} }
@ -444,6 +450,14 @@ void UDPSource::webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& res
response.getUdpSourceSettings()->setUdpPort(settings.m_udpPort); response.getUdpSourceSettings()->setUdpPort(settings.m_udpPort);
if (response.getUdpSourceSettings()->getMulticastAddress()) {
*response.getUdpSourceSettings()->getMulticastAddress() = settings.m_multicastAddress;
} else {
response.getUdpSourceSettings()->setMulticastAddress(new QString(settings.m_multicastAddress));
}
response.getUdpSourceSettings()->setMulticastJoin(settings.m_multicastJoin ? 1 : 0);
if (response.getUdpSourceSettings()->getTitle()) { if (response.getUdpSourceSettings()->getTitle()) {
*response.getUdpSourceSettings()->getTitle() = settings.m_title; *response.getUdpSourceSettings()->getTitle() = settings.m_title;
} else { } else {
@ -538,6 +552,12 @@ void UDPSource::webapiReverseSendSettings(QList<QString>& channelSettingsKeys, c
if (channelSettingsKeys.contains("udpPort") || force) { if (channelSettingsKeys.contains("udpPort") || force) {
swgUDPSourceSettings->setUdpPort(settings.m_udpPort); swgUDPSourceSettings->setUdpPort(settings.m_udpPort);
} }
if (channelSettingsKeys.contains("multicastAddress") || force) {
swgUDPSourceSettings->setMulticastAddress(new QString(settings.m_multicastAddress));
}
if (channelSettingsKeys.contains("multicastJoin") || force) {
swgUDPSourceSettings->setMulticastJoin(settings.m_multicastJoin ? 1 : 0);
}
if (channelSettingsKeys.contains("title") || force) { if (channelSettingsKeys.contains("title") || force) {
swgUDPSourceSettings->setTitle(new QString(settings.m_title)); swgUDPSourceSettings->setTitle(new QString(settings.m_title));
} }