Masterctrl/Sources/VoipSMS/VoipMsSMSClient.h
2015-12-17 18:53:13 -05:00

68 lines
1.5 KiB
C++

#ifndef CVOIPMSSMSCLIENT_H
#define CVOIPMSSMSCLIENT_H
#include <QObject>
#include <QNetworkAccessManager>
#include <QNetworkReply>
#include "GlobalDefine.h"
#include <QList>
#include "CSMSMessage.h"
#include <QStringList>
#include <QJsonArray>
#include "ProgramSettings.h"
#include <QTcpServer>
#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
enum VoipMSRetValues
{
VOIPMS_RET_SUCCESS,
VOIPMS_RET_FAILED,
VOIPMS_RET_NO_DID_FOUND
};
class CVoipMsSMSClient : public QObject
{
Q_OBJECT
public:
CVoipMsSMSClient();
virtual ~CVoipMsSMSClient();
int DownloadSMSFromServer();
int SendSMSDownloadRequest(QDate StartDate, QDate EndDate);
int DownloadNewSMS();
QList<CSMSMessage> mSMSMessagesList;
unsigned int GetDidFromUserAccount(const QString username, const QString Password);
unsigned int SetVOIPMsSettings(CVoipMSSMSSettings *SettingsData);
unsigned int NewSMSNotification(QString DID);
private:
QNetworkAccessManager *mVOIPMSSocket;
unsigned int SMSReceived(QJsonArray *sms);
unsigned int DIDsInfoReceived(QJsonArray *DIDsInfo);
CVoipMSSMSSettings mVOIPMsSettings;
QDate mCurStartDate;
QTcpServer *mVOIPMsNotificationServer;
QTcpSocket *mClientConnection;
signals:
void DIDSFetched(QStringList);
public slots:
void VoipServerReplyFinished(QNetworkReply*);
void VoipNotificationServerConnected();
void VoipNotificationServerDataAvail();
};
#endif // CVOIPMSSMSCLIENT_H