diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-03-12 11:45:16 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-03-12 11:45:16 (GMT) |
commit | 1e2722460b9a67713484903bf6382d08f7e09278 (patch) | |
tree | bbce2e9524f927c754ddfedd99f0b9444273c8ff /Swiften/Avatars/VCardAvatarManager.cpp | |
parent | 137d42c7081fc31deb76446b2f6ef72ae21eeff5 (diff) | |
download | swift-contrib-1e2722460b9a67713484903bf6382d08f7e09278.zip swift-contrib-1e2722460b9a67713484903bf6382d08f7e09278.tar.bz2 |
Moved vcard photo hash management into vcard storage.
This makes it easy to adapt the code to cache photo hashes if we want to.
Diffstat (limited to 'Swiften/Avatars/VCardAvatarManager.cpp')
-rw-r--r-- | Swiften/Avatars/VCardAvatarManager.cpp | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/Swiften/Avatars/VCardAvatarManager.cpp b/Swiften/Avatars/VCardAvatarManager.cpp index ce732db..046e6f3 100644 --- a/Swiften/Avatars/VCardAvatarManager.cpp +++ b/Swiften/Avatars/VCardAvatarManager.cpp @@ -29,17 +29,16 @@ void VCardAvatarManager::handleVCardChanged(const JID& from) { } std::string VCardAvatarManager::getAvatarHash(const JID& jid) const { - VCard::ref vCard = vcardManager_->getVCard(getAvatarJID(jid)); - if (vCard && !vCard->getPhoto().isEmpty()) { - std::string hash = Hexify::hexify(SHA1::getHash(vCard->getPhoto())); + JID avatarJID = getAvatarJID(jid); + std::string hash = vcardManager_->getPhotoHash(avatarJID); + if (!hash.empty()) { if (!avatarStorage_->hasAvatar(hash)) { + VCard::ref vCard = vcardManager_->getVCard(avatarJID); + assert(vCard); avatarStorage_->addAvatar(hash, vCard->getPhoto()); } - return hash; - } - else { - return ""; } + return hash; } JID VCardAvatarManager::getAvatarJID(const JID& jid) const { |