From 354ec34d1ecc5be41fe4609766aa04216ce9a5c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andrius=20=C5=A0tikonas?= Date: Thu, 2 Apr 2015 01:31:37 +0100 Subject: [PATCH] Move socketDateTime to socket class. --- server.cpp | 9 --------- socket.cpp | 9 +++++++++ socket.h | 2 ++ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/server.cpp b/server.cpp index 6241bd9..c19e68c 100644 --- a/server.cpp +++ b/server.cpp @@ -15,7 +15,6 @@ * along with this program. If not, see .* *************************************************************************/ -#include #include #include #include @@ -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::const_iterator i = sockets->begin() ; i != sockets->end(); ++i ) { diff --git a/socket.cpp b/socket.cpp index 0d2eee4..a4eb001 100644 --- a/socket.cpp +++ b/socket.cpp @@ -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]; diff --git a/socket.h b/socket.h index c8358cf..4e8a0a3 100644 --- a/socket.h +++ b/socket.h @@ -19,6 +19,7 @@ #define SOCKET_H #include +#include #include #include #include @@ -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};