diff options
author | Remko Tronçon <git@el-tramo.be> | 2011-03-12 12:37:23 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2011-03-12 12:37:23 (GMT) |
commit | 975742531dce89ba77d6c337da16ca710bba8a66 (patch) | |
tree | 0ccaf5c34a0479ec7724225f040ee0b0232ca2d3 /Swiften/VCards/VCardFileStorage.h | |
parent | 1e2722460b9a67713484903bf6382d08f7e09278 (diff) | |
download | swift-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.h | 10 |
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; }; } |