forked from blue/squawk
stanzaId based muc archive request, account object refactoring
This commit is contained in:
parent
9ca4aa29d4
commit
6b65910ded
10 changed files with 287 additions and 169 deletions
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
};
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue