1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 21:54:55 -04:00

Web API: implemented /sdrange/devices: Get a list of sampling devices that can be used to take part in a device set

This commit is contained in:
f4exb
2017-11-22 18:57:35 +01:00
parent 09dc5913c7
commit 2ac9a82b02
9 changed files with 156 additions and 39 deletions
+27
View File
@@ -17,18 +17,22 @@
///////////////////////////////////////////////////////////////////////////////////
#include <QApplication>
#include <QList>
#include "mainwindow.h"
#include "loggerwithfile.h"
#include "device/devicesourceapi.h"
#include "device/devicesinkapi.h"
#include "device/deviceuiset.h"
#include "device/deviceenumerator.h"
#include "dsp/devicesamplesource.h"
#include "dsp/devicesamplesink.h"
#include "channel/channelsinkapi.h"
#include "channel/channelsourceapi.h"
#include "SWGInstanceSummaryResponse.h"
#include "SWGInstanceDevicesResponse.h"
#include "SWGDeviceListItem.h"
#include "SWGErrorResponse.h"
#include "webapiadaptergui.h"
@@ -137,4 +141,27 @@ int WebAPIAdapterGUI::instanceSummary(
return 200;
}
int WebAPIAdapterGUI::instanceDevices(
bool tx,
Swagger::SWGInstanceDevicesResponse& response,
Swagger::SWGErrorResponse& error __attribute__((unused)))
{
int nbSamplingDevices = tx ? DeviceEnumerator::instance()->getNbTxSamplingDevices() : DeviceEnumerator::instance()->getNbRxSamplingDevices();
response.setDevicecount(nbSamplingDevices);
QList<Swagger::SWGDeviceListItem*> *devices = response.getDevices();
for (int i = 0; i < nbSamplingDevices; i++)
{
PluginInterface::SamplingDevice samplingDevice = tx ? DeviceEnumerator::instance()->getTxSamplingDevice(i) : DeviceEnumerator::instance()->getRxSamplingDevice(i);
devices->append(new Swagger::SWGDeviceListItem);
*devices->back()->getDisplayedName() = samplingDevice.displayedName;
*devices->back()->getHwType() = samplingDevice.hardwareId;
*devices->back()->getSerial() = samplingDevice.serial;
devices->back()->setSequence(samplingDevice.sequence);
devices->back()->setTx(!samplingDevice.rxElseTx);
devices->back()->setNbStreams(samplingDevice.deviceNbItems);
devices->back()->setDeviceSetIndex(samplingDevice.claimed);
}
return 200;
}