File indexing completed on 2024-04-28 03:59:49

0001 /*
0002     SPDX-FileCopyrightText: 2015 Jan Grulich <jgrulich@redhat.com>
0003 
0004     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0005 */
0006 
0007 #include "modemtime.h"
0008 
0009 #include <QDBusConnection>
0010 #include <QDBusMessage>
0011 
0012 ModemTime::ModemTime(QObject *parent)
0013     : QDBusAbstractAdaptor(parent)
0014     , m_enabledNotifications(false)
0015 {
0016 }
0017 
0018 ModemTime::~ModemTime()
0019 {
0020 }
0021 
0022 QVariantMap ModemTime::networkTimezone() const
0023 {
0024     return m_timezone;
0025 }
0026 
0027 QString ModemTime::GetNetworkTime()
0028 {
0029     return QStringLiteral("2010-08-06T18:34:14.3+02:00");
0030 }
0031 
0032 void ModemTime::setModemPath(const QString &path)
0033 {
0034     m_modemPath = path;
0035 }
0036 
0037 void ModemTime::setEnableNotifications(bool enable)
0038 {
0039     m_enabledNotifications = enable;
0040 }
0041 
0042 void ModemTime::setNetworkTimezone(const QVariantMap &timezone)
0043 {
0044     m_timezone = timezone;
0045 
0046     if (m_enabledNotifications) {
0047         QVariantMap map;
0048         map.insert(QLatin1String("NetworkTimezone"), QVariant::fromValue<QVariantMap>(m_timezone));
0049         QDBusMessage message = QDBusMessage::createSignal(m_modemPath, QLatin1String("org.freedesktop.DBus.Properties"), QLatin1String("PropertiesChanged"));
0050         message << QLatin1String("org.kde.fakemodem.Modem.Time") << map << QStringList();
0051         QDBusConnection::sessionBus().send(message);
0052     }
0053 }
0054 
0055 QVariantMap ModemTime::toMap() const
0056 {
0057     QVariantMap map;
0058     map.insert(QLatin1String(MM_MODEM_TIME_PROPERTY_NETWORKTIMEZONE), QVariant::fromValue<QVariantMap>(m_timezone));
0059     return map;
0060 }
0061 
0062 #include "moc_modemtime.cpp"