diff options
| author | Remko Tronçon <git@el-tramo.be> | 2010-10-31 18:51:01 (GMT) | 
|---|---|---|
| committer | Remko Tronçon <git@el-tramo.be> | 2010-11-03 12:17:40 (GMT) | 
| commit | d509598b0f0edf5e103caedbab8662edc834445e (patch) | |
| tree | 9365ef58175eee453f999c1c5b8515cb50cf90e0 /Swiften/Client/Client.cpp | |
| parent | badcdcb7456d38016ea1746d6754a40dd9646813 (diff) | |
| download | swift-d509598b0f0edf5e103caedbab8662edc834445e.zip swift-d509598b0f0edf5e103caedbab8662edc834445e.tar.bz2  | |
Refactoring Presence & MUC handling.
Diffstat (limited to 'Swiften/Client/Client.cpp')
| -rw-r--r-- | Swiften/Client/Client.cpp | 21 | 
1 files changed, 16 insertions, 5 deletions
diff --git a/Swiften/Client/Client.cpp b/Swiften/Client/Client.cpp index 45eeeff..7dbcb70 100644 --- a/Swiften/Client/Client.cpp +++ b/Swiften/Client/Client.cpp @@ -10,8 +10,10 @@  #include "Swiften/Roster/XMPPRosterImpl.h"  #include "Swiften/Roster/XMPPRosterController.h"  #include "Swiften/Presence/PresenceOracle.h" -#include "Swiften/Presence/PresenceSender.h" +#include "Swiften/Presence/StanzaChannelPresenceSender.h" +#include "Swiften/Presence/DirectedPresenceSender.h"  #include "Swiften/MUC/MUCRegistry.h" +#include "Swiften/MUC/MUCManager.h"  #include "Swiften/Client/MemoryStorages.h"  #include "Swiften/VCards/VCardManager.h"  #include "Swiften/VCards/VCardManager.h" @@ -19,6 +21,7 @@  #include "Swiften/Disco/CapsManager.h"  #include "Swiften/Disco/EntityCapsManager.h"  #include "Swiften/Client/NickResolver.h" +#include "Swiften/Presence/SubscriptionManager.h"  namespace Swift { @@ -31,13 +34,16 @@ Client::Client(EventLoop* eventLoop, const JID& jid, const String& password, Sto  	roster = new XMPPRosterImpl();  	rosterController = new XMPPRosterController(getIQRouter(), roster); +	subscriptionManager = new SubscriptionManager(getStanzaChannel()); +  	presenceOracle = new PresenceOracle(getStanzaChannel());  	presenceOracle->onPresenceChange.connect(boost::ref(onPresenceChange)); -	presenceOracle->onPresenceSubscriptionRequest.connect(boost::ref(onPresenceSubscriptionRequest)); -	presenceSender = new PresenceSender(getStanzaChannel()); +	stanzaChannelPresenceSender = new StanzaChannelPresenceSender(getStanzaChannel()); +	directedPresenceSender = new DirectedPresenceSender(stanzaChannelPresenceSender);  	mucRegistry = new MUCRegistry(); +	mucManager = new MUCManager(getStanzaChannel(), getIQRouter(), directedPresenceSender, mucRegistry);  	vcardManager = new VCardManager(jid, getIQRouter(), getStorages()->getVCardStorage());  	avatarManager = new AvatarManagerImpl(vcardManager, getStanzaChannel(), getStorages()->getAvatarStorage(), mucRegistry); @@ -55,11 +61,14 @@ Client::~Client() {  	delete avatarManager;  	delete vcardManager; +	delete mucManager;  	delete mucRegistry; -	delete presenceSender; +	delete directedPresenceSender; +	delete stanzaChannelPresenceSender;  	delete presenceOracle; +	delete subscriptionManager;  	delete rosterController;  	delete roster; @@ -81,7 +90,6 @@ void Client::requestRoster() {  	rosterController->requestRoster();  } -  Presence::ref Client::getLastPresence(const JID& jid) const {  	return presenceOracle->getLastPresence(jid);  } @@ -97,5 +105,8 @@ Storages* Client::getStorages() const {  	return memoryStorages;  } +PresenceSender* Client::getPresenceSender() const { +	return directedPresenceSender; +}  }  | 
 Swift