diff options
Diffstat (limited to 'Swiften/Jingle/JingleSession.h')
| -rw-r--r-- | Swiften/Jingle/JingleSession.h | 42 | 
1 files changed, 19 insertions, 23 deletions
| diff --git a/Swiften/Jingle/JingleSession.h b/Swiften/Jingle/JingleSession.h index fe8aa01..b8117bb 100644 --- a/Swiften/Jingle/JingleSession.h +++ b/Swiften/Jingle/JingleSession.h @@ -7,47 +7,43 @@  #pragma once  #include <boost/shared_ptr.hpp> +#include <string>  #include <Swiften/Base/boost_bsignals.h> -#include <string> +#include <Swiften/JID/JID.h>  #include <Swiften/Elements/JinglePayload.h> -#include <Swiften/Elements/JingleContent.h> -#include <Swiften/Base/foreach.h>  namespace Swift { +	class JingleContentID; +  	class JingleSession { -			friend class JingleResponder;  		public:  			typedef boost::shared_ptr<JingleSession> ref; -			JingleSession(const std::string& id, const std::vector<JingleContent::ref>& contents); +			JingleSession(const JID& initiator, const std::string& id);  			virtual ~JingleSession(); -			std::string getID() const { -				return id; +			const JID& getInitiator() const { +				return initiator;  			} -			template<typename T> -			JingleContent::ref getContentWithDescription() const { -				foreach (JingleContent::ref content, contents) { -					if (content->getDescription<T>()) { -						return content; -					} -				} -				return JingleContent::ref(); -			} - -			const std::vector<JingleContent::ref>& getContents() const { -				return contents; +			const std::string& getID() const { +				return id;  			} -			void terminate(JinglePayload::Reason::Type reason); +			virtual void terminate(JinglePayload::Reason::Type reason) = 0; +			virtual void accept(JingleTransportPayload::ref = JingleTransportPayload::ref()) = 0; +			virtual void sendTransportInfo(const JingleContentID&, JingleTransportPayload::ref) = 0; +			virtual void acceptTransport(const JingleContentID&, JingleTransportPayload::ref) = 0; +			virtual void rejectTransport(const JingleContentID&, JingleTransportPayload::ref) = 0; -		private: -			void handleIncomingAction(JinglePayload::ref); +		public: +			boost::signal<void ()> onSessionTerminateReceived; +			boost::signal<void (const JingleContentID&, JingleTransportPayload::ref)> onTransportInfoReceived; +			boost::signal<void (const JingleContentID&, JingleTransportPayload::ref)> onTransportReplaceReceived;  		private: +			JID initiator;  			std::string id; -			std::vector<JingleContent::ref> contents;  	};  } | 
 Swift
 Swift