summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemko Tronçon <git@el-tramo.be>2010-09-13 19:24:55 (GMT)
committerRemko Tronçon <git@el-tramo.be>2010-09-13 19:24:55 (GMT)
commit30c3130def563b76c18f6bc91bd527ef1ba092be (patch)
tree84031f9eba904a7fe211f40b333d93f7ecf5411e /Swift/Controllers
parentef1052bbdb315aaa1c6254098ea05638d9a25b2f (diff)
downloadswift-contrib-30c3130def563b76c18f6bc91bd527ef1ba092be.zip
swift-contrib-30c3130def563b76c18f6bc91bd527ef1ba092be.tar.bz2
Moved XMPPRosterController to Swiften.
Diffstat (limited to 'Swift/Controllers')
-rw-r--r--Swift/Controllers/MainController.cpp2
-rw-r--r--Swift/Controllers/SConscript2
-rw-r--r--Swift/Controllers/UnitTest/XMPPRosterControllerTest.cpp86
-rw-r--r--Swift/Controllers/XMPPRosterController.cpp48
-rw-r--r--Swift/Controllers/XMPPRosterController.h36
5 files changed, 1 insertions, 173 deletions
diff --git a/Swift/Controllers/MainController.cpp b/Swift/Controllers/MainController.cpp
index 6221f21..4cd9be4 100644
--- a/Swift/Controllers/MainController.cpp
+++ b/Swift/Controllers/MainController.cpp
@@ -35,7 +35,7 @@
#include "Swift/Controllers/SystemTray.h"
#include "Swift/Controllers/SystemTrayController.h"
#include "Swift/Controllers/XMLConsoleController.h"
-#include "Swift/Controllers/XMPPRosterController.h"
+#include "Swiften/Roster/XMPPRosterController.h"
#include "Swift/Controllers/UIEvents/UIEventStream.h"
#include "Swift/Controllers/PresenceNotifier.h"
#include "SwifTools/Dock/Dock.h"
diff --git a/Swift/Controllers/SConscript b/Swift/Controllers/SConscript
index 30c9590..41461bd 100644
--- a/Swift/Controllers/SConscript
+++ b/Swift/Controllers/SConscript
@@ -29,7 +29,6 @@ if env["SCONS_STAGE"] == "build" :
"MainController.cpp",
"NickResolver.cpp",
"RosterController.cpp",
- "XMPPRosterController.cpp",
"EventController.cpp",
"EventWindowController.cpp",
"SoundEventController.cpp",
@@ -46,7 +45,6 @@ if env["SCONS_STAGE"] == "build" :
env.Append(UNITTEST_SOURCES = [
File("UnitTest/NickResolverTest.cpp"),
File("UnitTest/RosterControllerTest.cpp"),
- File("UnitTest/XMPPRosterControllerTest.cpp"),
File("UnitTest/PreviousStatusStoreTest.cpp"),
File("UnitTest/PresenceNotifierTest.cpp"),
File("Chat/UnitTest/ChatsManagerTest.cpp"),
diff --git a/Swift/Controllers/UnitTest/XMPPRosterControllerTest.cpp b/Swift/Controllers/UnitTest/XMPPRosterControllerTest.cpp
deleted file mode 100644
index 6787528..0000000
--- a/Swift/Controllers/UnitTest/XMPPRosterControllerTest.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include <cppunit/extensions/HelperMacros.h>
-#include <cppunit/extensions/TestFactoryRegistry.h>
-
-#include "Swift/Controllers/XMPPRosterController.h"
-#include "Swiften/Elements/Payload.h"
-#include "Swiften/Elements/RosterItemPayload.h"
-#include "Swiften/Elements/RosterPayload.h"
-#include "Swiften/Queries/DummyIQChannel.h"
-#include "Swiften/Queries/IQRouter.h"
-#include "Swiften/Roster/XMPPRoster.h"
-
-using namespace Swift;
-
-class XMPPRosterControllerTest : public CppUnit::TestFixture
-{
- CPPUNIT_TEST_SUITE(XMPPRosterControllerTest);
- CPPUNIT_TEST(testAdd);
- CPPUNIT_TEST(testModify);
- CPPUNIT_TEST(testRemove);
- CPPUNIT_TEST_SUITE_END();
-
- public:
- XMPPRosterControllerTest() {}
-
- void setUp() {
- channel_ = new DummyIQChannel();
- router_ = new IQRouter(channel_);
- xmppRoster_ = new XMPPRoster();
- }
-
- void tearDown() {
- delete channel_;
- delete router_;
- }
-
- void testAdd() {
- XMPPRosterController controller(router_, xmppRoster_);
-
- boost::shared_ptr<RosterPayload> payload(new RosterPayload());
- payload->addItem(RosterItemPayload(JID("foo@bar.com"), "Bob", RosterItemPayload::Both));
- channel_->onIQReceived(IQ::createRequest(IQ::Set, JID(), "eou", payload));
-
- CPPUNIT_ASSERT(xmppRoster_->containsJID(JID("foo@bar.com")));
- CPPUNIT_ASSERT_EQUAL(String("Bob"), xmppRoster_->getNameForJID(JID("foo@bar.com")));
- }
-
- void testModify() {
- XMPPRosterController controller(router_, xmppRoster_);
- boost::shared_ptr<RosterPayload> payload1(new RosterPayload());
- payload1->addItem(RosterItemPayload(JID("foo@bar"), "Bob", RosterItemPayload::Both));
- channel_->onIQReceived(IQ::createRequest(IQ::Set, JID(), "id1", payload1));
-
- boost::shared_ptr<RosterPayload> payload2(new RosterPayload());
- payload2->addItem(RosterItemPayload(JID("foo@bar"), "Bob2", RosterItemPayload::Both));
- channel_->onIQReceived(IQ::createRequest(IQ::Set, JID(), "id2", payload2));
-
- CPPUNIT_ASSERT_EQUAL(String("Bob2"), xmppRoster_->getNameForJID(JID("foo@bar")));
- }
-
- void testRemove() {
- XMPPRosterController controller(router_, xmppRoster_);
- boost::shared_ptr<RosterPayload> payload1(new RosterPayload());
- payload1->addItem(RosterItemPayload(JID("foo@bar"), "Bob", RosterItemPayload::Both));
- channel_->onIQReceived(IQ::createRequest(IQ::Set, JID(), "id1", payload1));
-
- boost::shared_ptr<RosterPayload> payload2(new RosterPayload());
- payload2->addItem(RosterItemPayload(JID("foo@bar"), "Bob", RosterItemPayload::Remove));
- channel_->onIQReceived(IQ::createRequest(IQ::Set, JID(), "id2", payload2));
- CPPUNIT_ASSERT(!xmppRoster_->containsJID(JID("foo@bar")));
- }
-
- private:
- DummyIQChannel* channel_;
- IQRouter* router_;
- XMPPRoster* xmppRoster_;
-};
-
-CPPUNIT_TEST_SUITE_REGISTRATION(XMPPRosterControllerTest);
-
-
diff --git a/Swift/Controllers/XMPPRosterController.cpp b/Swift/Controllers/XMPPRosterController.cpp
deleted file mode 100644
index c3144b7..0000000
--- a/Swift/Controllers/XMPPRosterController.cpp
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#include "Swift/Controllers/XMPPRosterController.h"
-
-#include <boost/bind.hpp>
-
-#include "Swiften/Base/foreach.h"
-#include "Swiften/Elements/RosterItemPayload.h"
-#include "Swiften/Queries/IQRouter.h"
-#include "Swiften/Queries/Requests/GetRosterRequest.h"
-#include "Swiften/EventLoop/MainEventLoop.h"
-#include "Swiften/Roster/Roster.h"
-#include "Swiften/Roster/SetPresence.h"
-#include "Swiften/Roster/OfflineRosterFilter.h"
-#include "Swiften/Roster/XMPPRoster.h"
-
-namespace Swift {
-
-/**
- * The controller does not gain ownership of these parameters.
- */
-XMPPRosterController::XMPPRosterController(IQRouter* iqRouter, XMPPRoster* xmppRoster) : iqRouter_(iqRouter), rosterPushResponder_(iqRouter), xmppRoster_(xmppRoster) {
- rosterPushResponder_.onRosterReceived.connect(boost::bind(&XMPPRosterController::handleRosterReceived, this, _1));
-}
-
-void XMPPRosterController::requestRoster() {
- xmppRoster_->clear();
- boost::shared_ptr<GetRosterRequest> rosterRequest(new GetRosterRequest(iqRouter_));
- 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()) {
- //Don't worry about the updated case, the XMPPRoster sorts that out.
- if (item.getSubscription() == RosterItemPayload::Remove) {
- xmppRoster_->removeContact(item.getJID());
- } else {
- xmppRoster_->addContact(item.getJID(), item.getName(), item.getGroups(), item.getSubscription());
- }
- }
-}
-
-}
diff --git a/Swift/Controllers/XMPPRosterController.h b/Swift/Controllers/XMPPRosterController.h
deleted file mode 100644
index 14159c7..0000000
--- a/Swift/Controllers/XMPPRosterController.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2010 Kevin Smith
- * Licensed under the GNU General Public License v3.
- * See Documentation/Licenses/GPLv3.txt for more information.
- */
-
-#pragma once
-
-#include "Swiften/JID/JID.h"
-#include "Swiften/Base/String.h"
-#include "Swiften/Elements/IQ.h"
-#include "Swiften/Elements/RosterPayload.h"
-#include "Swiften/Queries/Responders/RosterPushResponder.h"
-
-#include "Swiften/Base/boost_bsignals.h"
-#include <boost/shared_ptr.hpp>
-
-namespace Swift {
- class IQRouter;
- class XMPPRoster;
-
- class XMPPRosterController {
- public:
- XMPPRosterController(IQRouter *iqRouter, XMPPRoster* xmppRoster);
-
- void requestRoster();
-
- void handleRosterReceived(boost::shared_ptr<RosterPayload> rosterPayload);
-
- private:
- IQRouter* iqRouter_;
- RosterPushResponder rosterPushResponder_;
- XMPPRoster* xmppRoster_;
- };
-}
-