Network & SMS dev
This commit is contained in:
@@ -15,6 +15,12 @@ CVoipMsSMSClient::CVoipMsSMSClient()
|
||||
connect(mVOIPMsNotificationServer,SIGNAL(newConnection()),this,SLOT(VoipNotificationServerConnected()));
|
||||
mVOIPMsNotificationServer->listen(QHostAddress::Any,80);
|
||||
|
||||
mCheckNewSMSTimer = new QTimer();
|
||||
connect(mCheckNewSMSTimer,SIGNAL(timeout()),this,SLOT(CheckNewSMSTimerExpired()));
|
||||
mCheckNewSMSTimer->setSingleShot(false);
|
||||
|
||||
mFirstDownloadDone = false;
|
||||
|
||||
}
|
||||
|
||||
CVoipMsSMSClient::~CVoipMsSMSClient()
|
||||
@@ -23,6 +29,8 @@ CVoipMsSMSClient::~CVoipMsSMSClient()
|
||||
mSMSMessagesList.clear();
|
||||
mVOIPMsNotificationServer->close();
|
||||
delete mVOIPMsNotificationServer;
|
||||
mCheckNewSMSTimer->stop();
|
||||
delete mCheckNewSMSTimer;
|
||||
}
|
||||
|
||||
unsigned int CVoipMsSMSClient::SetVOIPMsSettings(CVoipMSSMSSettings *SettingsData)
|
||||
@@ -71,7 +79,21 @@ int CVoipMsSMSClient::SendSMSDownloadRequest(QDate StartDate, QDate EndDate)
|
||||
|
||||
int CVoipMsSMSClient::DownloadNewSMS()
|
||||
{
|
||||
SendSMSDownloadRequest(QDate::currentDate(),QDate::currentDate());
|
||||
// SendSMSDownloadRequest(QDate::currentDate(),QDate::currentDate());
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
int CVoipMsSMSClient::CheckForNewSMS()
|
||||
{
|
||||
if(mSMSMessagesList.isEmpty() == true)
|
||||
{
|
||||
return RET_ERROR;
|
||||
}
|
||||
|
||||
QDate Today = QDate::currentDate();
|
||||
QDate StartDate = mSMSMessagesList.at(0).mDateTime.date();
|
||||
SendSMSDownloadRequest(StartDate,Today);
|
||||
return RET_OK;
|
||||
}
|
||||
|
||||
unsigned int CVoipMsSMSClient::GetDidFromUserAccount(const QString username, const QString Password)
|
||||
@@ -176,9 +198,22 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
||||
finished = true;
|
||||
}
|
||||
}
|
||||
if(mFirstDownloadDone == true)
|
||||
{
|
||||
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(" ");
|
||||
}
|
||||
|
||||
NewMessages.append(mSMSMessagesList);
|
||||
mSMSMessagesList = NewMessages;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -203,6 +238,18 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
||||
}
|
||||
}
|
||||
mSMSMessagesList.append(NewMessages);
|
||||
if(mFirstDownloadDone == true)
|
||||
{
|
||||
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
|
||||
@@ -222,15 +269,23 @@ unsigned int CVoipMsSMSClient::SMSReceived(QJsonArray *SMSArray)
|
||||
}
|
||||
else
|
||||
{
|
||||
qDebug() << "Finished download of " << mSMSMessagesList.size() << " SMS messages";
|
||||
qDebug("-----------------------------------------------------------------------");
|
||||
qDebug(" ");
|
||||
for(int i = 0; i < mSMSMessagesList.size(); i++)
|
||||
if(mFirstDownloadDone == false)
|
||||
{
|
||||
qDebug() << mSMSMessagesList.at(i).mDateTime.toString("yyyy-MM-dd hh:mm:ss") << " : " << mSMSMessagesList.at(i).mContact << " : " << mSMSMessagesList.at(i).mMessageText.toUtf8().data();
|
||||
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(" ");
|
||||
|
||||
|
||||
mFirstDownloadDone = true;
|
||||
mCheckNewSMSTimer->start(VOIP_MS_SMS_CHECK_TIMEOUT);
|
||||
qDebug("Timer started");
|
||||
}
|
||||
qDebug("-----------------------------------------------------------------------");
|
||||
qDebug(" ");
|
||||
|
||||
}
|
||||
}
|
||||
@@ -323,6 +378,12 @@ void CVoipMsSMSClient::VoipNotificationServerDataAvail()
|
||||
NewSMSNotification(Did);
|
||||
}
|
||||
|
||||
void CVoipMsSMSClient::CheckNewSMSTimerExpired()
|
||||
{
|
||||
CheckForNewSMS();
|
||||
}
|
||||
|
||||
|
||||
//https://www.voip.ms/api/v1/rest.php?api_username=jean-francois.martel@polymtl.ca&api_password=Pentium2&method=getBalance&advanced=True
|
||||
|
||||
|
||||
|
||||
@@ -11,10 +11,13 @@
|
||||
#include <QJsonArray>
|
||||
#include "ProgramSettings.h"
|
||||
#include <QTcpServer>
|
||||
#include <QTimer>
|
||||
#include "NetworkDevice.h"
|
||||
|
||||
#define VOIP_MS_API_URL "https://www.voip.ms/api/v1/rest.php?"
|
||||
#define VOIP_MS_SMS_DATESPAN 90
|
||||
#define VOIP_MS_SMS_MAX_COUNT 500
|
||||
#define VOIP_MS_SMS_MAX_COUNT 800
|
||||
#define VOIP_MS_SMS_CHECK_TIMEOUT 5000 //Check for new SMS every 5 seconds
|
||||
|
||||
enum VoipMSRetValues
|
||||
{
|
||||
@@ -33,6 +36,7 @@ public:
|
||||
int DownloadSMSFromServer();
|
||||
int SendSMSDownloadRequest(QDate StartDate, QDate EndDate);
|
||||
int DownloadNewSMS();
|
||||
int CheckForNewSMS();
|
||||
|
||||
QList<CSMSMessage> mSMSMessagesList;
|
||||
|
||||
@@ -40,6 +44,8 @@ public:
|
||||
unsigned int SetVOIPMsSettings(CVoipMSSMSSettings *SettingsData);
|
||||
unsigned int NewSMSNotification(QString DID);
|
||||
|
||||
|
||||
|
||||
private:
|
||||
QNetworkAccessManager *mVOIPMSSocket;
|
||||
|
||||
@@ -52,6 +58,10 @@ private:
|
||||
|
||||
QTcpServer *mVOIPMsNotificationServer;
|
||||
QTcpSocket *mClientConnection;
|
||||
QTimer *mCheckNewSMSTimer;
|
||||
|
||||
bool mFirstDownloadDone;
|
||||
|
||||
|
||||
|
||||
signals:
|
||||
@@ -61,6 +71,7 @@ public slots:
|
||||
void VoipServerReplyFinished(QNetworkReply*);
|
||||
void VoipNotificationServerConnected();
|
||||
void VoipNotificationServerDataAvail();
|
||||
void CheckNewSMSTimerExpired();
|
||||
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user