/* * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once #include #include #include #include #include namespace Swift { class SWIFTEN_API CombinedAvatarProvider : public AvatarProvider { public: virtual boost::optional getAvatarHash(const JID&) const; void addProvider(AvatarProvider*); void removeProvider(AvatarProvider*); private: void handleAvatarChanged(const JID&); boost::optional getCombinedAvatarAndCache(const JID&) const; private: std::vector providers; mutable std::map avatars; }; }