summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-09-09 16:05:18 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-09-11 21:53:45 (GMT)
commit8bdc3c2e2e520407027ac3a3e09d7af8054a0e5b (patch)
treeaada96d0c28d46b771d4afb59cb84a93ea358df4 /Swiften/Avatars/AvatarManager.cpp
parent37511b6d30cb9cb6c1f5b1fdcca5f6658e4425da (diff)
downloadswift-8bdc3c2e2e520407027ac3a3e09d7af8054a0e5b.zip
swift-8bdc3c2e2e520407027ac3a3e09d7af8054a0e5b.tar.bz2
Added VCardAvatarManager for offline avatars.
Resolves: #418
Diffstat (limited to 'Swiften/Avatars/AvatarManager.cpp')
-rw-r--r--Swiften/Avatars/AvatarManager.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/Swiften/Avatars/AvatarManager.cpp b/Swiften/Avatars/AvatarManager.cpp
index 6811a8e..6ad39fb 100644
--- a/Swiften/Avatars/AvatarManager.cpp
+++ b/Swiften/Avatars/AvatarManager.cpp
@@ -9,6 +9,7 @@
#include <boost/bind.hpp>
#include "Swiften/Avatars/VCardUpdateAvatarManager.h"
+#include "Swiften/Avatars/VCardAvatarManager.h"
#include "Swiften/Avatars/AvatarStorage.h"
namespace Swift {
@@ -16,10 +17,16 @@ namespace Swift {
AvatarManager::AvatarManager(VCardManager* vcardManager, StanzaChannel* stanzaChannel, AvatarStorage* avatarStorage, MUCRegistry* mucRegistry) : avatarStorage(avatarStorage) {
vcardUpdateAvatarManager = new VCardUpdateAvatarManager(vcardManager, stanzaChannel, avatarStorage, mucRegistry);
combinedAvatarProvider.addProvider(vcardUpdateAvatarManager);
+
+ vcardAvatarManager = new VCardAvatarManager(vcardManager, avatarStorage, mucRegistry);
+ combinedAvatarProvider.addProvider(vcardAvatarManager);
+
combinedAvatarProvider.onAvatarChanged.connect(boost::ref(onAvatarChanged));
}
AvatarManager::~AvatarManager() {
+ combinedAvatarProvider.removeProvider(vcardAvatarManager);
+ delete vcardAvatarManager;
combinedAvatarProvider.removeProvider(vcardUpdateAvatarManager);
delete vcardUpdateAvatarManager;
}
@@ -27,6 +34,7 @@ AvatarManager::~AvatarManager() {
boost::filesystem::path AvatarManager::getAvatarPath(const JID& jid) const {
String hash = combinedAvatarProvider.getAvatarHash(jid);
if (!hash.isEmpty()) {
+ std::cout << "getAvatar " << jid << " " << avatarStorage->getAvatarPath(hash) << std::endl;
return avatarStorage->getAvatarPath(hash);
}
return boost::filesystem::path();