37#ifndef COMMUNICATIONMANAGER_H
38#define COMMUNICATIONMANAGER_H
55#include <QJsonDocument>
77 explicit CommandManager(
bool p_bIsActive =
true, QObject *parent = 0);
79 explicit CommandManager(
const QByteArray &p_qByteArrayJsonDoc,
bool p_bIsActive =
true, QObject *parent = 0);
81 explicit CommandManager(
const QJsonDocument &p_jsonDoc,
bool p_bIsActive =
true, QObject *parent = 0);
107 inline bool hasCommand(
const QString &p_sCommand)
const;
116 void insert(
const QJsonDocument &p_jsonDocument);
125 void insert(
const QString &p_sKey,
const QString &p_sDescription);
134 void insert(
const QString &p_sKey,
const Command &p_command);
168 Command& operator[] (
const QString &key);
178 const Command operator[] (
const QString &key)
const;
189 QJsonDocument m_jsonDocumentOrigin;
191 QMetaObject::Connection m_conReplyChannel;
193 QMap<QString, Command> m_qMapCommands;
222 return m_qMapCommands;
229 return m_qMapCommands.contains(p_sCommand);
243 m_bIsActive = status;
Declaration of the Command Class.
Contains declarations of the observer design pattern: Subject class and IObserver interface.
Real-time client/server communication (commands, raw data streaming).
Named command with typed parameters for real-time server control.
void response(QString p_sReply, Command p_command)
void setStatus(bool status)
virtual void update(UTILSLIB::Subject *p_pSubject)
QMap< QString, Command > & commandMap()
void triggered(Command p_command)
bool hasCommand(const QString &p_sCommand) const
CommandManager(bool p_bIsActive=true, QObject *parent=0)
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.