diff --git a/socket.cpp b/socket.cpp index f9a6440..7ec79cc 100644 --- a/socket.cpp +++ b/socket.cpp @@ -170,12 +170,9 @@ void Socket::toggleCountDown() void Socket::writeSocketData(QByteArray socketName, QByteArray remotePassword, QByteArray timeZone, uint16_t countdown) { - QByteArray countDown; - QDataStream stream1(&countDown, QIODevice::WriteOnly); - stream1.setByteOrder(QDataStream::LittleEndian); - stream1 << countdown; + QByteArray countDown = intToHex(countdown); - QByteArray record = QByteArray::fromHex("01:00") /* record number = 1*/ + versionID + mac + twenties + rmac + twenties + remotePassword + socketName + icon + hardwareVersion + firmwareVersion + wifiFirmwareVersion + port + staticServerIP + port + domainServerName + localIP + localGatewayIP + localNetMask + dhcpNode + discoverable + timeZoneSet + timeZone + zero + (countdownEnabled ? one : QByteArray::fromHex("ff")) + countDown + zeros + zeros + zeros + zeros + QStringLiteral("000000000000000000000000000000").toLocal8Bit(); + QByteArray record = QByteArray::fromHex("01:00") /* record number = 1*/ + versionID + mac + twenties + rmac + twenties + remotePassword + socketName + icon + hardwareVersion + firmwareVersion + wifiFirmwareVersion + port + staticServerIP + port + domainServerName + localIP + localGatewayIP + localNetMask + dhcpNode + discoverable + timeZoneSet + timeZone + (countdownEnabled ? QByteArray::fromHex("01:00") : QByteArray::fromHex("00:ff")) + countDown + zeros + zeros + zeros + QStringLiteral("000000000000000000000000000000").toLocal8Bit(); QByteArray recordLength; QDataStream stream(&recordLength, QIODevice::WriteOnly); @@ -316,3 +313,11 @@ bool Socket::parseReply(QByteArray reply) return true; } + +QByteArray Socket::intToHex(uint16_t decimal) { + QByteArray hex; + QDataStream stream1(&hex, QIODevice::WriteOnly); + stream1.setByteOrder(QDataStream::LittleEndian); + stream1 << decimal; + return hex; +} diff --git a/socket.h b/socket.h index 9f4bcc0..1d47385 100644 --- a/socket.h +++ b/socket.h @@ -82,6 +82,7 @@ private: } void run(); void writeSocketData(QByteArray socketName, QByteArray remotePassword, QByteArray timeZone, uint16_t countdown); + QByteArray intToHex(uint16_t value); QByteArray commandID[MaxCommands]; QByteArray datagram[MaxCommands];