• Main Page
  • Classes
  • Files
  • File List

Swiften/Avatars/AvatarManagerImpl.h

00001 /*
00002  * Copyright (c) 2010 Remko Tronçon
00003  * Licensed under the GNU General Public License v3.
00004  * See Documentation/Licenses/GPLv3.txt for more information.
00005  */
00006 
00007 #pragma once
00008 
00009 #include <Swiften/Avatars/AvatarManager.h>
00010 #include <Swiften/Avatars/CombinedAvatarProvider.h>
00011 
00012 namespace Swift {
00013   class MUCRegistry;
00014   class AvatarStorage;
00015   class StanzaChannel;
00016   class VCardManager;
00017   class VCardUpdateAvatarManager;
00018   class VCardAvatarManager;
00019   class OfflineAvatarManager;
00020 
00021   class AvatarManagerImpl : public AvatarManager {
00022     public:
00023       AvatarManagerImpl(VCardManager*, StanzaChannel*, AvatarStorage*, MUCRegistry* = NULL);
00024       virtual ~AvatarManagerImpl();
00025 
00026       virtual boost::filesystem::path getAvatarPath(const JID&) const;
00027       virtual ByteArray getAvatar(const JID&) const;
00028 
00029     private:
00030       void handleCombinedAvatarChanged(const JID& jid);
00031 
00032 
00033     private:
00034       CombinedAvatarProvider combinedAvatarProvider;
00035       AvatarStorage* avatarStorage;
00036       VCardUpdateAvatarManager* vcardUpdateAvatarManager;
00037       VCardAvatarManager* vcardAvatarManager;
00038       OfflineAvatarManager* offlineAvatarManager;
00039   };
00040 }

Generated on Fri Oct 12 2012 21:00:19 for Swiften by  doxygen 1.7.1