47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
		
		
			
		
	
	
			47 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
|   | #ifndef WSPRNET_H | ||
|  | #define WSPRNET_H | ||
|  | 
 | ||
|  | #include <QObject> | ||
|  | #include <QString> | ||
|  | #include <QList> | ||
|  | #include <QHash> | ||
|  | #include <QQueue> | ||
|  | 
 | ||
|  | class QNetworkAccessManager; | ||
|  | class QTimer; | ||
|  | class QNetworkReply; | ||
|  | 
 | ||
|  | class WSPRNet : public QObject | ||
|  | { | ||
|  |   Q_OBJECT; | ||
|  | 
 | ||
|  | public: | ||
|  |   explicit WSPRNet(QNetworkAccessManager *, QObject *parent = nullptr); | ||
|  |     void upload(QString const& call, QString const& grid, QString const& rfreq, QString const& tfreq, | ||
|  |                 QString const& mode, QString const& tpct, QString const& dbm, QString const& version, | ||
|  |                 QString const& fileName); | ||
|  |     static bool decodeLine(QString const& line, QHash<QString,QString> &query); | ||
|  | 
 | ||
|  | signals: | ||
|  |     void uploadStatus(QString); | ||
|  | 
 | ||
|  | public slots: | ||
|  |     void networkReply(QNetworkReply *); | ||
|  |     void work(); | ||
|  |     void abortOutstandingRequests (); | ||
|  | 
 | ||
|  | private: | ||
|  |     QNetworkAccessManager *networkManager; | ||
|  |     QList<QNetworkReply *> m_outstandingRequests; | ||
|  |     QString m_call, m_grid, m_rfreq, m_tfreq, m_mode, m_tpct, m_dbm, m_vers, m_file; | ||
|  |     QQueue<QString> urlQueue; | ||
|  |     QTimer *uploadTimer; | ||
|  |     int m_urlQueueSize; | ||
|  |     int m_uploadType; | ||
|  | 
 | ||
|  |     QString urlEncodeNoSpot(); | ||
|  |     QString urlEncodeSpot(QHash<QString,QString> const& spot); | ||
|  | }; | ||
|  | 
 | ||
|  | #endif // WSPRNET_H |