1 /*
2    SPDX-FileCopyrightText: 2020-2021 Laurent Montel <montel@kde.org>
3 
4    SPDX-License-Identifier: LGPL-2.0-or-later
5 */
6 
7 #include "channelcounterinfo.h"
8 
9 ChannelCounterInfo::ChannelCounterInfo() = default;
10 
11 ChannelCounterInfo::~ChannelCounterInfo() = default;
12 
parseCounterInfo(const QJsonObject & replyObject)13 void ChannelCounterInfo::parseCounterInfo(const QJsonObject &replyObject)
14 {
15     mMessageCount = replyObject.value(QLatin1String("msgs")).toInt();
16     mUnreadMessages = replyObject.value(QLatin1String("unreads")).toInt();
17     mJoined = replyObject.value(QLatin1String("joined")).toBool();
18     mUnreadFrom = QDateTime::fromString(replyObject.value(QLatin1String("unreadsFrom")).toString(), Qt::ISODate);
19     mUnreadFrom = mUnreadFrom.toTimeSpec(Qt::LocalTime);
20     mUnreadMessageTimeStep = mUnreadFrom.toMSecsSinceEpoch();
21 }
22 
operator ==(const ChannelCounterInfo & other) const23 bool ChannelCounterInfo::operator==(const ChannelCounterInfo &other) const
24 {
25     return mUnreadMessages == other.unreadMessages() && mMessageCount == other.messageCount() && mUnreadFrom == other.unreadFrom() && mJoined == other.joined();
26 }
27 
operator !=(const ChannelCounterInfo & other) const28 bool ChannelCounterInfo::operator!=(const ChannelCounterInfo &other) const
29 {
30     return !operator==(other);
31 }
32 
unreadMessages() const33 quint64 ChannelCounterInfo::unreadMessages() const
34 {
35     return mUnreadMessages;
36 }
37 
setUnreadMessages(quint64 unreadMessages)38 void ChannelCounterInfo::setUnreadMessages(quint64 unreadMessages)
39 {
40     mUnreadMessages = unreadMessages;
41 }
42 
unreadFrom() const43 QDateTime ChannelCounterInfo::unreadFrom() const
44 {
45     return mUnreadFrom;
46 }
47 
setUnreadFrom(const QDateTime & unreadFrom)48 void ChannelCounterInfo::setUnreadFrom(const QDateTime &unreadFrom)
49 {
50     mUnreadFrom = unreadFrom;
51 }
52 
messageCount() const53 quint64 ChannelCounterInfo::messageCount() const
54 {
55     return mMessageCount;
56 }
57 
setMessageCount(quint64 messageCount)58 void ChannelCounterInfo::setMessageCount(quint64 messageCount)
59 {
60     mMessageCount = messageCount;
61 }
62 
joined() const63 bool ChannelCounterInfo::joined() const
64 {
65     return mJoined;
66 }
67 
setJoined(bool joined)68 void ChannelCounterInfo::setJoined(bool joined)
69 {
70     mJoined = joined;
71 }
72 
isValid() const73 bool ChannelCounterInfo::isValid() const
74 {
75     return mUnreadFrom.isValid();
76 }
77 
unreadMessageTimeStep() const78 qint64 ChannelCounterInfo::unreadMessageTimeStep() const
79 {
80     return mUnreadMessageTimeStep;
81 }
82 
setUnreadMessageTimeStep(qint64 unreadMessageTimeStep)83 void ChannelCounterInfo::setUnreadMessageTimeStep(qint64 unreadMessageTimeStep)
84 {
85     mUnreadMessageTimeStep = unreadMessageTimeStep;
86 }
87 
operator <<(QDebug d,const ChannelCounterInfo & t)88 QDebug operator<<(QDebug d, const ChannelCounterInfo &t)
89 {
90     d << "Unread Messages " << t.unreadMessages();
91     d << "Messages count " << t.messageCount();
92     d << "Unread from " << t.unreadFrom();
93     d << "joined " << t.joined();
94     return d;
95 }
96