CuteHMI - CuteHMI (CuteHMI.2)
cutehmi::Messenger Class Reference

Messenger. More...

#include <cutehmi/Messenger.hpp>

Inheritance diagram for cutehmi::Messenger:
QObject cutehmi::Singleton< Messenger > cutehmi::NonCopyable cutehmi::NonMovable CuteHMI::Messenger

Classes

struct  Members
 
class  NoAdvertiserException
 No advertiser exception. More...
 

Signals

void messageRequested (QVariant message)
 Message requested. More...
 

Public Member Functions

Q_INVOKABLE void advertise (Message *message_l)
 Advertise message. More...
 
Q_INVOKABLE void resetAdvertiser (QObject *advertiser)
 Reset advertiser. More...
 
- Public Member Functions inherited from QObject
virtual const QMetaObjectmetaObject () const const
 
virtual void * qt_metacast (const char *)
 
virtual int qt_metacall (QMetaObject::Call, int, void **)
 
 QObject (QObject *parent)
 
virtual ~QObject ()
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
QString objectName () const const
 
void setObjectName (const QString &name)
 
bool isWidgetType () const const
 
bool isWindowType () const const
 
bool signalsBlocked () const const
 
bool blockSignals (bool block)
 
QThreadthread () const const
 
void moveToThread (QThread *targetThread)
 
int startTimer (int interval, Qt::TimerType timerType)
 
int startTimer (std::chrono::milliseconds time, Qt::TimerType timerType)
 
void killTimer (int id)
 
findChild (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QString &name, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegExp &regExp, Qt::FindChildOptions options) const const
 
QList< T > findChildren (const QRegularExpression &re, Qt::FindChildOptions options) const const
 
const QObjectList & children () const const
 
void setParent (QObject *parent)
 
void installEventFilter (QObject *filterObj)
 
void removeEventFilter (QObject *obj)
 
QMetaObject::Connection connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const const
 
bool disconnect (const char *signal, const QObject *receiver, const char *method) const const
 
bool disconnect (const QObject *receiver, const char *method) const const
 
void dumpObjectTree ()
 
void dumpObjectInfo ()
 
void dumpObjectTree () const const
 
void dumpObjectInfo () const const
 
bool setProperty (const char *name, const QVariant &value)
 
QVariant property (const char *name) const const
 
QList< QByteArraydynamicPropertyNames () const const
 
void destroyed (QObject *obj)
 
void objectNameChanged (const QString &objectName)
 
QObjectparent () const const
 
bool inherits (const char *className) const const
 
void deleteLater ()
 

Protected Member Functions

 Messenger (QObject *parent=nullptr)
 
- Protected Member Functions inherited from QObject
QObjectsender () const const
 
int senderSignalIndex () const const
 
int receivers (const char *signal) const const
 
bool isSignalConnected (const QMetaMethod &signal) const const
 
virtual void timerEvent (QTimerEvent *event)
 
virtual void childEvent (QChildEvent *event)
 
virtual void customEvent (QEvent *event)
 
virtual void connectNotify (const QMetaMethod &signal)
 
virtual void disconnectNotify (const QMetaMethod &signal)
 
- Protected Member Functions inherited from cutehmi::Singleton< Messenger >
 Singleton ()
 Default constructor. More...
 
virtual ~Singleton ()
 Destructor. More...
 
- Protected Member Functions inherited from cutehmi::NonCopyable
 NonCopyable ()=default
 
 NonCopyable (NonCopyable &&other)=default
 
 ~NonCopyable ()=default
 
NonCopyableoperator= (NonCopyable &&other)=default
 
- Protected Member Functions inherited from cutehmi::NonMovable
 NonMovable ()=default
 

Protected Attributes

MPtr< Membersm
 

Friends

class Singleton< Messenger >
 

Additional Inherited Members

- Static Public Member Functions inherited from QObject
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
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 *receiver, PointerToMemberFunction method, Qt::ConnectionType type)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, Functor functor)
 
QMetaObject::Connection connect (const QObject *sender, PointerToMemberFunction signal, const QObject *context, Functor functor, Qt::ConnectionType type)
 
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 QMetaObject::Connection &connection)
 
bool disconnect (const QObject *sender, PointerToMemberFunction signal, const QObject *receiver, PointerToMemberFunction method)
 
- Static Public Member Functions inherited from cutehmi::Singleton< Messenger >
static MessengerInstance ()
 Get instance. More...
 
static void Destroy ()
 Destroy instance. More...
 
- Static Protected Member Functions inherited from cutehmi::Singleton< Messenger >
static std::unique_ptr< Messenger > & InstancePtr ()
 Get instance pointer. More...
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Messenger.

Constructor & Destructor Documentation

◆ Messenger()

cutehmi::Messenger::Messenger ( QObject parent = nullptr)
explicitprotected

Member Function Documentation

◆ advertise()

void cutehmi::Messenger::advertise ( Message message_l)

Advertise message.

Parameters
message_lmessage to advertise. Parameter will be used locally by this function. It's passed by a pointer instead of a reference for easier integration with QML.
Remarks
This method is thread-safe.
Exceptions
NoAdvertiserExceptionthrown in case advertiser has not been set.

◆ messageRequested

void cutehmi::Messenger::messageRequested ( QVariant  message)
signal

Message requested.

This signal is emitted each time advertise() function has been called. This signal will trigger execution of createDialog() slot in advertiser.

Parameters
messageparameter wraps Message * pointer. Advertiser should present adequate control to the user and provide a response by calling Message::acceptResponse() function.

◆ resetAdvertiser()

void cutehmi::Messenger::resetAdvertiser ( QObject advertiser)

Reset advertiser.

Advertiser will be connected to dialogRequested() signal. There can be only one advertiser at a time. Subsequent call of this function will disconnect previous advertiser.

Parameters
advertiseradvertiser object. Advertiser must implement createDialog(QVariant) slot. Parameter of type QVariant wraps Message * pointer.

Friends And Related Function Documentation

◆ Singleton< Messenger >

friend class Singleton< Messenger >
friend

Member Data Documentation

◆ m

MPtr<Members> cutehmi::Messenger::m
protected