xref: /OK3568_Linux_fs/app/forlinx/flapp/src/plugins/4g/readwrteat.cpp (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun #include "readwrteat.h"
2*4882a593Smuzhiyun 
ReadWrteAT(QObject * parent)3*4882a593Smuzhiyun ReadWrteAT::ReadWrteAT(QObject *parent):QObject(parent)
4*4882a593Smuzhiyun {
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun }
7*4882a593Smuzhiyun 
~ReadWrteAT()8*4882a593Smuzhiyun ReadWrteAT::~ReadWrteAT()
9*4882a593Smuzhiyun {
10*4882a593Smuzhiyun   this->stop();
11*4882a593Smuzhiyun }
12*4882a593Smuzhiyun 
processMessage(const QString & info)13*4882a593Smuzhiyun void ReadWrteAT::processMessage(const QString &info)
14*4882a593Smuzhiyun {
15*4882a593Smuzhiyun     m_message += info;
16*4882a593Smuzhiyun     QByteArray cmdData;
17*4882a593Smuzhiyun 
18*4882a593Smuzhiyun     QString cmd;
19*4882a593Smuzhiyun     for(int i=0; i<m_message.size(); i++)
20*4882a593Smuzhiyun     {
21*4882a593Smuzhiyun         cmdData += m_message.at(i);
22*4882a593Smuzhiyun         if(cmdData.right(2)=="OK" || cmdData.right(5) =="ERROR")
23*4882a593Smuzhiyun         {
24*4882a593Smuzhiyun            cmd = getCmd();
25*4882a593Smuzhiyun            this->cmdData(cmd, cmdData);
26*4882a593Smuzhiyun         }
27*4882a593Smuzhiyun     }
28*4882a593Smuzhiyun     //保存未处理完消息.
29*4882a593Smuzhiyun     m_message = cmdData;
30*4882a593Smuzhiyun }
31*4882a593Smuzhiyun 
getCmd()32*4882a593Smuzhiyun QString ReadWrteAT::getCmd()
33*4882a593Smuzhiyun {
34*4882a593Smuzhiyun     QString result;
35*4882a593Smuzhiyun     if(m_cmds.size() >0)
36*4882a593Smuzhiyun     {
37*4882a593Smuzhiyun         result = m_cmds.takeFirst();
38*4882a593Smuzhiyun     }
39*4882a593Smuzhiyun     return result;
40*4882a593Smuzhiyun }
41