#pragma once #include #include #include "cmds_basic.h" namespace dispatch { class IOutput { public: virtual ~IOutput() = default; virtual void write(const QString &title, const QString& desc) = 0; }; class Dispatch { private: QHash> _cmds_map; QHash> _events_map; QList _output_list; public: QList allCmds() const; void registerCmd(quint64 addr, Inlet::IRunbase* unit, const QString& alias); QString getCmdAlias(quint64 addr) const; QString getCmdDefault(quint64 addr) const; void runWith(Inlet::IRunbase* unit); QList allEvents() const; void registerEvent(quint64 addr, Inlet::IRunbase* unit, const QString& alias); QString getEventAlias(quint64 addr) const; QString getEventDefault(quint64 addr) const; QString notifyWith(Inlet::IRunbase* unit); }; }