stanzaId based muc archive request, account object refactoring

This commit is contained in:
Blue 2020-05-21 18:42:40 +03:00
parent 9ca4aa29d4
commit 6b65910ded
10 changed files with 287 additions and 169 deletions

View file

@ -32,7 +32,12 @@ Shared::Message::Message(Shared::Message::Type p_type):
outgoing(false),
forwarded(false),
state(State::delivered),
edited(false) {}
edited(false),
errorText(),
originalMessage(),
lastModified(),
stanzaId()
{}
Shared::Message::Message():
jFrom(),
@ -50,7 +55,9 @@ Shared::Message::Message():
edited(false),
errorText(),
originalMessage(),
lastModified() {}
lastModified(),
stanzaId()
{}
QString Shared::Message::getBody() const
{
@ -77,7 +84,11 @@ QString Shared::Message::getTo() const
QString Shared::Message::getId() const
{
return id;
if (id.size() > 0) {
return id;
} else {
return stanzaId;
}
}
QDateTime Shared::Message::getTime() const
@ -299,6 +310,7 @@ void Shared::Message::serialize(QDataStream& data) const
data << originalMessage;
data << lastModified;
}
data << stanzaId;
}
void Shared::Message::deserialize(QDataStream& data)
@ -328,6 +340,7 @@ void Shared::Message::deserialize(QDataStream& data)
data >> originalMessage;
data >> lastModified;
}
data >> stanzaId;
}
bool Shared::Message::change(const QMap<QString, QVariant>& data)
@ -353,6 +366,18 @@ bool Shared::Message::change(const QMap<QString, QVariant>& data)
idChanged = true;
}
}
itr = data.find("stanzaId");
if (itr != data.end()) {
QString newId = itr.value().toString();
if (stanzaId != newId) {
setStanzaId(newId);
if (id.size() == 0) {
idChanged = true;
}
}
}
itr = data.find("body");
if (itr != data.end()) {
QMap<QString, QVariant>::const_iterator dItr = data.find("stamp");
@ -397,3 +422,13 @@ bool Shared::Message::storable() const
{
return id.size() > 0 && (body.size() > 0 || oob.size()) > 0;
}
void Shared::Message::setStanzaId(const QString& sid)
{
stanzaId = sid;
}
QString Shared::Message::getStanzaId() const
{
return stanzaId;
}

View file

@ -71,6 +71,7 @@ public:
void setEdited(bool p_edited);
void setErrorText(const QString& err);
bool change(const QMap<QString, QVariant>& data);
void setStanzaId(const QString& sid);
QString getFrom() const;
QString getFromJid() const;
@ -98,6 +99,7 @@ public:
bool serverStored() const;
QDateTime getLastModified() const;
QString getOriginalBody() const;
QString getStanzaId() const;
void serialize(QDataStream& data) const;
void deserialize(QDataStream& data);
@ -120,6 +122,7 @@ private:
QString errorText;
QString originalMessage;
QDateTime lastModified;
QString stanzaId;
};
}