#pragma once // std #include // Qt #include #include #include #include class DynamicSignal final { public: DynamicSignal(); DynamicSignal(const QString& name, const QList& arguments); DynamicSignal(const DynamicSignal& signal); DynamicSignal& operator=(const DynamicSignal& signal); ~DynamicSignal(); bool isValid() const; QString name() const; QByteArray signature() const; bool validate(const QVariantList& arguments); private: void _initSignature(); struct SignalData; std::unique_ptr d; };