#pragma once // Qt #include #include // DOtherSide #include "DOtherSideTypesCpp.h" #include "DOtherSide/DosIQObjectImpl.h" namespace DOS { /// This class model a QObject class DosQObject : public QObject, public DosIQObjectImpl { public: /// Constructor DosQObject(DosIQMetaObjectPtr metaObject, OnSlotExecuted onSlotExecuted); /// Emit a signal bool emitSignal(const QString& name, const std::vector& arguments) override; /// Return the metaObject const QMetaObject* metaObject() const override; /// The qt_metacall int qt_metacall(QMetaObject::Call, int, void **) override; private: std::unique_ptr m_impl; }; } // namespace DOS