diff options
author | Remko Tronçon <git@el-tramo.be> | 2010-10-21 19:44:13 (GMT) |
---|---|---|
committer | Remko Tronçon <git@el-tramo.be> | 2010-10-21 19:54:06 (GMT) |
commit | bbb77132775e69b6df7df4ddf38a429aff733d2b (patch) | |
tree | a512aaa8292ea4afe175446d672261921c2d27c0 /Swiften/Queries/Responders | |
parent | 4943167a6451d7a483a2aacb5f3f2bebb82adf0d (diff) | |
download | swift-contrib-bbb77132775e69b6df7df4ddf38a429aff733d2b.zip swift-contrib-bbb77132775e69b6df7df4ddf38a429aff733d2b.tar.bz2 |
Moving queries & responders around.
Diffstat (limited to 'Swiften/Queries/Responders')
4 files changed, 0 insertions, 201 deletions
diff --git a/Swiften/Queries/Responders/DiscoInfoResponder.cpp b/Swiften/Queries/Responders/DiscoInfoResponder.cpp deleted file mode 100644 index 63014c7..0000000 --- a/Swiften/Queries/Responders/DiscoInfoResponder.cpp +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. - */ - -#include "Swiften/Queries/Responders/DiscoInfoResponder.h" -#include "Swiften/Queries/IQRouter.h" -#include "Swiften/Elements/DiscoInfo.h" - -namespace Swift { - -DiscoInfoResponder::DiscoInfoResponder(IQRouter* router) : GetResponder<DiscoInfo>(router) { -} - -void DiscoInfoResponder::setDiscoInfo(const DiscoInfo& info) { - info_ = info; -} - -void DiscoInfoResponder::setDiscoInfo(const String& node, const DiscoInfo& info) { - DiscoInfo newInfo(info); - newInfo.setNode(node); - nodeInfo_[node] = newInfo; -} - -bool DiscoInfoResponder::handleGetRequest(const JID& from, const String& id, boost::shared_ptr<DiscoInfo> info) { - if (info->getNode().isEmpty()) { - sendResponse(from, id, boost::shared_ptr<DiscoInfo>(new DiscoInfo(info_))); - } - else { - std::map<String,DiscoInfo>::const_iterator i = nodeInfo_.find(info->getNode()); - if (i != nodeInfo_.end()) { - sendResponse(from, id, boost::shared_ptr<DiscoInfo>(new DiscoInfo((*i).second))); - } - else { - sendError(from, id, ErrorPayload::ItemNotFound, ErrorPayload::Cancel); - } - } - return true; -} - -} diff --git a/Swiften/Queries/Responders/DiscoInfoResponder.h b/Swiften/Queries/Responders/DiscoInfoResponder.h deleted file mode 100644 index 4a7d271..0000000 --- a/Swiften/Queries/Responders/DiscoInfoResponder.h +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. - */ - -#ifndef SWIFTEN_DiscoInfoResponder_H -#define SWIFTEN_DiscoInfoResponder_H - -#include <map> - -#include "Swiften/Queries/GetResponder.h" -#include "Swiften/Elements/DiscoInfo.h" - -namespace Swift { - class IQRouter; - - class DiscoInfoResponder : public GetResponder<DiscoInfo> { - public: - DiscoInfoResponder(IQRouter* router); - - void setDiscoInfo(const DiscoInfo& info); - void setDiscoInfo(const String& node, const DiscoInfo& info); - - private: - virtual bool handleGetRequest(const JID& from, const String& id, boost::shared_ptr<DiscoInfo> payload); - - private: - DiscoInfo info_; - std::map<String, DiscoInfo> nodeInfo_; - }; -} - -#endif diff --git a/Swiften/Queries/Responders/RosterPushResponder.h b/Swiften/Queries/Responders/RosterPushResponder.h deleted file mode 100644 index 48111a7..0000000 --- a/Swiften/Queries/Responders/RosterPushResponder.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. - */ - -#pragma once - -#include "Swiften/Base/boost_bsignals.h" - -#include "Swiften/Queries/SetResponder.h" -#include "Swiften/Elements/RosterPayload.h" - -namespace Swift { - class RosterPushResponder : public SetResponder<RosterPayload> { - public: - RosterPushResponder(IQRouter* router) : SetResponder<RosterPayload>(router) {} - - public: - boost::signal<void (boost::shared_ptr<RosterPayload>)> onRosterReceived; - - private: - virtual bool handleSetRequest(const JID& from, const String& id, boost::shared_ptr<RosterPayload> payload) { - onRosterReceived(payload); - sendResponse(from, id, boost::shared_ptr<RosterPayload>()); - return true; - } - }; -} diff --git a/Swiften/Queries/Responders/UnitTest/DiscoInfoResponderTest.cpp b/Swiften/Queries/Responders/UnitTest/DiscoInfoResponderTest.cpp deleted file mode 100644 index 20fa9ff..0000000 --- a/Swiften/Queries/Responders/UnitTest/DiscoInfoResponderTest.cpp +++ /dev/null @@ -1,96 +0,0 @@ -/* - * Copyright (c) 2010 Remko Tronçon - * 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 <typeinfo> - -#include "Swiften/Queries/Responders/DiscoInfoResponder.h" -#include "Swiften/Queries/IQRouter.h" -#include "Swiften/Queries/DummyIQChannel.h" - -using namespace Swift; - -class DiscoInfoResponderTest : public CppUnit::TestFixture { - CPPUNIT_TEST_SUITE(DiscoInfoResponderTest); - CPPUNIT_TEST(testHandleRequest_GetToplevelInfo); - CPPUNIT_TEST(testHandleRequest_GetNodeInfo); - CPPUNIT_TEST(testHandleRequest_GetInvalidNodeInfo); - CPPUNIT_TEST_SUITE_END(); - - public: - DiscoInfoResponderTest() {} - - void setUp() { - channel_ = new DummyIQChannel(); - router_ = new IQRouter(channel_); - } - - void tearDown() { - delete router_; - delete channel_; - } - - void testHandleRequest_GetToplevelInfo() { - DiscoInfoResponder testling(router_); - testling.start(); - DiscoInfo discoInfo; - discoInfo.addFeature("foo"); - testling.setDiscoInfo(discoInfo); - - boost::shared_ptr<DiscoInfo> query(new DiscoInfo()); - channel_->onIQReceived(IQ::createRequest(IQ::Get, JID("foo@bar.com"), "id-1", query)); - - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(channel_->iqs_.size())); - boost::shared_ptr<DiscoInfo> payload(channel_->iqs_[0]->getPayload<DiscoInfo>()); - CPPUNIT_ASSERT(payload); - CPPUNIT_ASSERT_EQUAL(String(""), payload->getNode()); - CPPUNIT_ASSERT(payload->hasFeature("foo")); - - testling.stop(); - } - - void testHandleRequest_GetNodeInfo() { - DiscoInfoResponder testling(router_); - testling.start(); - DiscoInfo discoInfo; - discoInfo.addFeature("foo"); - testling.setDiscoInfo(discoInfo); - DiscoInfo discoInfoBar; - discoInfoBar.addFeature("bar"); - testling.setDiscoInfo("bar-node", discoInfoBar); - - boost::shared_ptr<DiscoInfo> query(new DiscoInfo()); - query->setNode("bar-node"); - channel_->onIQReceived(IQ::createRequest(IQ::Get, JID("foo@bar.com"), "id-1", query)); - - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(channel_->iqs_.size())); - boost::shared_ptr<DiscoInfo> payload(channel_->iqs_[0]->getPayload<DiscoInfo>()); - CPPUNIT_ASSERT(payload); - CPPUNIT_ASSERT_EQUAL(String("bar-node"), payload->getNode()); - CPPUNIT_ASSERT(payload->hasFeature("bar")); - - testling.stop(); - } - - void testHandleRequest_GetInvalidNodeInfo() { - DiscoInfoResponder testling(router_); - - boost::shared_ptr<DiscoInfo> query(new DiscoInfo()); - query->setNode("bar-node"); - channel_->onIQReceived(IQ::createRequest(IQ::Get, JID("foo@bar.com"), "id-1", query)); - - CPPUNIT_ASSERT_EQUAL(1, static_cast<int>(channel_->iqs_.size())); - boost::shared_ptr<ErrorPayload> payload(channel_->iqs_[0]->getPayload<ErrorPayload>()); - CPPUNIT_ASSERT(payload); - } - - private: - IQRouter* router_; - DummyIQChannel* channel_; -}; - -CPPUNIT_TEST_SUITE_REGISTRATION(DiscoInfoResponderTest); |