diff options
Diffstat (limited to 'Swiften/Network/BoostIOServiceThread.h')
-rw-r--r-- | Swiften/Network/BoostIOServiceThread.h | 55 |
1 files changed, 28 insertions, 27 deletions
diff --git a/Swiften/Network/BoostIOServiceThread.h b/Swiften/Network/BoostIOServiceThread.h index 428837b..b9183fd 100644 --- a/Swiften/Network/BoostIOServiceThread.h +++ b/Swiften/Network/BoostIOServiceThread.h @@ -1,40 +1,41 @@ /* - * Copyright (c) 2010-2015 Isode Limited. + * Copyright (c) 2010-2016 Isode Limited. * All rights reserved. * See the COPYING file for more information. */ #pragma once +#include <memory> +#include <thread> + #include <boost/asio/io_service.hpp> -#include <boost/thread/thread.hpp> -#include <boost/shared_ptr.hpp> #include <Swiften/Base/API.h> namespace Swift { - class SWIFTEN_API BoostIOServiceThread { - public: - /** - * Construct the object. - * @param ioService If this optional parameter is provided, the behaviour - * of this class changes completely - it no longer spawns its own thread - * and instead acts as a simple wrapper of the io_service. Use this if - * you are re-using an io_service from elsewhere (particularly if you - * are using the BoostASIOEventLoop). - */ - BoostIOServiceThread(boost::shared_ptr<boost::asio::io_service> ioService = boost::shared_ptr<boost::asio::io_service>()); - ~BoostIOServiceThread(); - - boost::shared_ptr<boost::asio::io_service> getIOService() const { - return ioService_; - } - - private: - void doRun(); - - private: - boost::shared_ptr<boost::asio::io_service> ioService_; - boost::thread* thread_; - }; + class SWIFTEN_API BoostIOServiceThread { + public: + /** + * Construct the object. + * @param ioService If this optional parameter is provided, the behaviour + * of this class changes completely - it no longer spawns its own thread + * and instead acts as a simple wrapper of the io_service. Use this if + * you are re-using an io_service from elsewhere (particularly if you + * are using the BoostASIOEventLoop). + */ + BoostIOServiceThread(std::shared_ptr<boost::asio::io_service> ioService = std::shared_ptr<boost::asio::io_service>()); + ~BoostIOServiceThread(); + + std::shared_ptr<boost::asio::io_service> getIOService() const { + return ioService_; + } + + private: + void doRun(); + + private: + std::shared_ptr<boost::asio::io_service> ioService_; + std::thread* thread_; + }; } |