diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-06-06 10:33:34 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-06-06 11:03:11 (GMT) |
commit | babda920a6c6efdd6464093b55c7ff752181a63b (patch) | |
tree | 0333cc2a4cc4e97354c6f208c690eb8076fb9ad0 /Swiften/Elements/Stanza.cpp | |
parent | 4fbd449f8ec45eb4cc3f5fcd51630caf102145af (diff) | |
download | swift-contrib-babda920a6c6efdd6464093b55c7ff752181a63b.zip swift-contrib-babda920a6c6efdd6464093b55c7ff752181a63b.tar.bz2 |
Use delay when printing MUC history.
Resolves: #415
Diffstat (limited to 'Swiften/Elements/Stanza.cpp')
-rw-r--r-- | Swiften/Elements/Stanza.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/Swiften/Elements/Stanza.cpp b/Swiften/Elements/Stanza.cpp index dd6021d..d15d778 100644 --- a/Swiften/Elements/Stanza.cpp +++ b/Swiften/Elements/Stanza.cpp @@ -5,6 +5,7 @@ */ #include "Swiften/Elements/Stanza.h" +#include "Swiften/Elements/Delay.h" #include <typeinfo> @@ -33,5 +34,20 @@ boost::shared_ptr<Payload> Stanza::getPayloadOfSameType(boost::shared_ptr<Payloa return boost::shared_ptr<Payload>(); } +boost::optional<boost::posix_time::ptime> Stanza::getTimestamp() const { + boost::shared_ptr<Delay> delay = getPayload<Delay>(); + return delay ? delay->getStamp() : boost::optional<boost::posix_time::ptime>(); +} + +boost::optional<boost::posix_time::ptime> Stanza::getTimestampFrom(const JID& jid) const { + std::vector< boost::shared_ptr<Delay> > delays = getPayloads<Delay>(); + for (size_t i = 0; i < delays.size(); ++i) { + if (delays[i]->getFrom() == jid) { + return delays[i]->getStamp(); + } + } + return getTimestamp(); +} + } |