Corrections au client VOIP sms. Pas encore au point.
This commit is contained in:
parent
f31358e6dd
commit
f682d7ba5a
@ -21,10 +21,12 @@ CVoipMsSMSClient::CVoipMsSMSClient()
|
|||||||
connect(mCheckNewSMSTimer,SIGNAL(timeout()),this,SLOT(CheckNewSMSTimerExpired()));
|
connect(mCheckNewSMSTimer,SIGNAL(timeout()),this,SLOT(CheckNewSMSTimerExpired()));
|
||||||
mCheckNewSMSTimer->setSingleShot(false);
|
mCheckNewSMSTimer->setSingleShot(false);
|
||||||
|
|
||||||
mFirstDownloadDone = false;
|
//mFirstDownloadDone = false;
|
||||||
|
|
||||||
mProgramHandle = 0;
|
mProgramHandle = 0;
|
||||||
|
|
||||||
|
mSMSDownloadState = VOIPMS_SMS_DOWNLOAD_INIT_STATE;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
CVoipMsSMSClient::~CVoipMsSMSClient()
|
CVoipMsSMSClient::~CVoipMsSMSClient()
|
||||||
@ -47,7 +49,9 @@ unsigned int CVoipMsSMSClient::SetVOIPMsSettings(CVoipMSSMSSettings *SettingsDat
|
|||||||
int CVoipMsSMSClient::DownloadSMSFromServer()
|
int CVoipMsSMSClient::DownloadSMSFromServer()
|
||||||
{
|
{
|
||||||
|
|
||||||
|
qDebug("Downloading messages until %s",mVOIPMsSettings.mStartDate.toString("yyyy-MM-dd").toUtf8().data());
|
||||||
mCurStartDate = QDate::currentDate().addDays(-VOIP_MS_SMS_DATESPAN);
|
mCurStartDate = QDate::currentDate().addDays(-VOIP_MS_SMS_DATESPAN);
|
||||||
|
mSMSDownloadState = VOIPMS_SMS_DOWNLOAD_SPAN_MSGS_STATE;
|
||||||
SendSMSDownloadRequest(mCurStartDate,QDate::currentDate());
|
SendSMSDownloadRequest(mCurStartDate,QDate::currentDate());
|
||||||
mSMSMessagesList.clear();
|
mSMSMessagesList.clear();
|
||||||
|
|
||||||
@ -280,7 +284,7 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
|||||||
QDateTime NewDate = NewMessages.at(0).mDateTime;
|
QDateTime NewDate = NewMessages.at(0).mDateTime;
|
||||||
QDateTime OldDate = mSMSMessagesList.at(0).mDateTime;
|
QDateTime OldDate = mSMSMessagesList.at(0).mDateTime;
|
||||||
|
|
||||||
if(NewDate > OldDate)
|
if(NewDate >= OldDate)
|
||||||
{
|
{
|
||||||
while(!finished)
|
while(!finished)
|
||||||
{
|
{
|
||||||
@ -301,24 +305,24 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
|||||||
finished = true;
|
finished = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(mFirstDownloadDone == true && NewMessages.size() > 0)
|
// if(mFirstDownloadDone == true && NewMessages.size() > 0)
|
||||||
{
|
// {
|
||||||
mProgramHandle->NewSMSMessagesArrived(NewMessages);
|
// mProgramHandle->NewSMSMessagesArrived(NewMessages);
|
||||||
|
|
||||||
qDebug() << "Added " << NewMessages.size() << " new SMS messages";
|
// qDebug() << "Added " << NewMessages.size() << " new SMS messages";
|
||||||
qDebug("-----------------------------------------------------------------------");
|
// qDebug("-----------------------------------------------------------------------");
|
||||||
qDebug(" ");
|
// qDebug(" ");
|
||||||
for(int i = 0; i < NewMessages.size(); i++)
|
// for(int i = 0; i < NewMessages.size(); i++)
|
||||||
{
|
// {
|
||||||
qDebug() << NewMessages.at(i).mDateTime.toString("yyyy-MM-dd hh:mm:ss") << " : " << NewMessages.at(i).mContact << " : " << NewMessages.at(i).mMessageText.toUtf8().data();
|
// qDebug() << NewMessages.at(i).mDateTime.toString("yyyy-MM-dd hh:mm:ss") << " : " << NewMessages.at(i).mContact << " : " << NewMessages.at(i).mMessageText.toUtf8().data();
|
||||||
}
|
// }
|
||||||
qDebug("-----------------------------------------------------------------------");
|
// qDebug("-----------------------------------------------------------------------");
|
||||||
qDebug(" ");
|
// qDebug(" ");
|
||||||
}
|
// }
|
||||||
|
|
||||||
NewMessages.append(mSMSMessagesList);
|
// NewMessages.append(mSMSMessagesList);
|
||||||
mSMSMessagesList = NewMessages;
|
// mSMSMessagesList = NewMessages;
|
||||||
StartSMSCheckTimer();
|
// StartSMSCheckTimer();
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -343,9 +347,122 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
|||||||
finished = true;
|
finished = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// mSMSMessagesList.append(NewMessages);
|
||||||
|
// StartSMSCheckTimer();
|
||||||
|
// if(mFirstDownloadDone == true && NewMessages.size() > 0)
|
||||||
|
// {
|
||||||
|
// mProgramHandle->NewSMSMessagesArrived(NewMessages);
|
||||||
|
|
||||||
|
// qDebug() << "Added " << NewMessages.size() << " new SMS messages";
|
||||||
|
// qDebug("-----------------------------------------------------------------------");
|
||||||
|
// qDebug(" ");
|
||||||
|
// for(int i = 0; i < NewMessages.size(); i++)
|
||||||
|
// {
|
||||||
|
// qDebug() << NewMessages.at(i).mDateTime.toString("yyyy-MM-dd hh:mm:ss") << " : " << NewMessages.at(i).mContact << " : " << NewMessages.at(i).mMessageText.toUtf8().data();
|
||||||
|
// }
|
||||||
|
// qDebug("-----------------------------------------------------------------------");
|
||||||
|
// qDebug(" ");
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
// mSMSMessagesList.append(NewMessages);
|
||||||
|
// StartSMSCheckTimer();
|
||||||
|
// }
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
NewMessages.empty();
|
||||||
|
NBMsgReceived = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// if(NewMessages.size() != 0)
|
||||||
|
// {
|
||||||
|
// mSMSMessagesList.append(NewMessages);
|
||||||
|
// qDebug("Added %d new msgs. mCurStartDate:%s", NewMessages.size(),mCurStartDate.toString("yyyy-MM-dd").toUtf8().data());
|
||||||
|
// }
|
||||||
|
|
||||||
|
switch(mSMSDownloadState)
|
||||||
|
{
|
||||||
|
case VOIPMS_SMS_DOWNLOAD_INIT_STATE:
|
||||||
|
{
|
||||||
|
qDebug("Error, mSMSDownloadState = INIT_STATE in SMSReceived()");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case VOIPMS_SMS_DOWNLOAD_SPAN_MSGS_STATE:
|
||||||
|
{
|
||||||
|
if(NewMessages.size() != 0)
|
||||||
|
{
|
||||||
mSMSMessagesList.append(NewMessages);
|
mSMSMessagesList.append(NewMessages);
|
||||||
|
qDebug("Added %d new msgs. mCurStartDate:%s", NewMessages.size(),mCurStartDate.toString("yyyy-MM-dd").toUtf8().data());
|
||||||
|
}
|
||||||
|
//Restart at the last day received...
|
||||||
|
mCurStartDate = mSMSMessagesList.last().mDateTime.date();
|
||||||
|
QDate EarlierDate = mCurStartDate.addDays(-VOIP_MS_SMS_DATESPAN);
|
||||||
|
if(EarlierDate < mVOIPMsSettings.mStartDate )
|
||||||
|
{
|
||||||
|
//Clipping span.
|
||||||
|
qDebug("Clipping span...");
|
||||||
|
EarlierDate = mVOIPMsSettings.mStartDate;
|
||||||
|
|
||||||
|
qDebug("Requesting data for last block of span");
|
||||||
|
mSMSDownloadState = VOIPMS_SMS_DOWNLOAD_LAST_BLOCK_MSGS_STATE;
|
||||||
|
}
|
||||||
|
qDebug("Continue receiving from %s to %s ...",mCurStartDate.toString("yyyy-MM-dd").toUtf8().data(),EarlierDate.toString("yyyy-MM-dd").toUtf8().data());
|
||||||
|
SendSMSDownloadRequest(EarlierDate,mCurStartDate);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case VOIPMS_SMS_DOWNLOAD_LAST_BLOCK_MSGS_STATE:
|
||||||
|
{
|
||||||
|
if(NewMessages.size() != 0)
|
||||||
|
{
|
||||||
|
mSMSMessagesList.append(NewMessages);
|
||||||
|
qDebug("Added %d new msgs. mCurStartDate:%s", NewMessages.size(),mCurStartDate.toString("yyyy-MM-dd").toUtf8().data());
|
||||||
|
}
|
||||||
|
|
||||||
|
if(NBMsgReceived == VOIP_MS_SMS_MAX_COUNT)
|
||||||
|
{
|
||||||
|
mCurStartDate = mSMSMessagesList.last().mDateTime.date();
|
||||||
|
qDebug("Continue receiving from %s to %s ...",mVOIPMsSettings.mStartDate.toString("yyyy-MM-dd").toUtf8().data(),mVOIPMsSettings.mStartDate.toString("yyyy-MM-dd").toUtf8().data());
|
||||||
|
SendSMSDownloadRequest(mCurStartDate,mVOIPMsSettings.mStartDate);//download for the first day of the span only...
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
qDebug() << "Finished download of " << mSMSMessagesList.size() << " SMS messages";
|
||||||
|
// qDebug("-----------------------------------------------------------------------");
|
||||||
|
// qDebug(" ");
|
||||||
|
// for(int i = 0; i < mSMSMessagesList.size(); i++)
|
||||||
|
// {
|
||||||
|
// qDebug() << mSMSMessagesList.at(i).mDateTime.toString("yyyy-MM-dd hh:mm:ss") << " : " << mSMSMessagesList.at(i).mContact << " : " << mSMSMessagesList.at(i).mMessageText.toUtf8().data();
|
||||||
|
// }
|
||||||
|
// qDebug("-----------------------------------------------------------------------");
|
||||||
|
// qDebug(" ");
|
||||||
|
|
||||||
|
|
||||||
|
mSMSDownloadState = VOIPMS_SMS_GET_NEW_MSGS_STATE;
|
||||||
StartSMSCheckTimer();
|
StartSMSCheckTimer();
|
||||||
if(mFirstDownloadDone == true && NewMessages.size() > 0)
|
qDebug("Timer started in VOIPMS_SMS_DOWNLOAD_LAST_DAY_MSGS_STATE");
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
case VOIPMS_SMS_GET_NEW_MSGS_STATE:
|
||||||
|
{
|
||||||
|
|
||||||
|
if(NewMessages.size() != 0)
|
||||||
|
{
|
||||||
|
for(int i = NewMessages.size(); i > 0; i--)
|
||||||
|
{
|
||||||
|
mSMSMessagesList.prepend(NewMessages[i-1]);
|
||||||
|
}
|
||||||
|
qDebug("Added %d new msgs. mCurStartDate:%s", NewMessages.size(),mCurStartDate.toString("yyyy-MM-dd").toUtf8().data());
|
||||||
|
}
|
||||||
|
|
||||||
|
StartSMSCheckTimer();
|
||||||
|
qDebug("Timer started in VOIPMS_SMS_GET_NEW_MSGS_STATE");
|
||||||
|
|
||||||
|
if(NewMessages.size() > 0)
|
||||||
{
|
{
|
||||||
mProgramHandle->NewSMSMessagesArrived(NewMessages);
|
mProgramHandle->NewSMSMessagesArrived(NewMessages);
|
||||||
|
|
||||||
@ -358,29 +475,42 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
|||||||
}
|
}
|
||||||
qDebug("-----------------------------------------------------------------------");
|
qDebug("-----------------------------------------------------------------------");
|
||||||
qDebug(" ");
|
qDebug(" ");
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
mSMSMessagesList.append(NewMessages);
|
|
||||||
StartSMSCheckTimer();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// mCurStartDate = mSMSMessagesList.last().mDateTime.date();
|
||||||
|
// static bool DateClipped = false;;
|
||||||
|
// //if(NBMsgReceived == VOIP_MS_SMS_MAX_COUNT)
|
||||||
|
// qDebug("Received %d msgs. mCurStartDate:%s", NBMsgReceived,mCurStartDate.toString("yyyy-MM-dd").toUtf8().data());
|
||||||
|
// if(mCurStartDate > mVOIPMsSettings.mStartDate && DateClipped == false)
|
||||||
|
// {
|
||||||
|
// //Restart at the last day received...
|
||||||
|
// mCurStartDate = mSMSMessagesList.last().mDateTime.date();
|
||||||
|
// QDate EarlierDate = mCurStartDate.addDays(-VOIP_MS_SMS_DATESPAN);
|
||||||
|
// if(EarlierDate < mVOIPMsSettings.mStartDate )
|
||||||
|
// {
|
||||||
|
// //Clipping span.
|
||||||
|
// qDebug("Clipping span...");
|
||||||
|
// EarlierDate = mVOIPMsSettings.mStartDate;
|
||||||
|
// DateClipped = true;
|
||||||
|
// }
|
||||||
|
// qDebug("Continue receiving from %s to %s ...",mCurStartDate.toString("yyyy-MM-dd").toUtf8().data(),EarlierDate.toString("yyyy-MM-dd").toUtf8().data());
|
||||||
|
// SendSMSDownloadRequest(EarlierDate,mCurStartDate);
|
||||||
|
// }
|
||||||
|
// else if (/*(mCurStartDate == mVOIPMsSettings.mStartDate) &&*/ (NBMsgReceived == VOIP_MS_SMS_MAX_COUNT))
|
||||||
|
// {
|
||||||
|
// //We have covered the entire time span but we didn't get all of the messages...
|
||||||
|
// SendSMSDownloadRequest(mCurStartDate,mCurStartDate);//download for the first day of the span only...
|
||||||
|
// }
|
||||||
|
// else
|
||||||
|
// {
|
||||||
|
|
||||||
if(NBMsgReceived == VOIP_MS_SMS_MAX_COUNT)
|
// if(mFirstDownloadDone == false)
|
||||||
{
|
// {
|
||||||
//Restart at the last day received...
|
|
||||||
mCurStartDate = mSMSMessagesList.last().mDateTime.date();
|
|
||||||
QDate EarlierDate = mCurStartDate.addDays(-VOIP_MS_SMS_DATESPAN);
|
|
||||||
SendSMSDownloadRequest(EarlierDate,mCurStartDate);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
if(mFirstDownloadDone == false)
|
|
||||||
{
|
|
||||||
// qDebug() << "Finished download of " << mSMSMessagesList.size() << " SMS messages";
|
// qDebug() << "Finished download of " << mSMSMessagesList.size() << " SMS messages";
|
||||||
// qDebug("-----------------------------------------------------------------------");
|
// qDebug("-----------------------------------------------------------------------");
|
||||||
// qDebug(" ");
|
// qDebug(" ");
|
||||||
@ -392,19 +522,20 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
|||||||
// qDebug(" ");
|
// qDebug(" ");
|
||||||
|
|
||||||
|
|
||||||
mFirstDownloadDone = true;
|
// mFirstDownloadDone = true;
|
||||||
// mCheckNewSMSTimer->start(VOIP_MS_SMS_CHECK_TIMEOUT);
|
// DateClipped = false;
|
||||||
StartSMSCheckTimer();
|
//// mCheckNewSMSTimer->start(VOIP_MS_SMS_CHECK_TIMEOUT);
|
||||||
qDebug("Timer started");
|
// StartSMSCheckTimer();
|
||||||
}
|
// qDebug("Timer started");
|
||||||
|
// }
|
||||||
|
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
else
|
// else
|
||||||
{
|
// {
|
||||||
qDebug("No SMS to download in this period.");
|
// qDebug("No SMS to download in this period.");
|
||||||
StartSMSCheckTimer();
|
// StartSMSCheckTimer();
|
||||||
}
|
// }
|
||||||
|
|
||||||
return RET_OK;
|
return RET_OK;
|
||||||
}
|
}
|
||||||
@ -514,16 +645,18 @@ QString CVoipMsSMSClient::GetDefaultDID()
|
|||||||
|
|
||||||
void CVoipMsSMSClient::StartSMSCheckTimer()
|
void CVoipMsSMSClient::StartSMSCheckTimer()
|
||||||
{
|
{
|
||||||
if(mFirstDownloadDone == true)
|
if(mSMSDownloadState == VOIPMS_SMS_GET_NEW_MSGS_STATE)
|
||||||
{
|
{
|
||||||
//qDebug("Timer started");
|
|
||||||
mCheckNewSMSTimer->start(VOIP_MS_SMS_CHECK_TIMEOUT);
|
mCheckNewSMSTimer->start(VOIP_MS_SMS_CHECK_TIMEOUT);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
qDebug("Trying to start SMS timer outside VOIPMS_SMS_GET_NEW_MSGS_STATE");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CVoipMsSMSClient::StopSMSCheckTimer()
|
void CVoipMsSMSClient::StopSMSCheckTimer()
|
||||||
{
|
{
|
||||||
//qDebug("Timer Stopped");
|
|
||||||
mCheckNewSMSTimer->stop();
|
mCheckNewSMSTimer->stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -26,6 +26,14 @@ enum VoipMSRetValues
|
|||||||
VOIPMS_RET_NO_DID_FOUND
|
VOIPMS_RET_NO_DID_FOUND
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum eVoipMSSMSDownloadStates
|
||||||
|
{
|
||||||
|
VOIPMS_SMS_DOWNLOAD_INIT_STATE,
|
||||||
|
VOIPMS_SMS_DOWNLOAD_SPAN_MSGS_STATE,
|
||||||
|
VOIPMS_SMS_DOWNLOAD_LAST_BLOCK_MSGS_STATE,
|
||||||
|
VOIPMS_SMS_GET_NEW_MSGS_STATE
|
||||||
|
};
|
||||||
|
|
||||||
class CMasterCtrl;
|
class CMasterCtrl;
|
||||||
|
|
||||||
class CVoipMsSMSClient : public QObject
|
class CVoipMsSMSClient : public QObject
|
||||||
@ -77,10 +85,11 @@ private:
|
|||||||
QTcpSocket *mClientConnection;
|
QTcpSocket *mClientConnection;
|
||||||
QTimer *mCheckNewSMSTimer;
|
QTimer *mCheckNewSMSTimer;
|
||||||
|
|
||||||
bool mFirstDownloadDone;
|
// bool mFirstDownloadDone;
|
||||||
QString mLastRequestCmd;
|
QString mLastRequestCmd;
|
||||||
QList<CSMSMessage> mPendingSMSSendList;
|
QList<CSMSMessage> mPendingSMSSendList;
|
||||||
|
|
||||||
|
int mSMSDownloadState;
|
||||||
|
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user