diff options
Diffstat (limited to 'Swift/Controllers/Storages/VCardFileStorage.cpp')
| -rw-r--r-- | Swift/Controllers/Storages/VCardFileStorage.cpp | 9 | 
1 files changed, 5 insertions, 4 deletions
| diff --git a/Swift/Controllers/Storages/VCardFileStorage.cpp b/Swift/Controllers/Storages/VCardFileStorage.cpp index d799a90..b22e235 100644 --- a/Swift/Controllers/Storages/VCardFileStorage.cpp +++ b/Swift/Controllers/Storages/VCardFileStorage.cpp @@ -13,8 +13,9 @@  #include <Swiften/Entity/GenericPayloadPersister.h>  #include <Swiften/Base/String.h>  #include <Swiften/StringCodecs/Hexify.h> -#include <Swiften/StringCodecs/SHA1.h>  #include <Swiften/Base/foreach.h> +#include <Swiften/Base/Path.h> +#include <Swiften/Crypto/CryptoProvider.h>  #include "Swiften/JID/JID.h"  #include "Swiften/Elements/VCard.h"  #include "Swiften/Serializer/PayloadSerializers/VCardSerializer.h" @@ -25,7 +26,7 @@ using namespace Swift;  typedef GenericPayloadPersister<VCard, VCardParser, VCardSerializer> VCardPersister; -VCardFileStorage::VCardFileStorage(boost::filesystem::path dir) : vcardsPath(dir) { +VCardFileStorage::VCardFileStorage(boost::filesystem::path dir, CryptoProvider* crypto) : VCardStorage(crypto), vcardsPath(dir), crypto(crypto) {  	cacheFile = vcardsPath / "phashes";  	if (boost::filesystem::exists(cacheFile)) {  		try { @@ -66,7 +67,7 @@ boost::filesystem::path VCardFileStorage::getVCardPath(const JID& jid) const {  	try {  		std::string file(jid.toString());  		String::replaceAll(file, '/', "%2f"); -		return boost::filesystem::path(vcardsPath / (file + ".xml")); +		return boost::filesystem::path(vcardsPath / stringToPath(file + ".xml"));  	}  	catch (const boost::filesystem::filesystem_error& e) {  		std::cerr << "ERROR: " << e.what() << std::endl; @@ -88,7 +89,7 @@ std::string VCardFileStorage::getPhotoHash(const JID& jid) const {  std::string VCardFileStorage::getAndUpdatePhotoHash(const JID& jid, VCard::ref vCard) const {  	std::string hash;  	if (vCard && !vCard->getPhoto().empty()) { -		hash = Hexify::hexify(SHA1::getHash(vCard->getPhoto())); +		hash = Hexify::hexify(crypto->getSHA1Hash(vCard->getPhoto()));  	}  	std::pair<PhotoHashMap::iterator, bool> r = photoHashes.insert(std::make_pair(jid, hash));  	if (r.second) { | 
 Swift
 Swift