summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-10-31 18:51:01 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-11-03 12:17:40 (GMT)
commitd509598b0f0edf5e103caedbab8662edc834445e (patch)
tree9365ef58175eee453f999c1c5b8515cb50cf90e0 /Swiften/Client/Client.h
parentbadcdcb7456d38016ea1746d6754a40dd9646813 (diff)
downloadswift-d509598b0f0edf5e103caedbab8662edc834445e.zip
swift-d509598b0f0edf5e103caedbab8662edc834445e.tar.bz2
Refactoring Presence & MUC handling.
Diffstat (limited to 'Swiften/Client/Client.h')
-rw-r--r--Swiften/Client/Client.h23
1 files changed, 17 insertions, 6 deletions
diff --git a/Swiften/Client/Client.h b/Swiften/Client/Client.h
index 7e11df9..adfd549 100644
--- a/Swiften/Client/Client.h
+++ b/Swiften/Client/Client.h
@@ -12,9 +12,12 @@ namespace Swift {
class SoftwareVersionResponder;
class XMPPRoster;
class XMPPRosterImpl;
+ class MUCManager;
class XMPPRosterController;
class PresenceOracle;
class PresenceSender;
+ class DirectedPresenceSender;
+ class StanzaChannelPresenceSender;
class MUCRegistry;
class Storages;
class MemoryStorages;
@@ -23,6 +26,7 @@ namespace Swift {
class CapsManager;
class EntityCapsManager;
class NickResolver;
+ class SubscriptionManager;
/**
* Provides the core functionality for writing XMPP client software.
@@ -88,8 +92,10 @@ namespace Swift {
return presenceOracle;
}
- PresenceSender* getPresenceSender() const {
- return presenceSender;
+ PresenceSender* getPresenceSender() const;
+
+ MUCManager* getMUCManager() const {
+ return mucManager;
}
MUCRegistry* getMUCRegistry() const {
@@ -112,15 +118,17 @@ namespace Swift {
return nickResolver;
}
+ SubscriptionManager* getSubscriptionManager() const {
+ return subscriptionManager;
+ }
+
public:
/**
* This signal is emitted when a JID changes presence.
*/
boost::signal<void (Presence::ref)> onPresenceChange;
- /**
- * This signal is emitted when a presence subscription request is received.
- */
+
boost::signal<void (const JID&, const String&)> onPresenceSubscriptionRequest;
private:
@@ -133,12 +141,15 @@ namespace Swift {
XMPPRosterImpl* roster;
XMPPRosterController* rosterController;
PresenceOracle* presenceOracle;
- PresenceSender* presenceSender;
+ DirectedPresenceSender* directedPresenceSender;
+ StanzaChannelPresenceSender* stanzaChannelPresenceSender;
MUCRegistry* mucRegistry;
VCardManager* vcardManager;
AvatarManager* avatarManager;
CapsManager* capsManager;
EntityCapsManager* entityCapsManager;
NickResolver* nickResolver;
+ SubscriptionManager* subscriptionManager;
+ MUCManager* mucManager;
};
}