diff options
Diffstat (limited to 'Swiften/FileTransfer/IBBReceiveSession.h')
-rw-r--r-- | Swiften/FileTransfer/IBBReceiveSession.h | 103 |
1 files changed, 52 insertions, 51 deletions
diff --git a/Swiften/FileTransfer/IBBReceiveSession.h b/Swiften/FileTransfer/IBBReceiveSession.h index 23d9648..797394c 100644 --- a/Swiften/FileTransfer/IBBReceiveSession.h +++ b/Swiften/FileTransfer/IBBReceiveSession.h @@ -1,63 +1,64 @@ /* - * Copyright (c) 2010 Remko Tronçon - * Licensed under the GNU General Public License v3. - * See Documentation/Licenses/GPLv3.txt for more information. + * Copyright (c) 2010-2016 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. */ #pragma once -#include <boost/shared_ptr.hpp> -#include <boost/optional/optional_fwd.hpp> +#include <memory> + +#include <boost/optional/optional.hpp> +#include <boost/signals2.hpp> #include <Swiften/Base/API.h> -#include <Swiften/Base/boost_bsignals.h> -#include <Swiften/FileTransfer/WriteBytestream.h> -#include <Swiften/JID/JID.h> #include <Swiften/Elements/IBB.h> #include <Swiften/FileTransfer/FileTransferError.h> +#include <Swiften/FileTransfer/WriteBytestream.h> +#include <Swiften/JID/JID.h> namespace Swift { - class IQRouter; - - class SWIFTEN_API IBBReceiveSession { - public: - IBBReceiveSession( - const std::string& id, - const JID& from, - const JID& to, - unsigned long long size, - boost::shared_ptr<WriteBytestream> bytestream, - IQRouter* router); - ~IBBReceiveSession(); - - void start(); - void stop(); - - const JID& getSender() const { - return from; - } - - const JID& getReceiver() const { - return to; - } - - boost::signal<void (boost::optional<FileTransferError>)> onFinished; - - private: - bool handleSetRequest(const JID& from, const JID& to, const std::string& id, IBB::ref payload); - void finish(boost::optional<FileTransferError>); - - private: - class IBBResponder; - friend class IBBResponder; - - std::string id; - JID from; - JID to; - unsigned long long size; - boost::shared_ptr<WriteBytestream> bytestream; - IQRouter* router; - IBBResponder* responder; - bool active; - }; + class IQRouter; + + class SWIFTEN_API IBBReceiveSession { + public: + IBBReceiveSession( + const std::string& id, + const JID& from, + const JID& to, + unsigned long long size, + std::shared_ptr<WriteBytestream> bytestream, + IQRouter* router); + ~IBBReceiveSession(); + + void start(); + void stop(); + + const JID& getSender() const { + return from; + } + + const JID& getReceiver() const { + return to; + } + + boost::signals2::signal<void (boost::optional<FileTransferError>)> onFinished; + + private: + bool handleSetRequest(const JID& from, const JID& to, const std::string& id, IBB::ref payload); + void finish(boost::optional<FileTransferError>); + + private: + class IBBResponder; + friend class IBBResponder; + + std::string id; + JID from; + JID to; + unsigned long long size; + std::shared_ptr<WriteBytestream> bytestream; + IQRouter* router; + IBBResponder* responder; + bool active; + }; } |