diff options
Diffstat (limited to 'Swiften/Jingle/JingleSessionManager.h')
-rw-r--r-- | Swiften/Jingle/JingleSessionManager.h | 79 |
1 files changed, 40 insertions, 39 deletions
diff --git a/Swiften/Jingle/JingleSessionManager.h b/Swiften/Jingle/JingleSessionManager.h index 3412709..f67a0fe 100644 --- a/Swiften/Jingle/JingleSessionManager.h +++ b/Swiften/Jingle/JingleSessionManager.h @@ -1,51 +1,52 @@ /* - * Copyright (c) 2011 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2011-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once -#include <boost/shared_ptr.hpp> #include <map> +#include <memory> + +#include <boost/signals2.hpp> #include <Swiften/Base/API.h> -#include <Swiften/Base/boost_bsignals.h> #include <Swiften/Jingle/JingleSessionImpl.h> namespace Swift { - class IQRouter; - class JingleResponder; - class IncomingJingleSessionHandler; - - class SWIFTEN_API JingleSessionManager { - friend class JingleResponder; - public: - JingleSessionManager(IQRouter* router); - ~JingleSessionManager(); - - JingleSessionImpl::ref getSession(const JID& jid, const std::string& id) const; - - void addIncomingSessionHandler(IncomingJingleSessionHandler* handler); - void removeIncomingSessionHandler(IncomingJingleSessionHandler* handler); - - void registerOutgoingSession(const JID& initiator, JingleSessionImpl::ref); - protected: - void handleIncomingSession(const JID& initiator, const JID& recipient, JingleSessionImpl::ref, const std::vector<JingleContentPayload::ref>& contents); - - private: - IQRouter* router; - JingleResponder* responder; - std::vector<IncomingJingleSessionHandler*> incomingSessionHandlers; - struct JIDSession { - JIDSession(const JID& initiator, const std::string& session) : initiator(initiator), session(session) {} - bool operator<(const JIDSession& o) const { - return initiator == o.initiator ? session < o.session : initiator < o.initiator; - } - JID initiator; - std::string session; - }; - typedef std::map<JIDSession, JingleSessionImpl::ref> SessionMap; - SessionMap sessions; - }; + class IQRouter; + class JingleResponder; + class IncomingJingleSessionHandler; + + class SWIFTEN_API JingleSessionManager { + friend class JingleResponder; + public: + JingleSessionManager(IQRouter* router); + ~JingleSessionManager(); + + JingleSessionImpl::ref getSession(const JID& jid, const std::string& id) const; + + void addIncomingSessionHandler(IncomingJingleSessionHandler* handler); + void removeIncomingSessionHandler(IncomingJingleSessionHandler* handler); + + void registerOutgoingSession(const JID& initiator, JingleSessionImpl::ref); + protected: + void handleIncomingSession(const JID& initiator, const JID& recipient, JingleSessionImpl::ref, const std::vector<JingleContentPayload::ref>& contents); + + private: + IQRouter* router; + JingleResponder* responder; + std::vector<IncomingJingleSessionHandler*> incomingSessionHandlers; + struct JIDSession { + JIDSession(const JID& initiator, const std::string& session) : initiator(initiator), session(session) {} + bool operator<(const JIDSession& o) const { + return initiator == o.initiator ? session < o.session : initiator < o.initiator; + } + JID initiator; + std::string session; + }; + typedef std::map<JIDSession, JingleSessionImpl::ref> SessionMap; + SessionMap sessions; + }; } |