42 #include "commandmanager.h"
50 #include <QStringList>
51 #include <QJsonObject>
52 #include <QJsonDocument>
78 Subject::t_Observers::Iterator itObservers;
79 for(itObservers = this->
observers().begin(); itObservers != this->
observers().end(); ++itObservers)
93 if(p_sInput.size() <= 0)
96 p_qListCommandsParsed.clear();
100 if(QString::compare(p_sInput.at(0), QString(
"{")) == 0)
105 qDebug() <<
"JSON command recognized";
107 QJsonObject t_jsonObjectCommand;
108 QJsonObject t_jsonObjectParameters;
109 QJsonDocument t_jsonDocument(QJsonDocument::fromJson(p_sInput.toLatin1()));
112 if(t_jsonDocument.isObject() && t_jsonDocument.object().value(QString(
"commands")) != QJsonValue::Undefined)
113 t_jsonObjectCommand = t_jsonDocument.object().value(QString(
"commands")).toObject();
118 QJsonObject::Iterator it;
119 QJsonObject::Iterator itParam;
120 for(it = t_jsonObjectCommand.begin(); it != t_jsonObjectCommand.end(); ++it)
123 printf(
"%s\r\n", it.key().toLatin1().constData());
128 m_rawCommand = t_rawCommand;
129 t_jsonObjectParameters = it.value().toObject();
132 p_qListCommandsParsed.push_back(it.key());
135 for(itParam= t_jsonObjectParameters.begin(); itParam != t_jsonObjectParameters.end(); ++itParam)
137 printf(
" %s", itParam.value().toString().toLatin1().constData());
139 m_rawCommand.
pValues().append(itParam.value().toString());
151 QStringList t_qCommandList = p_sInput.split(
" ");
154 printf(
"%s\r\n", t_qCommandList[0].toLatin1().constData());
156 if(!
exists(t_qCommandList[0]))
162 RawCommand t_rawCommand(t_qCommandList[0],
false);
163 m_rawCommand = t_rawCommand;
166 p_qListCommandsParsed.push_back(t_qCommandList[0]);
168 if(t_qCommandList.size() > 1)
171 for(qint32 i = 1; i < t_qCommandList.size(); ++i)
173 printf(
" %s", t_qCommandList[i].toLatin1().constData());
174 m_rawCommand.
pValues().append(t_qCommandList[i]);
CommandParser(QObject *parent=0)
t_Observers & observers()
Declaration of the CommandParser Class.
bool parse(const QString &p_sInput, QStringList &p_qListCommandsParsed)
QList< QString > & pValues()
bool hasCommand(const QString &p_sCommand) const
bool exists(const QString &p_sCommand)