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};