Implement base classes for application components

PR #17219.
This commit is contained in:
Vladimir Golovnev
2022-06-25 15:46:55 +03:00
committed by GitHub
parent 41a38428fc
commit f8a304abdc
28 changed files with 256 additions and 69 deletions

View File

@@ -32,18 +32,20 @@
#include <QObject>
#include <QVariant>
#include "base/applicationcomponent.h"
class QString;
using DataMap = QHash<QString, QByteArray>;
using StringMap = QHash<QString, QString>;
class APIController : public QObject
class APIController : public QObject, public ApplicationComponent
{
Q_OBJECT
Q_DISABLE_COPY_MOVE(APIController)
public:
explicit APIController(QObject *parent = nullptr);
explicit APIController(IApplication *app, QObject *parent = nullptr);
QVariant run(const QString &action, const StringMap &params, const DataMap &data = {});