diff options
Diffstat (limited to 'Swiften/Whiteboard/OutgoingWhiteboardSession.cpp')
-rw-r--r-- | Swiften/Whiteboard/OutgoingWhiteboardSession.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Swiften/Whiteboard/OutgoingWhiteboardSession.cpp b/Swiften/Whiteboard/OutgoingWhiteboardSession.cpp index 585a689..2de4ec4 100644 --- a/Swiften/Whiteboard/OutgoingWhiteboardSession.cpp +++ b/Swiften/Whiteboard/OutgoingWhiteboardSession.cpp @@ -6,6 +6,7 @@ #include <Swiften/Whiteboard/OutgoingWhiteboardSession.h> +#include <boost/smart_ptr/make_shared.hpp> #include <boost/bind.hpp> #include <Swiften/Elements/WhiteboardPayload.h> @@ -19,10 +20,17 @@ namespace Swift { void OutgoingWhiteboardSession::startSession() { boost::shared_ptr<WhiteboardPayload> payload = boost::make_shared<WhiteboardPayload>(WhiteboardPayload::SessionRequest); boost::shared_ptr<GenericRequest<WhiteboardPayload> > request = boost::make_shared<GenericRequest<WhiteboardPayload> >(IQ::Set, toJID_, payload, router_); + request->onResponse.connect(boost::bind(&OutgoingWhiteboardSession::handleRequestResponse, this, _1, _2)); request->send(); } std::string OutgoingWhiteboardSession::getClientID() const { return "a"; } + + void OutgoingWhiteboardSession::handleRequestResponse(boost::shared_ptr<WhiteboardPayload> payload, ErrorPayload::ref error) { + if (error) { + onSessionCancelled(toJID_); + } + } } |