summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2011-03-11 20:22:35 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-03-11 22:22:04 (GMT)
commit59aa5d7e29ca142ae324ad97e6a5f0353d1a6b89 (patch)
treee450b95ff4c0ba7f770723402a2634773f1a0451 /Swiften/Avatars/OfflineAvatarManager.cpp
parent3ff52013d810f94b6095e93f550f58133e2df239 (diff)
downloadswift-59aa5d7e29ca142ae324ad97e6a5f0353d1a6b89.zip
swift-59aa5d7e29ca142ae324ad97e6a5f0353d1a6b89.tar.bz2
Store JID->Avatar mappings.
Resolves: #653
Diffstat (limited to 'Swiften/Avatars/OfflineAvatarManager.cpp')
-rw-r--r--Swiften/Avatars/OfflineAvatarManager.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/Swiften/Avatars/OfflineAvatarManager.cpp b/Swiften/Avatars/OfflineAvatarManager.cpp
new file mode 100644
index 0000000..02c6a35
--- /dev/null
+++ b/Swiften/Avatars/OfflineAvatarManager.cpp
@@ -0,0 +1,32 @@
+/*
+ * Copyright (c) 2010 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#include <Swiften/Avatars/OfflineAvatarManager.h>
+
+#include <boost/bind.hpp>
+
+#include <Swiften/Avatars/AvatarStorage.h>
+
+namespace Swift {
+
+OfflineAvatarManager::OfflineAvatarManager(AvatarStorage* avatarStorage) : avatarStorage(avatarStorage) {
+}
+
+OfflineAvatarManager::~OfflineAvatarManager() {
+}
+
+std::string OfflineAvatarManager::getAvatarHash(const JID& jid) const {
+ return avatarStorage->getAvatarForJID(jid);
+}
+
+void OfflineAvatarManager::setAvatar(const JID& jid, const std::string& hash) {
+ if (getAvatarHash(jid) != hash) {
+ avatarStorage->setAvatarForJID(jid, hash);
+ onAvatarChanged(jid);
+ }
+}
+
+}