#pragma once #include #include "qsacnnode_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 slot) 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(sACN::Universe*); protected: void dataChangedNotifier(DMX::Universe* universe = nullptr); private: sACN::Universe *universe_; };