1#ifndef COMMUNICATIONMANAGER_H
2#define COMMUNICATIONMANAGER_H
19#include <QJsonDocument>
41 explicit CommandManager(
bool p_bIsActive =
true, QObject *parent = 0);
43 explicit CommandManager(
const QByteArray &p_qByteArrayJsonDoc,
bool p_bIsActive =
true, QObject *parent = 0);
45 explicit CommandManager(
const QJsonDocument &p_jsonDoc,
bool p_bIsActive =
true, QObject *parent = 0);
71 inline bool hasCommand(
const QString &p_sCommand)
const;
80 void insert(
const QJsonDocument &p_jsonDocument);
89 void insert(
const QString &p_sKey,
const QString &p_sDescription);
132 Command& operator[] (
const QString &key);
142 const Command operator[] (
const QString &key)
const;
153 QJsonDocument m_jsonDocumentOrigin;
155 QMetaObject::Connection m_conReplyChannel;
157 QMap<QString, Command> m_qMapCommands;
186 return m_qMapCommands;
193 return m_qMapCommands.contains(p_sCommand);
207 m_bIsActive = status;
Contains declarations of the observer design pattern: Subject class and IObserver interface.
realtime library export/import macros.
#define COMMUNICATIONSHARED_EXPORT
Declaration of the CommandParser Class.
Declaration of the Command Class.
Real-time client/server communication (commands, raw data streaming).
Named command with typed parameters for real-time server control.
void setStatus(bool status)
QMap< QString, Command > & commandMap()
void triggered(Command p_command)
virtual void update(UTILSLIB::Subject *p_pSubject)
CommandManager(bool p_bIsActive=true, QObject *parent=0)
bool hasCommand(const QString &p_sCommand) const
void response(QString p_sReply, Command p_command)
void insert(const QJsonDocument &p_jsonDocument)
The IObserver interface provides the base class of every observer of the observer design pattern.
The Subject class provides the base class of every subject of the observer design pattern.