1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-05-30 22:02:26 -04:00

Merge pull request #1952 from anton-kotenko/master

fix SIGSEGV on /sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex}/settings endpoint
This commit is contained in:
Edouard Griffiths 2024-01-15 08:49:03 +01:00 committed by GitHub
commit 9ce5653beb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -4414,61 +4414,73 @@ bool WebAPIRequestMapper::getChannelSettings(
if (channelSettingsKey == "ADSBDemodSettings") if (channelSettingsKey == "ADSBDemodSettings")
{ {
channelSettings->setAdsbDemodSettings(new SWGSDRangel::SWGADSBDemodSettings()); channelSettings->setAdsbDemodSettings(new SWGSDRangel::SWGADSBDemodSettings());
channelSettings->getAdsbDemodSettings()->init();
channelSettings->getAdsbDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getAdsbDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "AISDemodSettings") else if (channelSettingsKey == "AISDemodSettings")
{ {
channelSettings->setAisDemodSettings(new SWGSDRangel::SWGAISDemodSettings()); channelSettings->setAisDemodSettings(new SWGSDRangel::SWGAISDemodSettings());
channelSettings->getAisDemodSettings()->init();
channelSettings->getAisDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getAisDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "AISModSettings") else if (channelSettingsKey == "AISModSettings")
{ {
channelSettings->setAisModSettings(new SWGSDRangel::SWGAISModSettings()); channelSettings->setAisModSettings(new SWGSDRangel::SWGAISModSettings());
channelSettings->getAisModSettings()->init();
channelSettings->getAisModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getAisModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "AMDemodSettings") else if (channelSettingsKey == "AMDemodSettings")
{ {
channelSettings->setAmDemodSettings(new SWGSDRangel::SWGAMDemodSettings()); channelSettings->setAmDemodSettings(new SWGSDRangel::SWGAMDemodSettings());
channelSettings->getAmDemodSettings()->init();
channelSettings->getAmDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getAmDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "AMModSettings") else if (channelSettingsKey == "AMModSettings")
{ {
channelSettings->setAmModSettings(new SWGSDRangel::SWGAMModSettings()); channelSettings->setAmModSettings(new SWGSDRangel::SWGAMModSettings());
channelSettings->getAmModSettings()->init();
channelSettings->getAmModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getAmModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "APTDemodSettings") else if (channelSettingsKey == "APTDemodSettings")
{ {
channelSettings->setAptDemodSettings(new SWGSDRangel::SWGAPTDemodSettings()); channelSettings->setAptDemodSettings(new SWGSDRangel::SWGAPTDemodSettings());
channelSettings->getAptDemodSettings()->init();
channelSettings->getAptDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getAptDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "ATVDemodSettings") else if (channelSettingsKey == "ATVDemodSettings")
{ {
channelSettings->setAtvDemodSettings(new SWGSDRangel::SWGATVDemodSettings()); channelSettings->setAtvDemodSettings(new SWGSDRangel::SWGATVDemodSettings());
channelSettings->getAtvDemodSettings()->init();
channelSettings->getAtvDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getAtvDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "ATVModSettings") else if (channelSettingsKey == "ATVModSettings")
{ {
channelSettings->setAtvModSettings(new SWGSDRangel::SWGATVModSettings()); channelSettings->setAtvModSettings(new SWGSDRangel::SWGATVModSettings());
channelSettings->getAtvModSettings()->init();
channelSettings->getAtvModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getAtvModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "BeamSteeringCWModSettings") else if (channelSettingsKey == "BeamSteeringCWModSettings")
{ {
channelSettings->setBeamSteeringCwModSettings(new SWGSDRangel::SWGBeamSteeringCWModSettings()); channelSettings->setBeamSteeringCwModSettings(new SWGSDRangel::SWGBeamSteeringCWModSettings());
channelSettings->getBeamSteeringCwModSettings()->init();
channelSettings->getBeamSteeringCwModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getBeamSteeringCwModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "BFMDemodSettings") else if (channelSettingsKey == "BFMDemodSettings")
{ {
channelSettings->setBfmDemodSettings(new SWGSDRangel::SWGBFMDemodSettings()); channelSettings->setBfmDemodSettings(new SWGSDRangel::SWGBFMDemodSettings());
channelSettings->getBfmDemodSettings()->init();
channelSettings->getBfmDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getBfmDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "ChannelAnalyzerSettings") else if (channelSettingsKey == "ChannelAnalyzerSettings")
{ {
channelSettings->setChannelAnalyzerSettings(new SWGSDRangel::SWGChannelAnalyzerSettings()); channelSettings->setChannelAnalyzerSettings(new SWGSDRangel::SWGChannelAnalyzerSettings());
channelSettings->getChannelAnalyzerSettings()->init();
channelSettings->getChannelAnalyzerSettings()->fromJsonObject(settingsJsonObject); channelSettings->getChannelAnalyzerSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "ChirpChatDemodSettings") else if (channelSettingsKey == "ChirpChatDemodSettings")
{ {
channelSettings->setChirpChatDemodSettings(new SWGSDRangel::SWGChirpChatDemodSettings()); channelSettings->setChirpChatDemodSettings(new SWGSDRangel::SWGChirpChatDemodSettings());
channelSettings->getChirpChatDemodSettings()->init();
channelSettings->getChirpChatDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getChirpChatDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "ChirpChatModSettings") else if (channelSettingsKey == "ChirpChatModSettings")
@ -4480,116 +4492,139 @@ bool WebAPIRequestMapper::getChannelSettings(
else if (channelSettingsKey == "DATVDemodSettings") else if (channelSettingsKey == "DATVDemodSettings")
{ {
channelSettings->setDatvDemodSettings(new SWGSDRangel::SWGDATVDemodSettings()); channelSettings->setDatvDemodSettings(new SWGSDRangel::SWGDATVDemodSettings());
channelSettings->getDatvDemodSettings()->init();
channelSettings->getDatvDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getDatvDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "DATVModSettings") else if (channelSettingsKey == "DATVModSettings")
{ {
channelSettings->setDatvModSettings(new SWGSDRangel::SWGDATVModSettings()); channelSettings->setDatvModSettings(new SWGSDRangel::SWGDATVModSettings());
channelSettings->getDatvModSettings()->init();
channelSettings->getDatvModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getDatvModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "DABDemodSettings") else if (channelSettingsKey == "DABDemodSettings")
{ {
channelSettings->setDabDemodSettings(new SWGSDRangel::SWGDABDemodSettings()); channelSettings->setDabDemodSettings(new SWGSDRangel::SWGDABDemodSettings());
channelSettings->getDabDemodSettings()->init();
channelSettings->getDabDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getDabDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "DOA2Settings") else if (channelSettingsKey == "DOA2Settings")
{ {
channelSettings->setDoa2Settings(new SWGSDRangel::SWGDOA2Settings()); channelSettings->setDoa2Settings(new SWGSDRangel::SWGDOA2Settings());
channelSettings->getDoa2Settings()->init();
channelSettings->getDoa2Settings()->fromJsonObject(settingsJsonObject); channelSettings->getDoa2Settings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "DSCDemodSettings") else if (channelSettingsKey == "DSCDemodSettings")
{ {
channelSettings->setDscDemodSettings(new SWGSDRangel::SWGDSCDemodSettings()); channelSettings->setDscDemodSettings(new SWGSDRangel::SWGDSCDemodSettings());
channelSettings->getDscDemodSettings()->init();
channelSettings->getDscDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getDscDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "DSDDemodSettings") else if (channelSettingsKey == "DSDDemodSettings")
{ {
channelSettings->setDsdDemodSettings(new SWGSDRangel::SWGDSDDemodSettings()); channelSettings->setDsdDemodSettings(new SWGSDRangel::SWGDSDDemodSettings());
channelSettings->getDsdDemodSettings()->init();
channelSettings->getDsdDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getDsdDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "FileSinkSettings") else if (channelSettingsKey == "FileSinkSettings")
{ {
channelSettings->setFileSinkSettings(new SWGSDRangel::SWGFileSinkSettings()); channelSettings->setFileSinkSettings(new SWGSDRangel::SWGFileSinkSettings());
channelSettings->getFileSinkSettings()->init();
channelSettings->getFileSinkSettings()->fromJsonObject(settingsJsonObject); channelSettings->getFileSinkSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "FileSourceSettings") else if (channelSettingsKey == "FileSourceSettings")
{ {
channelSettings->setFileSourceSettings(new SWGSDRangel::SWGFileSourceSettings()); channelSettings->setFileSourceSettings(new SWGSDRangel::SWGFileSourceSettings());
channelSettings->getFileSourceSettings()->init();
channelSettings->getFileSourceSettings()->fromJsonObject(settingsJsonObject); channelSettings->getFileSourceSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "FreeDVDemodSettings") else if (channelSettingsKey == "FreeDVDemodSettings")
{ {
channelSettings->setFreeDvDemodSettings(new SWGSDRangel::SWGFreeDVDemodSettings()); channelSettings->setFreeDvDemodSettings(new SWGSDRangel::SWGFreeDVDemodSettings());
channelSettings->getFreeDvDemodSettings()->init();
channelSettings->getFreeDvDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getFreeDvDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "FreeDVModSettings") else if (channelSettingsKey == "FreeDVModSettings")
{ {
channelSettings->setFreeDvModSettings(new SWGSDRangel::SWGFreeDVModSettings()); channelSettings->setFreeDvModSettings(new SWGSDRangel::SWGFreeDVModSettings());
channelSettings->getFreeDvModSettings()->init();
channelSettings->getFreeDvModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getFreeDvModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "FreqScannerSettings") else if (channelSettingsKey == "FreqScannerSettings")
{ {
channelSettings->setFreqScannerSettings(new SWGSDRangel::SWGFreqScannerSettings()); channelSettings->setFreqScannerSettings(new SWGSDRangel::SWGFreqScannerSettings());
channelSettings->getFreqScannerSettings()->init();
channelSettings->getFreqScannerSettings()->fromJsonObject(settingsJsonObject); channelSettings->getFreqScannerSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "FreqTrackerSettings") else if (channelSettingsKey == "FreqTrackerSettings")
{ {
channelSettings->setFreqTrackerSettings(new SWGSDRangel::SWGFreqTrackerSettings()); channelSettings->setFreqTrackerSettings(new SWGSDRangel::SWGFreqTrackerSettings());
channelSettings->getFreqTrackerSettings()->init();
channelSettings->getFreqTrackerSettings()->fromJsonObject(settingsJsonObject); channelSettings->getFreqTrackerSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "FT8DemodSettings") else if (channelSettingsKey == "FT8DemodSettings")
{ {
channelSettings->setFt8DemodSettings(new SWGSDRangel::SWGFT8DemodSettings()); channelSettings->setFt8DemodSettings(new SWGSDRangel::SWGFT8DemodSettings());
channelSettings->getFt8DemodSettings()->init();
channelSettings->getFt8DemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getFt8DemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "HeatMapSettings") else if (channelSettingsKey == "HeatMapSettings")
{ {
channelSettings->setHeatMapSettings(new SWGSDRangel::SWGHeatMapSettings()); channelSettings->setHeatMapSettings(new SWGSDRangel::SWGHeatMapSettings());
channelSettings->getHeatMapSettings()->init();
channelSettings->getHeatMapSettings()->fromJsonObject(settingsJsonObject); channelSettings->getHeatMapSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "IEEE_802_15_4_ModSettings") else if (channelSettingsKey == "IEEE_802_15_4_ModSettings")
{ {
channelSettings->setIeee802154ModSettings(new SWGSDRangel::SWGIEEE_802_15_4_ModSettings()); channelSettings->setIeee802154ModSettings(new SWGSDRangel::SWGIEEE_802_15_4_ModSettings());
channelSettings->getIeee802154ModSettings()->init();
channelSettings->getIeee802154ModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getIeee802154ModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "ILSDemodSettings") else if (channelSettingsKey == "ILSDemodSettings")
{ {
channelSettings->setIlsDemodSettings(new SWGSDRangel::SWGILSDemodSettings()); channelSettings->setIlsDemodSettings(new SWGSDRangel::SWGILSDemodSettings());
channelSettings->getIlsDemodSettings()->init();
channelSettings->getIlsDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getIlsDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "InterferometerSettings") else if (channelSettingsKey == "InterferometerSettings")
{ {
channelSettings->setInterferometerSettings(new SWGSDRangel::SWGInterferometerSettings()); channelSettings->setInterferometerSettings(new SWGSDRangel::SWGInterferometerSettings());
channelSettings->getInterferometerSettings()->init();
channelSettings->getInterferometerSettings()->fromJsonObject(settingsJsonObject); channelSettings->getInterferometerSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "NavtexDemodSettings") else if (channelSettingsKey == "NavtexDemodSettings")
{ {
channelSettings->setNavtexDemodSettings(new SWGSDRangel::SWGNavtexDemodSettings()); channelSettings->setNavtexDemodSettings(new SWGSDRangel::SWGNavtexDemodSettings());
channelSettings->getNavtexDemodSettings()->init();
channelSettings->getNavtexDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getNavtexDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "M17DemodSettings") else if (channelSettingsKey == "M17DemodSettings")
{ {
channelSettings->setM17DemodSettings(new SWGSDRangel::SWGM17DemodSettings()); channelSettings->setM17DemodSettings(new SWGSDRangel::SWGM17DemodSettings());
channelSettings->getM17DemodSettings()->init();
channelSettings->getM17DemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getM17DemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "M17ModSettings") else if (channelSettingsKey == "M17ModSettings")
{ {
channelSettings->setM17ModSettings(new SWGSDRangel::SWGM17ModSettings()); channelSettings->setM17ModSettings(new SWGSDRangel::SWGM17ModSettings());
channelSettings->getM17ModSettings()->init();
channelSettings->getM17ModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getM17ModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "NFMDemodSettings") else if (channelSettingsKey == "NFMDemodSettings")
{ {
channelSettings->setNfmDemodSettings(new SWGSDRangel::SWGNFMDemodSettings()); channelSettings->setNfmDemodSettings(new SWGSDRangel::SWGNFMDemodSettings());
channelSettings->getNfmDemodSettings()->init();
channelSettings->getNfmDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getNfmDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "NFMModSettings") else if (channelSettingsKey == "NFMModSettings")
{ {
channelSettings->setNfmModSettings(new SWGSDRangel::SWGNFMModSettings()); channelSettings->setNfmModSettings(new SWGSDRangel::SWGNFMModSettings());
channelSettings->getNfmModSettings()->init();
channelSettings->getNfmModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getNfmModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "NoiseFigureSettings") else if (channelSettingsKey == "NoiseFigureSettings")
{ {
channelSettings->setNoiseFigureSettings(new SWGSDRangel::SWGNoiseFigureSettings()); channelSettings->setNoiseFigureSettings(new SWGSDRangel::SWGNoiseFigureSettings());
channelSettings->getNoiseFigureSettings()->init();
channelSettings->getNoiseFigureSettings()->fromJsonObject(settingsJsonObject); channelSettings->getNoiseFigureSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "LocalSinkSettings") else if (channelSettingsKey == "LocalSinkSettings")
@ -4601,91 +4636,109 @@ bool WebAPIRequestMapper::getChannelSettings(
else if (channelSettingsKey == "LocalSourceSettings") else if (channelSettingsKey == "LocalSourceSettings")
{ {
channelSettings->setLocalSourceSettings(new SWGSDRangel::SWGLocalSourceSettings()); channelSettings->setLocalSourceSettings(new SWGSDRangel::SWGLocalSourceSettings());
channelSettings->getLocalSourceSettings()->init();
channelSettings->getLocalSourceSettings()->fromJsonObject(settingsJsonObject); channelSettings->getLocalSourceSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "PacketDemodSettings") else if (channelSettingsKey == "PacketDemodSettings")
{ {
channelSettings->setPacketDemodSettings(new SWGSDRangel::SWGPacketDemodSettings()); channelSettings->setPacketDemodSettings(new SWGSDRangel::SWGPacketDemodSettings());
channelSettings->getPacketDemodSettings()->init();
channelSettings->getPacketDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getPacketDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "PacketModSettings") else if (channelSettingsKey == "PacketModSettings")
{ {
channelSettings->setPacketModSettings(new SWGSDRangel::SWGPacketModSettings()); channelSettings->setPacketModSettings(new SWGSDRangel::SWGPacketModSettings());
channelSettings->getPacketModSettings()->init();
channelSettings->getPacketModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getPacketModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "PagerDemodSettings") else if (channelSettingsKey == "PagerDemodSettings")
{ {
channelSettings->setPagerDemodSettings(new SWGSDRangel::SWGPagerDemodSettings()); channelSettings->setPagerDemodSettings(new SWGSDRangel::SWGPagerDemodSettings());
channelSettings->getPagerDemodSettings()->init();
channelSettings->getPagerDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getPagerDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "PSK31ModSettings") else if (channelSettingsKey == "PSK31ModSettings")
{ {
channelSettings->setPsk31ModSettings(new SWGSDRangel::SWGPSK31ModSettings()); channelSettings->setPsk31ModSettings(new SWGSDRangel::SWGPSK31ModSettings());
channelSettings->getPsk31ModSettings()->init();
channelSettings->getPsk31ModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getPsk31ModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "RadioAstronomySettings") else if (channelSettingsKey == "RadioAstronomySettings")
{ {
channelSettings->setRadioAstronomySettings(new SWGSDRangel::SWGRadioAstronomySettings()); channelSettings->setRadioAstronomySettings(new SWGSDRangel::SWGRadioAstronomySettings());
channelSettings->getRadioAstronomySettings()->init();
channelSettings->getRadioAstronomySettings()->fromJsonObject(settingsJsonObject); channelSettings->getRadioAstronomySettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "RadioClockSettings") else if (channelSettingsKey == "RadioClockSettings")
{ {
channelSettings->setRadioClockSettings(new SWGSDRangel::SWGRadioClockSettings()); channelSettings->setRadioClockSettings(new SWGSDRangel::SWGRadioClockSettings());
channelSettings->getRadioClockSettings()->init();
channelSettings->getRadioClockSettings()->fromJsonObject(settingsJsonObject); channelSettings->getRadioClockSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "RadiosondeDemodSettings") else if (channelSettingsKey == "RadiosondeDemodSettings")
{ {
channelSettings->setRadiosondeDemodSettings(new SWGSDRangel::SWGRadiosondeDemodSettings()); channelSettings->setRadiosondeDemodSettings(new SWGSDRangel::SWGRadiosondeDemodSettings());
channelSettings->getRadiosondeDemodSettings()->init();
channelSettings->getRadiosondeDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getRadiosondeDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "RemoteSinkSettings") else if (channelSettingsKey == "RemoteSinkSettings")
{ {
channelSettings->setRemoteSinkSettings(new SWGSDRangel::SWGRemoteSinkSettings()); channelSettings->setRemoteSinkSettings(new SWGSDRangel::SWGRemoteSinkSettings());
channelSettings->getRemoteSinkSettings()->init();
channelSettings->getRemoteSinkSettings()->fromJsonObject(settingsJsonObject); channelSettings->getRemoteSinkSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "RemoteSourceSettings") else if (channelSettingsKey == "RemoteSourceSettings")
{ {
channelSettings->setRemoteSourceSettings(new SWGSDRangel::SWGRemoteSourceSettings()); channelSettings->setRemoteSourceSettings(new SWGSDRangel::SWGRemoteSourceSettings());
channelSettings->getRemoteSourceSettings()->init();
channelSettings->getRemoteSourceSettings()->fromJsonObject(settingsJsonObject); channelSettings->getRemoteSourceSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "RemoteTCPSinkSettings") else if (channelSettingsKey == "RemoteTCPSinkSettings")
{ {
channelSettings->setRemoteTcpSinkSettings(new SWGSDRangel::SWGRemoteTCPSinkSettings()); channelSettings->setRemoteTcpSinkSettings(new SWGSDRangel::SWGRemoteTCPSinkSettings());
channelSettings->getRemoteTcpSinkSettings()->init();
channelSettings->getRemoteTcpSinkSettings()->fromJsonObject(settingsJsonObject); channelSettings->getRemoteTcpSinkSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "RTTYDemodSettings") else if (channelSettingsKey == "RTTYDemodSettings")
{ {
channelSettings->setRttyDemodSettings(new SWGSDRangel::SWGRTTYDemodSettings()); channelSettings->setRttyDemodSettings(new SWGSDRangel::SWGRTTYDemodSettings());
channelSettings->getRttyDemodSettings()->init();
channelSettings->getRttyDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getRttyDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "RTTYModSettings") else if (channelSettingsKey == "RTTYModSettings")
{ {
channelSettings->setRttyModSettings(new SWGSDRangel::SWGRTTYModSettings()); channelSettings->setRttyModSettings(new SWGSDRangel::SWGRTTYModSettings());
channelSettings->getRttyModSettings()->init();
channelSettings->getRttyModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getRttyModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "SigMFFileSinkSettings") else if (channelSettingsKey == "SigMFFileSinkSettings")
{ {
channelSettings->setSigMfFileSinkSettings(new SWGSDRangel::SWGSigMFFileSinkSettings()); channelSettings->setSigMfFileSinkSettings(new SWGSDRangel::SWGSigMFFileSinkSettings());
channelSettings->getSigMfFileSinkSettings()->init();
channelSettings->getSigMfFileSinkSettings()->fromJsonObject(settingsJsonObject); channelSettings->getSigMfFileSinkSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "SSBDemodSettings") else if (channelSettingsKey == "SSBDemodSettings")
{ {
channelSettings->setSsbDemodSettings(new SWGSDRangel::SWGSSBDemodSettings()); channelSettings->setSsbDemodSettings(new SWGSDRangel::SWGSSBDemodSettings());
channelSettings->getSsbDemodSettings()->init();
channelSettings->getSsbDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getSsbDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "SSBModSettings") else if (channelSettingsKey == "SSBModSettings")
{ {
channelSettings->setSsbModSettings(new SWGSDRangel::SWGSSBModSettings()); channelSettings->setSsbModSettings(new SWGSDRangel::SWGSSBModSettings());
channelSettings->getSsbModSettings()->init();
channelSettings->getSsbModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getSsbModSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "UDPSourceSettings") else if (channelSettingsKey == "UDPSourceSettings")
{ {
channelSettings->setUdpSourceSettings(new SWGSDRangel::SWGUDPSourceSettings()); channelSettings->setUdpSourceSettings(new SWGSDRangel::SWGUDPSourceSettings());
channelSettings->getUdpSourceSettings()->init();
channelSettings->getUdpSourceSettings()->fromJsonObject(settingsJsonObject); channelSettings->getUdpSourceSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "UDPSinkSettings") else if (channelSettingsKey == "UDPSinkSettings")
{ {
channelSettings->setUdpSinkSettings(new SWGSDRangel::SWGUDPSinkSettings()); channelSettings->setUdpSinkSettings(new SWGSDRangel::SWGUDPSinkSettings());
channelSettings->getUdpSinkSettings()->init();
channelSettings->getUdpSinkSettings()->fromJsonObject(settingsJsonObject); channelSettings->getUdpSinkSettings()->fromJsonObject(settingsJsonObject);
} }
// else if (channelSettingsKey == "VORDemodMCSettings") // else if (channelSettingsKey == "VORDemodMCSettings")
@ -4696,16 +4749,19 @@ bool WebAPIRequestMapper::getChannelSettings(
else if (channelSettingsKey == "VORDemodSettings") else if (channelSettingsKey == "VORDemodSettings")
{ {
channelSettings->setVorDemodSettings(new SWGSDRangel::SWGVORDemodSettings()); channelSettings->setVorDemodSettings(new SWGSDRangel::SWGVORDemodSettings());
channelSettings->getVorDemodSettings()->init();
channelSettings->getVorDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getVorDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "WFMDemodSettings") else if (channelSettingsKey == "WFMDemodSettings")
{ {
channelSettings->setWfmDemodSettings(new SWGSDRangel::SWGWFMDemodSettings()); channelSettings->setWfmDemodSettings(new SWGSDRangel::SWGWFMDemodSettings());
channelSettings->getWfmDemodSettings()->init();
channelSettings->getWfmDemodSettings()->fromJsonObject(settingsJsonObject); channelSettings->getWfmDemodSettings()->fromJsonObject(settingsJsonObject);
} }
else if (channelSettingsKey == "WFMModSettings") else if (channelSettingsKey == "WFMModSettings")
{ {
channelSettings->setWfmModSettings(new SWGSDRangel::SWGWFMModSettings()); channelSettings->setWfmModSettings(new SWGSDRangel::SWGWFMModSettings());
channelSettings->getWfmModSettings()->init();
channelSettings->getWfmModSettings()->fromJsonObject(settingsJsonObject); channelSettings->getWfmModSettings()->fromJsonObject(settingsJsonObject);
} }
else else