#pragma once #include #include "qsacn_global.h" #include "sacn/universe.h" /** * @brief The QSacnUniverse class */ class QT_EXPORT QSacnUniverse : public QObject { Q_OBJECT public: friend class DMX::Universe; // permit callback to access the private notifier explicit QSacnUniverse(QObject *parent = nullptr, sACN::Universe *universe = nullptr); const QString description() const; uint16_t number() const; uint8_t priority() const; double rxRate() const; uint8_t slot(const u_int16_t) const; uint16_t activeSlots() const; bool isEditable() const; public slots: void setDescription(std::string desc); void setOptions(sACN::DATA::data_options o); void setPriority(uint8_t p); void setSyncAddress(uint16_t a); void setValue (const uint16_t addr, const uint8_t level); void setValue (const uint16_t addr, const uint16_t size, const uint8_t* profile); signals: void changed(); private: sACN::Universe *universe_; }; Q_DECLARE_METATYPE(QSacnUniverse*)