diff options
Diffstat (limited to 'Swiften/Whiteboard/WhiteboardSession.h')
-rw-r--r-- | Swiften/Whiteboard/WhiteboardSession.h | 85 |
1 files changed, 46 insertions, 39 deletions
diff --git a/Swiften/Whiteboard/WhiteboardSession.h b/Swiften/Whiteboard/WhiteboardSession.h index 14fa632..0871f94 100644 --- a/Swiften/Whiteboard/WhiteboardSession.h +++ b/Swiften/Whiteboard/WhiteboardSession.h @@ -4,52 +4,59 @@ * See Documentation/Licenses/BSD-simplified.txt for more information. */ +/* + * Copyright (c) 2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + #pragma once -#include <boost/shared_ptr.hpp> +#include <memory> + +#include <boost/signals2.hpp> #include <Swiften/Base/API.h> -#include <Swiften/JID/JID.h> -#include <Swiften/Base/boost_bsignals.h> #include <Swiften/Base/IDGenerator.h> -#include <Swiften/Queries/GenericRequest.h> #include <Swiften/Elements/Whiteboard/WhiteboardElement.h> #include <Swiften/Elements/Whiteboard/WhiteboardOperation.h> +#include <Swiften/JID/JID.h> +#include <Swiften/Queries/GenericRequest.h> namespace Swift { - class IQRouter; - class ErrorPayload; - class WhiteboardPayload; - - class SWIFTEN_API WhiteboardSession { - public: - typedef boost::shared_ptr<WhiteboardSession> ref; - - public: - WhiteboardSession(const JID& jid, IQRouter* router); - virtual ~WhiteboardSession(); - void handleIncomingAction(boost::shared_ptr<WhiteboardPayload> payload); - void sendElement(const WhiteboardElement::ref element); - virtual void sendOperation(WhiteboardOperation::ref operation) = 0; - void cancel(); - const JID& getTo() const; - - public: - boost::signal< void(const WhiteboardElement::ref element)> onElementReceived; - boost::signal< void(const WhiteboardOperation::ref operation)> onOperationReceived; - boost::signal< void(const JID& contact)> onSessionTerminated; - boost::signal< void(const JID& contact)> onRequestAccepted; - boost::signal< void(const JID& contact)> onRequestRejected; - - private: - virtual void handleIncomingOperation(WhiteboardOperation::ref operation) = 0; - - protected: - void sendPayload(boost::shared_ptr<WhiteboardPayload> payload); - - JID toJID_; - IQRouter* router_; - std::string lastOpID; - IDGenerator idGenerator; - }; + class IQRouter; + class ErrorPayload; + class WhiteboardPayload; + + class SWIFTEN_API WhiteboardSession { + public: + typedef std::shared_ptr<WhiteboardSession> ref; + + public: + WhiteboardSession(const JID& jid, IQRouter* router); + virtual ~WhiteboardSession(); + void handleIncomingAction(std::shared_ptr<WhiteboardPayload> payload); + void sendElement(const WhiteboardElement::ref element); + virtual void sendOperation(WhiteboardOperation::ref operation) = 0; + void cancel(); + const JID& getTo() const; + + public: + boost::signals2::signal< void(const WhiteboardElement::ref element)> onElementReceived; + boost::signals2::signal< void(const WhiteboardOperation::ref operation)> onOperationReceived; + boost::signals2::signal< void(const JID& contact)> onSessionTerminated; + boost::signals2::signal< void(const JID& contact)> onRequestAccepted; + boost::signals2::signal< void(const JID& contact)> onRequestRejected; + + private: + virtual void handleIncomingOperation(WhiteboardOperation::ref operation) = 0; + + protected: + void sendPayload(std::shared_ptr<WhiteboardPayload> payload); + + JID toJID_; + IQRouter* router_; + std::string lastOpID; + IDGenerator idGenerator; + }; } |