1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-10-03 22:08:05 -04:00
sdrangel/swagger/sdrangel/code/qt5/client/SWGDeviceSet.cpp

135 lines
4.0 KiB
C++

/**
* SDRangel
* This is the web REST/JSON API of SDRangel SDR software. SDRangel is an Open Source Qt5/OpenGL 3.0+ (4.3+ in Windows) GUI and server Software Defined Radio and signal analyzer in software. It supports Airspy, BladeRF, HackRF, LimeSDR, PlutoSDR, RTL-SDR, SDRplay RSP1 and FunCube --- Limitations: * In SDRangel GUI version there is no support for channel deletion. As a consequence the call to the API /sdrangel/deviceset/{deviceSetIndex}/channel/{channelIndex} returns with a status code of 501 (not implemented) * Stopping instance i.e. /sdrangel with DELETE method is a server only feature. It allows stopping the instance nicely. * Preset import and export from/to file is a server only feature. * The following channels are not implemented (status 501 is returned): ATV demodulator, Channel Analyzer, Channel Analyzer NG, LoRa demodulator, TCP source * The content type returned is always application/json except in the following cases: * An incorrect URL was specified: this document is returned as text/html with a status 400 * There is no API adapter in the targeted instance: message \"Service not available\" as text/plain is returned with a status 500. This should not happen with released code. ---
*
* OpenAPI spec version: 4.0.0
* Contact: f4exb06@gmail.com
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
#include "SWGDeviceSet.h"
#include "SWGHelpers.h"
#include <QJsonDocument>
#include <QJsonArray>
#include <QObject>
#include <QDebug>
namespace SWGSDRangel {
SWGDeviceSet::SWGDeviceSet(QString* json) {
init();
this->fromJson(*json);
}
SWGDeviceSet::SWGDeviceSet() {
init();
}
SWGDeviceSet::~SWGDeviceSet() {
this->cleanup();
}
void
SWGDeviceSet::init() {
sampling_device = new SWGSamplingDevice();
channelcount = 0;
channels = new QList<SWGChannel*>();
}
void
SWGDeviceSet::cleanup() {
if(sampling_device != nullptr) {
delete sampling_device;
}
if(channels != nullptr) {
QList<SWGChannel*>* arr = channels;
foreach(SWGChannel* o, *arr) {
delete o;
}
delete channels;
}
}
SWGDeviceSet*
SWGDeviceSet::fromJson(QString &json) {
QByteArray array (json.toStdString().c_str());
QJsonDocument doc = QJsonDocument::fromJson(array);
QJsonObject jsonObject = doc.object();
this->fromJsonObject(jsonObject);
return this;
}
void
SWGDeviceSet::fromJsonObject(QJsonObject &pJson) {
::SWGSDRangel::setValue(&sampling_device, pJson["samplingDevice"], "SWGSamplingDevice", "SWGSamplingDevice");
::SWGSDRangel::setValue(&channelcount, pJson["channelcount"], "qint32", "");
::SWGSDRangel::setValue(&channels, pJson["channels"], "QList", "SWGChannel");
}
QString
SWGDeviceSet::asJson ()
{
QJsonObject* obj = this->asJsonObject();
QJsonDocument doc(*obj);
QByteArray bytes = doc.toJson();
return QString(bytes);
}
QJsonObject*
SWGDeviceSet::asJsonObject() {
QJsonObject* obj = new QJsonObject();
toJsonValue(QString("samplingDevice"), sampling_device, obj, QString("SWGSamplingDevice"));
obj->insert("channelcount", QJsonValue(channelcount));
QJsonArray channelsJsonArray;
toJsonArray((QList<void*>*)channels, &channelsJsonArray, "channels", "SWGChannel");
obj->insert("channels", channelsJsonArray);
return obj;
}
SWGSamplingDevice*
SWGDeviceSet::getSamplingDevice() {
return sampling_device;
}
void
SWGDeviceSet::setSamplingDevice(SWGSamplingDevice* sampling_device) {
this->sampling_device = sampling_device;
}
qint32
SWGDeviceSet::getChannelcount() {
return channelcount;
}
void
SWGDeviceSet::setChannelcount(qint32 channelcount) {
this->channelcount = channelcount;
}
QList<SWGChannel*>*
SWGDeviceSet::getChannels() {
return channels;
}
void
SWGDeviceSet::setChannels(QList<SWGChannel*>* channels) {
this->channels = channels;
}
}