LibreVNA/Software/PC_Application/LibreVNA-GUI/Device/compounddevice.h

45 lines
914 B
C
Raw Normal View History

2022-10-01 23:10:44 +08:00
#ifndef COMPOUNDDEVICE_H
#define COMPOUNDDEVICE_H
#include "savable.h"
#include <vector>
#include <QString>
class CompoundDevice : public Savable
{
friend class CompoundDeviceEditDialog;
public:
CompoundDevice();
2022-10-14 06:27:22 +08:00
nlohmann::json toJSON() override;
void fromJSON(nlohmann::json j) override;
2022-10-01 23:10:44 +08:00
class PortMapping {
public:
unsigned int device;
unsigned int port;
2022-10-14 06:27:22 +08:00
static int findActiveStage(std::vector<PortMapping> map, unsigned int device, unsigned int port);
2022-10-01 23:10:44 +08:00
};
enum class Synchronization {
USB,
ExtRef,
Trigger,
Last
};
static QString SyncToString(Synchronization sync);
static Synchronization SyncFromString(QString s);
QString getDesription();
QString name;
Synchronization sync;
std::vector<QString> deviceSerials;
std::vector<PortMapping> portMapping;
};
#endif // COMPOUNDDEVICE_H