summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-10-24 13:46:12 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-10-24 15:56:44 (GMT)
commit9dccf1e0c86b10d41dd2d5f3bf71faf1bf8d77c8 (patch)
tree4d054c17e759f5f206c67fbbef1ca3e77647ba07 /Swiften/Client/Client.cpp
parentefc2bed8610f6e1b7fc29b3dd6f13137fc19bdf6 (diff)
downloadswift-9dccf1e0c86b10d41dd2d5f3bf71faf1bf8d77c8.zip
swift-9dccf1e0c86b10d41dd2d5f3bf71faf1bf8d77c8.tar.bz2
Created Storages interface.
Diffstat (limited to 'Swiften/Client/Client.cpp')
-rw-r--r--Swiften/Client/Client.cpp20
1 files changed, 19 insertions, 1 deletions
diff --git a/Swiften/Client/Client.cpp b/Swiften/Client/Client.cpp
index 63cd89f..7363c3f 100644
--- a/Swiften/Client/Client.cpp
+++ b/Swiften/Client/Client.cpp
@@ -12,10 +12,14 @@
#include "Swiften/Presence/PresenceOracle.h"
#include "Swiften/Presence/PresenceSender.h"
#include "Swiften/MUC/MUCRegistry.h"
+#include "Swiften/Client/MemoryStorages.h"
+#include "Swiften/VCards/VCardManager.h"
namespace Swift {
-Client::Client(const JID& jid, const String& password) : CoreClient(jid, password) {
+Client::Client(const JID& jid, const String& password, Storages* storages) : CoreClient(jid, password), storages(storages) {
+ memoryStorages = new MemoryStorages();
+
softwareVersionResponder = new SoftwareVersionResponder(getIQRouter());
softwareVersionResponder->start();
@@ -29,9 +33,13 @@ Client::Client(const JID& jid, const String& password) : CoreClient(jid, passwor
presenceSender = new PresenceSender(getStanzaChannel());
mucRegistry = new MUCRegistry();
+
+ vcardManager = new VCardManager(jid, getIQRouter(), getStorages()->getVCardStorage());
}
Client::~Client() {
+ delete vcardManager;
+
delete mucRegistry;
delete presenceSender;
@@ -42,6 +50,8 @@ Client::~Client() {
softwareVersionResponder->stop();
delete softwareVersionResponder;
+
+ delete memoryStorages;
}
XMPPRoster* Client::getRoster() const {
@@ -65,4 +75,12 @@ Presence::ref Client::getHighestPriorityPresence(const JID& bareJID) const {
return presenceOracle->getHighestPriorityPresence(bareJID);
}
+Storages* Client::getStorages() const {
+ if (storages) {
+ return storages;
+ }
+ return memoryStorages;
+}
+
+
}