cutelyst
4.5.1
A C++ Web Framework built on top of Qt, using the simple approach of Catalyst (Perl) framework.
|
Manage status messages over multiple requests stored in the Session. More...
#include <Cutelyst/Plugins/StatusMessage>
Public Member Functions | |
StatusMessage (Application *parent) | |
virtual | ~StatusMessage () override |
QString | errorMgStashKey () const noexcept |
QString | sessionPrefix () const noexcept |
void | setErrorMgStashKey (const QString &errorMgStashKey) |
void | setSessionPrefix (const QString &sessionPrefix) |
void | setStatusMsgStashKey (const QString &statusMsgStashKey) |
void | setTokenParam (const QString &tokenParam) |
QString | statusMsgStashKey () const noexcept |
QString | tokenParam () const noexcept |
Public Member Functions inherited from Cutelyst::Plugin | |
Plugin (Application *parent) | |
Public Member Functions inherited from QObject | |
QObject (QObject *parent) | |
QBindable< QString > | bindableObjectName () |
bool | blockSignals (bool block) |
const QObjectList & | children () const const |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const |
void | deleteLater () |
void | destroyed (QObject *obj) |
bool | disconnect (const char *signal, const QObject *receiver, const char *method) const const |
bool | disconnect (const QObject *receiver, const char *method) const const |
void | dumpObjectInfo () const const |
void | dumpObjectTree () const const |
QList< QByteArray > | dynamicPropertyNames () const const |
virtual bool | event (QEvent *e) |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
T | findChild (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const |
QList< T > | findChildren (const QString &name, Qt::FindChildOptions options) const const |
QList< T > | findChildren (Qt::FindChildOptions options) const const |
bool | inherits (const char *className) const const |
void | installEventFilter (QObject *filterObj) |
bool | isQuickItemType () const const |
bool | isWidgetType () const const |
bool | isWindowType () const const |
void | killTimer (int id) |
virtual const QMetaObject * | metaObject () const const |
void | moveToThread (QThread *targetThread) |
QString | objectName () const const |
void | objectNameChanged (const QString &objectName) |
QObject * | parent () const const |
QVariant | property (const char *name) const const |
Q_CLASSINFO (Name, Value) | |
Q_EMIT Q_EMIT | |
Q_ENUM (...) | |
Q_ENUM_NS (...) | |
Q_ENUMS (...) | |
Q_FLAG (...) | |
Q_FLAG_NS (...) | |
Q_FLAGS (...) | |
Q_GADGET Q_GADGET | |
Q_GADGET_EXPORT (EXPORT_MACRO) | |
Q_INTERFACES (...) | |
Q_INVOKABLE Q_INVOKABLE | |
Q_MOC_INCLUDE Q_MOC_INCLUDE | |
Q_NAMESPACE Q_NAMESPACE | |
Q_NAMESPACE_EXPORT (EXPORT_MACRO) | |
Q_OBJECT Q_OBJECT | |
Q_PROPERTY (...) | |
Q_REVISION Q_REVISION | |
Q_SET_OBJECT_NAME (Object) | |
Q_SIGNAL Q_SIGNAL | |
Q_SIGNALS Q_SIGNALS | |
Q_SLOT Q_SLOT | |
Q_SLOTS Q_SLOTS | |
T | qobject_cast (const QObject *object) |
T | qobject_cast (QObject *object) |
QT_NO_NARROWING_CONVERSIONS_IN_CONNECT QT_NO_NARROWING_CONVERSIONS_IN_CONNECT | |
void | removeEventFilter (QObject *obj) |
void | setObjectName (const QString &name) |
void | setObjectName (QAnyStringView name) |
void | setParent (QObject *parent) |
bool | setProperty (const char *name, const QVariant &value) |
bool | setProperty (const char *name, QVariant &&value) |
bool | signalsBlocked () const const |
int | startTimer (int interval, Qt::TimerType timerType) |
int | startTimer (std::chrono::milliseconds interval, Qt::TimerType timerType) |
QThread * | thread () const const |
Static Public Member Functions | |
static QString | error (Context *c, const QString &msg) |
static ParamsMultiMap | errorQuery (Context *c, const QString &msg, ParamsMultiMap query={}) |
static void | load (Context *c) |
static QString | status (Context *c, const QString &msg) |
static ParamsMultiMap | statusQuery (Context *c, const QString &msg, ParamsMultiMap query={}) |
Static Public Member Functions inherited from QObject | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method, Qt::ConnectionType type) |
QMetaObject::Connection | connect (const QObject *sender, PointerToMemberFunction signal, Functor functor) |
bool | disconnect (const QMetaObject::Connection &connection) |
bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method) |
bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method) |
bool | disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method) |
QString | tr (const char *sourceText, const char *disambiguation, int n) |
Protected Member Functions | |
virtual bool | setup (Application *app) override |
Protected Member Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *event) |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | customEvent (QEvent *event) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
bool | isSignalConnected (const QMetaMethod &signal) const const |
int | receivers (const char *signal) const const |
QObject * | sender () const const |
int | senderSignalIndex () const const |
virtual void | timerEvent (QTimerEvent *event) |
Additional Inherited Members | |
Public Attributes inherited from QObject | |
typedef | QObjectList |
Properties inherited from QObject | |
objectName | |
The StatusMessage plugin can be used to generate status messages that are saved to the user’s session that will be available over multiple requests. It distinguishes between normal status messages set via status() or statusQuery() and error messages set via error() or errorQuery(). The static load() method loads the status messages into the Context::stash() at appropriate places like the Auto() method of the root controller. The status messages will be identified by a message id put into the URL query of the request URL using the "mid"
query key by default.
Load the plugin in your applications’s init method:
Then use for example your root controller’s Auto method to load the messages into the stash:
In another controller we can now generate a status and/or error message:
Definition at line 84 of file statusmessage.h.
StatusMessage::StatusMessage | ( | Application * | parent | ) |
Constructs a new StatusMessage object with the given Application parent.
Definition at line 40 of file statusmessage.cpp.
|
overridevirtual |
Destroys the StatusMessage object.
Definition at line 47 of file statusmessage.cpp.
Saves an error message msg and returns the generated message id (mid).
Definition at line 139 of file statusmessage.cpp.
References sessionPrefix(), and Cutelyst::Session::setValue().
|
noexcept |
Returns the name of the stash key where error messages are loaded when load() is called. Defaults to "error_msg"
.
Definition at line 88 of file statusmessage.cpp.
Referenced by setErrorMgStashKey().
|
static |
Saves an error message msg returning query parameters with the generated message id (mid) and it's token combined with query.
Definition at line 152 of file statusmessage.cpp.
References QMultiMap::insert(), and Cutelyst::Session::setValue().
|
static |
Load both messages that match the token param (mid=###) into the stash for display by the view.
Definition at line 100 of file statusmessage.cpp.
References QList::append(), Cutelyst::Session::deleteValues(), QList::isEmpty(), QString::isEmpty(), QVariant::isNull(), Cutelyst::Request::queryParam(), Cutelyst::Context::request, Cutelyst::Context::setStash(), and Cutelyst::Session::value().
|
noexcept |
Returns the key prefix inside Session where messages will be stored. Defaults to "status_mg"
.
Definition at line 52 of file statusmessage.cpp.
Referenced by error(), setSessionPrefix(), and status().
void StatusMessage::setErrorMgStashKey | ( | const QString & | errorMgStashKey | ) |
Sets the name of the stash key where error messages are loaded when load() is called. Defaults to "error_msg"
.
Definition at line 94 of file statusmessage.cpp.
References errorMgStashKey().
void StatusMessage::setSessionPrefix | ( | const QString & | sessionPrefix | ) |
Sets the key prefix inside Session where messages will be stored. Defaults to "status_msg"
.
Definition at line 58 of file statusmessage.cpp.
References sessionPrefix().
void StatusMessage::setStatusMsgStashKey | ( | const QString & | statusMsgStashKey | ) |
Sets the name of the stash key where "success" status messages are loaded when load() is called. Defaults to "status_msg"
.
Definition at line 82 of file statusmessage.cpp.
References statusMsgStashKey().
void StatusMessage::setTokenParam | ( | const QString & | tokenParam | ) |
Sets the name of the URL query parameter that holds the token on the page where you want to retrieve/display the status message. Defaults to "mid"
.
Definition at line 70 of file statusmessage.cpp.
References tokenParam().
|
overrideprotectedvirtual |
Reimplemented from Plugin::setup().
Reimplemented from Cutelyst::Plugin.
Definition at line 195 of file statusmessage.cpp.
References QObject::connect(), and Cutelyst::Application::postForked().
Saves a status message msg and returns the generated message id (mid).
Definition at line 167 of file statusmessage.cpp.
References sessionPrefix(), and Cutelyst::Session::setValue().
|
noexcept |
Returns the name of the stash key where "success" status messages are loaded when load() is called. Defaults to "status_msg"
.
Definition at line 76 of file statusmessage.cpp.
Referenced by setStatusMsgStashKey().
|
static |
Saves an status message msg returning query parameters with the generated message id (mid) and it's token combined with query.
Definition at line 180 of file statusmessage.cpp.
References QMultiMap::insert(), and Cutelyst::Session::setValue().
|
noexcept |
Returns the name of the URL query parameter that holds the token on the page where you want to retrieve/display the status message. Defaults to "mid"
.
Definition at line 64 of file statusmessage.cpp.
Referenced by setTokenParam().