diff options
Diffstat (limited to 'Swiften/Avatars/AvatarManager.h')
-rw-r--r-- | Swiften/Avatars/AvatarManager.h | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/Swiften/Avatars/AvatarManager.h b/Swiften/Avatars/AvatarManager.h index 65ec372..448526e 100644 --- a/Swiften/Avatars/AvatarManager.h +++ b/Swiften/Avatars/AvatarManager.h @@ -1,44 +1,49 @@ #pragma once #include <boost/filesystem.hpp> #include <boost/shared_ptr.hpp> #include <boost/optional.hpp> #include <boost/signal.hpp> #include <map> #include "Swiften/JID/JID.h" #include "Swiften/Elements/Presence.h" #include "Swiften/Elements/VCard.h" #include "Swiften/Elements/ErrorPayload.h" namespace Swift { class MUCRegistry; class AvatarStorage; class StanzaChannel; class IQRouter; class AvatarManager { public: AvatarManager(StanzaChannel*, IQRouter*, AvatarStorage*, MUCRegistry*); + virtual ~AvatarManager(); - String getAvatarHash(const JID&) const; - boost::filesystem::path getAvatarPath(const JID&) const; - void setAvatar(const JID&, const ByteArray& avatar); + virtual String getAvatarHash(const JID&) const; + virtual boost::filesystem::path getAvatarPath(const JID&) const; + virtual void setAvatar(const JID&, const ByteArray& avatar); public: boost::signal<void (const JID&, const String&)> onAvatarChanged; + protected: + /** Used only for testing. Leads to a non-functional object. */ + AvatarManager(); + private: void handlePresenceReceived(boost::shared_ptr<Presence>); void handleVCardReceived(const JID& from, const String& hash, boost::shared_ptr<VCard>, const boost::optional<ErrorPayload>&); void setAvatarHash(const JID& from, const String& hash); JID getAvatarJID(const JID& o) const; private: StanzaChannel* stanzaChannel_; IQRouter* iqRouter_; AvatarStorage* avatarStorage_; MUCRegistry* mucRegistry_; std::map<JID, String> avatarHashes_; }; } |