diff options
Diffstat (limited to 'Swiften/Jingle/JingleResponder.cpp')
-rw-r--r-- | Swiften/Jingle/JingleResponder.cpp | 70 |
1 files changed, 35 insertions, 35 deletions
diff --git a/Swiften/Jingle/JingleResponder.cpp b/Swiften/Jingle/JingleResponder.cpp index 16ed1da..d0c2edd 100644 --- a/Swiften/Jingle/JingleResponder.cpp +++ b/Swiften/Jingle/JingleResponder.cpp @@ -21,41 +21,41 @@ JingleResponder::~JingleResponder() { } bool JingleResponder::handleSetRequest(const JID& from, const JID& to, const std::string& id, boost::shared_ptr<JinglePayload> payload) { - if (payload->getAction() == JinglePayload::SessionInitiate) { - if (sessionManager->getSession(from, payload->getSessionID())) { - // TODO: Add tie-break error - sendError(from, id, ErrorPayload::Conflict, ErrorPayload::Cancel); - } - else { - sendResponse(from, id, boost::shared_ptr<JinglePayload>()); - if (!payload->getInitiator().isBare()) { - JingleSessionImpl::ref session = boost::make_shared<JingleSessionImpl>(payload->getInitiator(), from, payload->getSessionID(), router); - sessionManager->handleIncomingSession(from, to, session, payload->getContents()); - } else { - SWIFT_LOG(debug) << "Unable to create Jingle session due to initiator not being a full JID." << std::endl; - } - } - } - else { - JingleSessionImpl::ref session; - if (payload->getInitiator().isValid()) { - SWIFT_LOG(debug) << "Lookup session by initiator." << std::endl; - session = sessionManager->getSession(payload->getInitiator(), payload->getSessionID()); - } else { - SWIFT_LOG(debug) << "Lookup session by from attribute." << std::endl; - session = sessionManager->getSession(from, payload->getSessionID()); - } - if (session) { - session->handleIncomingAction(payload); - sendResponse(from, id, boost::shared_ptr<JinglePayload>()); - } - else { - SWIFT_LOG(warning) << "Didn't find jingle session!"; - // TODO: Add jingle-specific error - sendError(from, id, ErrorPayload::ItemNotFound, ErrorPayload::Cancel); - } - } - return true; + if (payload->getAction() == JinglePayload::SessionInitiate) { + if (sessionManager->getSession(from, payload->getSessionID())) { + // TODO: Add tie-break error + sendError(from, id, ErrorPayload::Conflict, ErrorPayload::Cancel); + } + else { + sendResponse(from, id, boost::shared_ptr<JinglePayload>()); + if (!payload->getInitiator().isBare()) { + JingleSessionImpl::ref session = boost::make_shared<JingleSessionImpl>(payload->getInitiator(), from, payload->getSessionID(), router); + sessionManager->handleIncomingSession(from, to, session, payload->getContents()); + } else { + SWIFT_LOG(debug) << "Unable to create Jingle session due to initiator not being a full JID." << std::endl; + } + } + } + else { + JingleSessionImpl::ref session; + if (payload->getInitiator().isValid()) { + SWIFT_LOG(debug) << "Lookup session by initiator." << std::endl; + session = sessionManager->getSession(payload->getInitiator(), payload->getSessionID()); + } else { + SWIFT_LOG(debug) << "Lookup session by from attribute." << std::endl; + session = sessionManager->getSession(from, payload->getSessionID()); + } + if (session) { + session->handleIncomingAction(payload); + sendResponse(from, id, boost::shared_ptr<JinglePayload>()); + } + else { + SWIFT_LOG(warning) << "Didn't find jingle session!"; + // TODO: Add jingle-specific error + sendError(from, id, ErrorPayload::ItemNotFound, ErrorPayload::Cancel); + } + } + return true; } } |