summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2009-06-03 17:11:45 (GMT)
committerRemko Tronçon <git@el-tramo.be>2009-06-03 17:11:45 (GMT)
commit3dd69f2f852953638b220352b0eeee10464da5d8 (patch)
tree9edda54359e2624ef8221d8148213e0060811ead /Swiften/Controllers/XMPPRosterController.cpp
parentbc41379bdb1ea19757914f45743ed97c999ce9e1 (diff)
downloadswift-contrib-3dd69f2f852953638b220352b0eeee10464da5d8.zip
swift-contrib-3dd69f2f852953638b220352b0eeee10464da5d8.tar.bz2
Pull requesting the roster out of the XMPPRosterController constructor.
Diffstat (limited to 'Swiften/Controllers/XMPPRosterController.cpp')
-rw-r--r--Swiften/Controllers/XMPPRosterController.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/Swiften/Controllers/XMPPRosterController.cpp b/Swiften/Controllers/XMPPRosterController.cpp
index b6c36d7..d1e6f80 100644
--- a/Swiften/Controllers/XMPPRosterController.cpp
+++ b/Swiften/Controllers/XMPPRosterController.cpp
@@ -22,16 +22,19 @@ namespace Swift {
* The controller does not gain ownership of these parameters.
*/
XMPPRosterController::XMPPRosterController(IQRouter* iqRouter, boost::shared_ptr<XMPPRoster> xmppRoster)
- : IQHandler(iqRouter), xmppRoster_(xmppRoster) {
- GetRosterRequest* rosterRequest = new GetRosterRequest(iqRouter, Request::AutoDeleteAfterResponse);
- rosterRequest->onResponse.connect(boost::bind(&XMPPRosterController::handleRosterReceived, this, _1));
- rosterRequest->send();
+ : IQHandler(iqRouter), iqRouter_(iqRouter), xmppRoster_(xmppRoster) {
}
XMPPRosterController::~XMPPRosterController() {
}
+void XMPPRosterController::requestRoster() {
+ GetRosterRequest* rosterRequest = new GetRosterRequest(iqRouter_, Request::AutoDeleteAfterResponse);
+ rosterRequest->onResponse.connect(boost::bind(&XMPPRosterController::handleRosterReceived, this, _1));
+ rosterRequest->send();
+}
+
void XMPPRosterController::handleRosterReceived(boost::shared_ptr<RosterPayload> rosterPayload) {
foreach(const RosterItemPayload& item, rosterPayload->getItems()) {
if (item.getSubscription() == RosterItemPayload::Remove) {