/**
 * 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 and specifcities:    * In SDRangel GUI the first Rx device set cannot be deleted. Conversely the server starts with no device sets and its number of device sets can be reduced to zero by as many calls as necessary to /sdrangel/deviceset with DELETE method.   * Preset import and export from/to file is a server only feature.   * Device set focus is a GUI only feature.   * The following channels are not implemented (status 501 is returned): ATV and DATV demodulators, Channel Analyzer NG, LoRa demodulator   * The device settings and report structures contains only the sub-structure corresponding to the device type. The DeviceSettings and DeviceReport structures documented here shows all of them but only one will be or should be present at a time   * The channel settings and report structures contains only the sub-structure corresponding to the channel type. The ChannelSettings and ChannelReport structures documented here shows all of them but only one will be or should be present at a time    --- 
 *
 * OpenAPI spec version: 7.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.
 */

/*
 * SWGXtrxMIMOReport.h
 *
 * XTRX
 */

#ifndef SWGXtrxMIMOReport_H_
#define SWGXtrxMIMOReport_H_

#include <QJsonObject>



#include "SWGObject.h"
#include "export.h"

namespace SWGSDRangel {

class SWG_API SWGXtrxMIMOReport: public SWGObject {
public:
    SWGXtrxMIMOReport();
    SWGXtrxMIMOReport(QString* json);
    virtual ~SWGXtrxMIMOReport();
    void init();
    void cleanup();

    virtual QString asJson () override;
    virtual QJsonObject* asJsonObject() override;
    virtual void fromJsonObject(QJsonObject &json) override;
    virtual SWGXtrxMIMOReport* fromJson(QString &jsonString) override;

    qint32 getSuccess();
    void setSuccess(qint32 success);

    qint32 getFifoSize();
    void setFifoSize(qint32 fifo_size);

    qint32 getFifoFillRx();
    void setFifoFillRx(qint32 fifo_fill_rx);

    qint32 getFifoFillTx();
    void setFifoFillTx(qint32 fifo_fill_tx);

    float getTemperature();
    void setTemperature(float temperature);

    qint32 getGpsLock();
    void setGpsLock(qint32 gps_lock);

    qint32 getActualInputRate();
    void setActualInputRate(qint32 actual_input_rate);

    qint32 getActualOutputRate();
    void setActualOutputRate(qint32 actual_output_rate);

    qint32 getClockGenRate();
    void setClockGenRate(qint32 clock_gen_rate);


    virtual bool isSet() override;

private:
    qint32 success;
    bool m_success_isSet;

    qint32 fifo_size;
    bool m_fifo_size_isSet;

    qint32 fifo_fill_rx;
    bool m_fifo_fill_rx_isSet;

    qint32 fifo_fill_tx;
    bool m_fifo_fill_tx_isSet;

    float temperature;
    bool m_temperature_isSet;

    qint32 gps_lock;
    bool m_gps_lock_isSet;

    qint32 actual_input_rate;
    bool m_actual_input_rate_isSet;

    qint32 actual_output_rate;
    bool m_actual_output_rate_isSet;

    qint32 clock_gen_rate;
    bool m_clock_gen_rate_isSet;

};

}

#endif /* SWGXtrxMIMOReport_H_ */
