34 #include <QJsonDocument>
35 #include <QMetaObject>
42 , m_sessionManager {sessionManager}
52 const QByteArray methodName =
action.toLatin1() +
"Action";
53 if (!QMetaObject::invokeMethod(
this, methodName.constData()))
76 const bool hasAllRequiredParams = std::all_of(requiredParams.cbegin(), requiredParams.cend()
77 , [
this](
const QString &requiredParam)
79 return params().contains(requiredParam);
82 if (!hasAllRequiredParams)
QHash< QString, QString > StringMap
QHash< QString, QByteArray > DataMap
QVariant run(const QString &action, const StringMap ¶ms, const DataMap &data={})
APIController(ISessionManager *sessionManager, QObject *parent=nullptr)
void requireParams(const QVector< QString > &requiredParams) const
const StringMap & params() const
ISessionManager * m_sessionManager
const DataMap & data() const
ISessionManager * sessionManager() const
void setResult(const QString &result)