summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-09-10 13:16:00 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-09-11 21:53:46 (GMT)
commitbc6a510af449b6e383a11fc20c9859b8bcac247c (patch)
tree70288194b0f75d9d268c2ac94d70291d988a0bf4 /Swiften/Avatars/AvatarManagerImpl.h
parent8bdc3c2e2e520407027ac3a3e09d7af8054a0e5b (diff)
downloadswift-bc6a510af449b6e383a11fc20c9859b8bcac247c.zip
swift-bc6a510af449b6e383a11fc20c9859b8bcac247c.tar.bz2
Make AvatarManager abstract
Diffstat (limited to 'Swiften/Avatars/AvatarManagerImpl.h')
-rw-r--r--Swiften/Avatars/AvatarManagerImpl.h43
1 files changed, 43 insertions, 0 deletions
diff --git a/Swiften/Avatars/AvatarManagerImpl.h b/Swiften/Avatars/AvatarManagerImpl.h
new file mode 100644
index 0000000..f533160
--- /dev/null
+++ b/Swiften/Avatars/AvatarManagerImpl.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (c) 2010 Remko Tronçon
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#pragma once
+
+#include <boost/filesystem.hpp>
+#include <boost/shared_ptr.hpp>
+#include <boost/optional.hpp>
+#include <map>
+
+#include "Swiften/Avatars/AvatarManager.h"
+#include "Swiften/Base/boost_bsignals.h"
+#include "Swiften/JID/JID.h"
+#include "Swiften/Elements/Presence.h"
+#include "Swiften/Elements/VCard.h"
+#include "Swiften/Elements/ErrorPayload.h"
+#include "Swiften/Avatars/CombinedAvatarProvider.h"
+
+namespace Swift {
+ class MUCRegistry;
+ class AvatarStorage;
+ class StanzaChannel;
+ class VCardManager;
+ class VCardUpdateAvatarManager;
+ class VCardAvatarManager;
+
+ class AvatarManagerImpl : public AvatarManager {
+ public:
+ AvatarManagerImpl(VCardManager*, StanzaChannel*, AvatarStorage*, MUCRegistry* = NULL);
+ virtual ~AvatarManagerImpl();
+
+ virtual boost::filesystem::path getAvatarPath(const JID&) const;
+
+ private:
+ CombinedAvatarProvider combinedAvatarProvider;
+ AvatarStorage* avatarStorage;
+ VCardUpdateAvatarManager* vcardUpdateAvatarManager;
+ VCardAvatarManager* vcardAvatarManager;
+ };
+}