Network & SMS dev

This commit is contained in:
J-F Martel
2016-01-12 06:52:12 -05:00
parent 3090a711e8
commit 17738c5b5d
30 changed files with 927 additions and 243 deletions
+69 -8
View File
@@ -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
+12 -1
View File
@@ -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();
};