summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2011-03-12 12:37:23 (GMT)
committerRemko Tronçon <git@el-tramo.be>2011-03-12 12:37:23 (GMT)
commit975742531dce89ba77d6c337da16ca710bba8a66 (patch)
tree0ccaf5c34a0479ec7724225f040ee0b0232ca2d3 /Swiften/VCards/VCardFileStorage.h
parent1e2722460b9a67713484903bf6382d08f7e09278 (diff)
downloadswift-contrib-975742531dce89ba77d6c337da16ca710bba8a66.zip
swift-contrib-975742531dce89ba77d6c337da16ca710bba8a66.tar.bz2
Cache vcard photo hashes.
Diffstat (limited to 'Swiften/VCards/VCardFileStorage.h')
-rw-r--r--Swiften/VCards/VCardFileStorage.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/Swiften/VCards/VCardFileStorage.h b/Swiften/VCards/VCardFileStorage.h
index 5f8cb1a..26bf4b2 100644
--- a/Swiften/VCards/VCardFileStorage.h
+++ b/Swiften/VCards/VCardFileStorage.h
@@ -8,6 +8,8 @@
#include <boost/shared_ptr.hpp>
#include <boost/filesystem.hpp>
+#include <string>
+#include <map>
#include "Swiften/VCards/VCardStorage.h"
@@ -19,10 +21,18 @@ namespace Swift {
virtual VCard::ref getVCard(const JID& jid) const;
virtual void setVCard(const JID& jid, VCard::ref v);
+ virtual std::string getPhotoHash(const JID&) const;
+
private:
boost::filesystem::path getVCardPath(const JID&) const;
+ std::string getAndUpdatePhotoHash(const JID& jid, VCard::ref vcard) const;
+ void savePhotoHashes() const;
+
private:
boost::filesystem::path vcardsPath;
+ boost::filesystem::path cacheFile;
+ typedef std::map<JID, std::string> PhotoHashMap;
+ mutable PhotoHashMap photoHashes;
};
}