05fc3aef53
Replace the current license disclaimer in files by a SPDX-License-Identifier. Files that have to be modified by hand are modified. License files are organized under LICENSES directory. Task-number: QTBUG-67283 Change-Id: Id880c92784c40f3bbde861c0d93f58151c18b9f1 Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Lars Knoll <lars.knoll@qt.io> Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
33 lines
934 B
C++
33 lines
934 B
C++
// Copyright (C) 2016 Alex Trotsenko <alex1973tr@gmail.com>
|
|
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
|
|
|
|
#include "timeprovider.h"
|
|
#include <QDataStream>
|
|
#include <QTime>
|
|
#include <QByteArray>
|
|
|
|
TimeProvider::TimeProvider(QObject *parent)
|
|
: Provider(parent)
|
|
{
|
|
}
|
|
|
|
void TimeProvider::readDatagram(QSctpSocket &from, const QByteArray &ba)
|
|
{
|
|
QDataStream in_ds(ba);
|
|
QTime curTime = QTime::currentTime();
|
|
QTime clientTime;
|
|
|
|
in_ds >> clientTime;
|
|
// Send response only if a displayed part of the time is changed.
|
|
// So, sub-second differences are ignored.
|
|
if (!clientTime.isValid() || curTime.second() != clientTime.second()
|
|
|| curTime.minute() != clientTime.minute()
|
|
|| curTime.hour() != clientTime.hour()) {
|
|
QByteArray buf;
|
|
QDataStream out_ds(&buf, QIODeviceBase::WriteOnly);
|
|
|
|
out_ds << curTime;
|
|
emit writeDatagram(&from, buf);
|
|
}
|
|
}
|