18 #ifndef CUTELYST_APPLICATION_H 19 #define CUTELYST_APPLICATION_H 21 #include <QtCore/QObject> 22 #include <QtCore/QVariant> 23 #include <QtCore/QLocale> 24 #include <QtCore/QVector> 26 #include <Cutelyst/cutelyst_global.h> 32 #define CUTELYST_APPLICATION(x) \ 33 Q_PLUGIN_METADATA(x) \ 34 Q_INTERFACES(Cutelyst::Application) 48 class ApplicationPrivate;
82 QVector<Controller *> controllers()
const;
87 View *view(
const QString &name = QString())
const;
92 QVariant config(
const QString &key,
const QVariant &defaultValue = QVariant())
const;
104 QVector<DispatchType *> dispatchers()
const;
109 QVector<Plugin *> plugins()
const;
114 template <
typename T>
117 const auto pluginsConst = plugins();
118 for (
Plugin *plugin : pluginsConst) {
119 auto p = qobject_cast<T>(plugin);
131 QVariantMap config()
const;
136 QString pathTo(
const QString &path)
const;
157 Component *createComponentPlugin(
const QString &name, QObject *parent =
nullptr);
162 static const char *cutelystVersion();
192 void addTranslator(
const QLocale &locale, QTranslator *translator);
203 void addTranslator(
const QString &locale, QTranslator *translator);
212 void addTranslators(
const QLocale &locale,
const QVector<QTranslator *> &translators);
225 QString translate(
const QLocale &locale,
const char *context,
const char *sourceText,
const char *disambiguation =
nullptr,
int n = -1)
const;
252 void loadTranslations(
const QString &filename,
const QString &directory = QString(),
const QString &prefix = QString(),
const QString &suffix = QString());
279 QVector<QLocale> loadTranslationsFromDir(
const QString &filename,
const QString &directory = QString(),
const QString &prefix = QStringLiteral(
"."),
const QString &suffix = QStringLiteral(
".qm"));
302 QVector<QLocale> loadTranslationsFromDirs(
const QString &directory,
const QString &filename);
337 virtual bool postFork();
349 void addXCutelystVersionHeader();
358 bool registerPlugin(
Plugin *plugin);
370 bool registerController(
Controller *controller);
379 bool registerView(
View *view);
436 void setConfig(
const QString &key,
const QVariant &value);
444 bool setup(
Engine *engine);
454 bool enginePostFork();
456 ApplicationPrivate *d_ptr;
461 #define CutelystApplicationInterface_iid "org.cutelyst.CutelystApplicationInterface" 465 #endif // CUTELYST_APPLICATION_H
T plugin()
Returns the registered plugin that casts to the template type T.
The Cutelyst Component base class.
Cutelyst Controller base class
The Cutelyst namespace holds all public Cutelyst API.
Cutelyst View abstract view component
The Cutelyst Application.