#pragma once #include #include class SignalData; class DynamicQObject; class DynamicSignal { 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); static bool validate(const QList& argumentsTypes, const QVariantList& argumentsValues); private: void _initSignature(); std::unique_ptr d; };