Move socketDateTime to socket class.

This commit is contained in:
Andrius Štikonas 2015-04-02 01:31:37 +01:00
parent 0253526834
commit 354ec34d1e
3 changed files with 11 additions and 9 deletions

View File

@ -15,7 +15,6 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.*
*************************************************************************/
#include <QDateTime>
#include <QNetworkConfiguration>
#include <QNetworkConfigurationManager>
#include <QNetworkSession>
@ -154,14 +153,6 @@ void Server::readPendingDatagrams()
{
if ( reply.mid ( 4, 2 ) == QByteArray::fromHex ( "71 61" ) ) // Reply to discover packet
{
QByteArray timeArray = reply.right(5).left(4);
QDataStream stream(&timeArray, QIODevice::ReadOnly);
stream.setByteOrder(QDataStream::LittleEndian);
uint32_t time;
stream >> time;
QDateTime socketDateTime(QDate(1900, 01, 01));
qWarning() << socketDateTime.addSecs(time).toString();
bool duplicate = false;
for ( std::vector<Socket*>::const_iterator i = sockets->begin() ; i != sockets->end(); ++i )
{

View File

@ -34,6 +34,15 @@ Socket::Socket ( QHostAddress IPaddress, QByteArray reply )
powered = reply.right ( 1 ) == one;
// 68:64:00:06:71:61 initial detection ??
QByteArray timeArray = reply.right(5).left(4);
QDataStream stream(&timeArray, QIODevice::ReadOnly);
stream.setByteOrder(QDataStream::LittleEndian);
uint32_t time;
stream >> time;
socketDateTime.setDate(QDate(1900, 01, 01)); // midnight 1900-01-01
socketDateTime = socketDateTime.addSecs(time);
qWarning() << "Socket clock:" << socketDateTime.toString();
commandID[Subscribe] = QByteArray::fromHex ( "63 6c" );
commandID[PowerOn] = QByteArray::fromHex ( "73 66" );
commandID[PowerOff] = commandID[PowerOn];

View File

@ -19,6 +19,7 @@
#define SOCKET_H
#include <QByteArray>
#include <QDateTime>
#include <QHostAddress>
#include <QQueue>
#include <QTimer>
@ -52,6 +53,7 @@ public:
QByteArray socketName, remotePassword;
QByteArray timeZone;
QByteArray countdown;
QDateTime socketDateTime;
private:
enum Datagram {Subscribe, PowerOff, PowerOn, TableData, SocketData, TimingData, WriteSocketData, MaxCommands};