58 #include <QJsonObject>
59 #include <QSharedPointer>
62 #include <QStringList>
73 static QVariant defaultVariant;
86 typedef QSharedPointer<Command>
SPtr;
87 typedef QSharedPointer<const Command>
ConstSPtr;
96 explicit Command(
bool p_bIsJson =
true, QObject *parent = 0);
107 explicit Command(
const QString &p_sCommand,
const QJsonObject &p_qCommandContent,
bool p_bIsJson =
true, QObject *parent = 0);
118 explicit Command(
const QString &p_sCommand,
const QString &p_sDescription,
bool p_bIsJson =
true, QObject *parent = 0);
131 explicit Command(
const QString &p_sCommand,
const QString &p_sDescription,
132 const QStringList &p_qListParamNames,
const QList<QVariant> &p_qListParamValues,
bool p_bIsJson =
true, QObject *parent = 0);
144 explicit Command(
const QString &p_sCommand,
const QString &p_sDescription,
145 const QStringList &p_qListParamNames,
const QList<QVariant> &p_qListParamValues,
const QStringList &p_vecParameterDescriptions,
bool p_bIsJson =
true, QObject *parent = 0);
167 inline QString command()
const;
175 inline quint32 count()
const;
183 inline QString description()
const;
191 virtual void execute();
199 inline bool& isJson();
207 inline QList<QString> pDescriptions()
const;
215 inline QList<QString> pNames()
const;
223 inline QList<QVariant>& pValues();
231 void reply(
const QString &p_sReply);
245 QJsonObject toJsonObject()
const;
253 QStringList toStringList()
const;
261 QString toStringReadySend()
const;
279 QVariant& operator[] (
const QString &key);
289 QVariant& operator[] (qint32 idx);
299 const QVariant operator[] (
const QString &key)
const;
308 void executed(
Command p_command);
312 QString m_sDescription;
313 QStringList m_qListParamNames;
314 QList<QVariant> m_qListParamValues;
315 QStringList m_qListParamDescriptions;
334 return m_qListParamValues.size();
342 return m_sDescription;
358 return m_qListParamDescriptions;
365 return m_qListParamNames;
372 return m_qListParamValues;
QSharedPointer< const ICommand > ConstSPtr
QList< QString > pNames() const
QList< QString > pDescriptions() const
#define RTCOMMANDSHARED_EXPORT
Contains declarations of the command design pattern: ICommand interface.
QSharedPointer< ICommand > SPtr
QList< QVariant > & pValues()
QString description() const
RtCommand library export/import macros.
The ICommand interface provides the base class of every command of the command design pattern...