#pragma once // std #include #include // Qt #include #include #include #include #include #include #include #include "private/qmetaobjectbuilder_p.h" class QString; class DynamicSlot final { public: DynamicSlot(); DynamicSlot(const QString& name, QMetaType::Type returnType, const QList& argumentsTypes); DynamicSlot(const DynamicSlot& slot); DynamicSlot& operator=(const DynamicSlot& slot); ~DynamicSlot(); QString name() const; bool isValid() const; QByteArray signature() const; QMetaType::Type returnType() const; QList argumentsTypes() const; QMetaType::Type argumentTypeAt(int i) const; private: void _initSignature(); struct SlotData; std::unique_ptr d; };