00001
00002
00003
00004
00005
00006
00007 #pragma once
00008
00009 #include <Swiften/Base/API.h>
00010 #include <Swiften/Avatars/AvatarProvider.h>
00011 #include <Swiften/JID/JID.h>
00012
00013 namespace Swift {
00014 class MUCRegistry;
00015 class AvatarStorage;
00016 class VCardManager;
00017
00018 class SWIFTEN_API VCardAvatarManager : public AvatarProvider {
00019 public:
00020 VCardAvatarManager(VCardManager*, AvatarStorage*, MUCRegistry* = NULL);
00021
00022 std::string getAvatarHash(const JID&) const;
00023
00024 private:
00025 void handleVCardChanged(const JID& from);
00026 JID getAvatarJID(const JID& o) const;
00027
00028 private:
00029 VCardManager* vcardManager_;
00030 AvatarStorage* avatarStorage_;
00031 MUCRegistry* mucRegistry_;
00032 };
00033 }