diff options
Diffstat (limited to 'Swiften/Disco/JIDDiscoInfoResponder.cpp')
-rw-r--r-- | Swiften/Disco/JIDDiscoInfoResponder.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Swiften/Disco/JIDDiscoInfoResponder.cpp b/Swiften/Disco/JIDDiscoInfoResponder.cpp index 0a25bef..4aed254 100644 --- a/Swiften/Disco/JIDDiscoInfoResponder.cpp +++ b/Swiften/Disco/JIDDiscoInfoResponder.cpp @@ -1,15 +1,17 @@ /* * Copyright (c) 2010 Remko Tronçon * Licensed under the GNU General Public License v3. * See Documentation/Licenses/GPLv3.txt for more information. */ +#include <boost/smart_ptr/make_shared.hpp> + #include <Swiften/Disco/JIDDiscoInfoResponder.h> #include <Swiften/Queries/IQRouter.h> #include <Swiften/Elements/DiscoInfo.h> namespace Swift { JIDDiscoInfoResponder::JIDDiscoInfoResponder(IQRouter* router) : GetResponder<DiscoInfo>(router) { } @@ -27,24 +29,24 @@ void JIDDiscoInfoResponder::setDiscoInfo(const JID& jid, const std::string& node DiscoInfo newInfo(discoInfo); newInfo.setNode(node); i->second.nodeDiscoInfo[node] = newInfo; } bool JIDDiscoInfoResponder::handleGetRequest(const JID& from, const JID& to, const std::string& id, boost::shared_ptr<DiscoInfo> discoInfo) { JIDDiscoInfoMap::const_iterator i = info.find(to); if (i != info.end()) { if (discoInfo->getNode().empty()) { - sendResponse(from, to, id, boost::shared_ptr<DiscoInfo>(new DiscoInfo(i->second.discoInfo))); + sendResponse(from, to, id, boost::make_shared<DiscoInfo>(i->second.discoInfo)); } else { std::map<std::string,DiscoInfo>::const_iterator j = i->second.nodeDiscoInfo.find(discoInfo->getNode()); if (j != i->second.nodeDiscoInfo.end()) { - sendResponse(from, to, id, boost::shared_ptr<DiscoInfo>(new DiscoInfo(j->second))); + sendResponse(from, to, id, boost::make_shared<DiscoInfo>(j->second)); } else { sendError(from, to, id, ErrorPayload::ItemNotFound, ErrorPayload::Cancel); } } } else { sendError(from, to, id, ErrorPayload::ItemNotFound, ErrorPayload::Cancel); } |