From 481dfeb9097dbd350b69e700b00787c195fe851c Mon Sep 17 00:00:00 2001 From: Dan Goodliffe Date: Fri, 6 Apr 2018 11:30:10 +0100 Subject: C++17 Remove all boost things now in the standard library from curl things. --- libadhocutil/curlHandle.cpp | 4 ++-- libadhocutil/curlHandle.h | 6 +++--- libadhocutil/curlMultiHandle.cpp | 12 +++++------- libadhocutil/curlMultiHandle.h | 12 ++++++------ 4 files changed, 16 insertions(+), 18 deletions(-) diff --git a/libadhocutil/curlHandle.cpp b/libadhocutil/curlHandle.cpp index d4d8650..f68eb10 100644 --- a/libadhocutil/curlHandle.cpp +++ b/libadhocutil/curlHandle.cpp @@ -129,10 +129,10 @@ CurlException::ice_print(std::ostream & s) const { if (httpcode) { CurlExceptionMsgHttp::write(s, *httpcode, message, resultcode); - } + } else { CurlExceptionMsg::write(s, message, resultcode); - } + } } } diff --git a/libadhocutil/curlHandle.h b/libadhocutil/curlHandle.h index 7bbcfc4..dc33e40 100644 --- a/libadhocutil/curlHandle.h +++ b/libadhocutil/curlHandle.h @@ -2,7 +2,7 @@ #define ADHOCUTIL_CURLHANDLE_H #include -#include "intrusivePtrBase.h" +#include #include "visibility.h" namespace AdHoc { @@ -10,7 +10,7 @@ namespace Net { /// libcurl handle wrapper. /** Wraps a libcurl CURL * object in a C++ friendly manner. */ -class DLL_PUBLIC CurlHandle : public virtual IntrusivePtrBase { +class DLL_PUBLIC CurlHandle { public: /** * Create a new CurlHandle. @@ -49,7 +49,7 @@ class DLL_PUBLIC CurlHandle : public virtual IntrusivePtrBase { curl_httppost * postS, * postE; /// @endcond }; -typedef boost::intrusive_ptr CurlHandlePtr; +typedef std::shared_ptr CurlHandlePtr; /// @cond template <> diff --git a/libadhocutil/curlMultiHandle.cpp b/libadhocutil/curlMultiHandle.cpp index 9afd9e1..cf75032 100644 --- a/libadhocutil/curlMultiHandle.cpp +++ b/libadhocutil/curlMultiHandle.cpp @@ -9,7 +9,7 @@ namespace Net { class RunningCurl : public CurlStreamSource { public: - RunningCurl(const std::string & url, const boost::function & c) : + RunningCurl(const std::string & url, const std::function & c) : CurlStreamSource(url), consumer(c) { @@ -18,12 +18,12 @@ class RunningCurl : public CurlStreamSource { void callback() override { typedef boost::reference_wrapper rc_ref; - boost::iostreams::stream curlstrm(boost::ref(*this)); + boost::iostreams::stream curlstrm(std::ref(*this)); consumer(curlstrm); } private: - const boost::function consumer; + const std::function consumer; }; CurlMultiHandle::CurlMultiHandle() @@ -35,11 +35,9 @@ CurlMultiHandle::~CurlMultiHandle() } CurlHandlePtr -CurlMultiHandle::addCurl(const std::string & url, const boost::function & c) +CurlMultiHandle::addCurl(const std::string & url, const std::function & c) { - RunningCurl * css = new RunningCurl(url, c); - curls.insert(css); - return css; + return *curls.insert(std::make_shared(url, c)).first; } void diff --git a/libadhocutil/curlMultiHandle.h b/libadhocutil/curlMultiHandle.h index 6dc79b9..2ceee46 100644 --- a/libadhocutil/curlMultiHandle.h +++ b/libadhocutil/curlMultiHandle.h @@ -1,10 +1,10 @@ #ifndef ADHOCUTIL_CURLMULTIHANDLE_H #define ADHOCUTIL_CURLMULTIHANDLE_H -#include +#include #include #include -#include "intrusivePtrBase.h" +#include #include "visibility.h" #include "curlHandle.h" @@ -12,13 +12,13 @@ namespace AdHoc { namespace Net { class RunningCurl; -typedef boost::intrusive_ptr RunningCurlPtr; +typedef std::shared_ptr RunningCurlPtr; /// Perform multiple CURL operations at once. -class DLL_PUBLIC CurlMultiHandle : public IntrusivePtrBase { +class DLL_PUBLIC CurlMultiHandle { public: /** A function that should consume the inbound byte stream. */ - typedef boost::function Consumer; + typedef std::function Consumer; CurlMultiHandle(); ~CurlMultiHandle(); @@ -36,7 +36,7 @@ class DLL_PUBLIC CurlMultiHandle : public IntrusivePtrBase { CURLs curls; }; -typedef boost::intrusive_ptr CurlMultiHandlePtr; +typedef std::shared_ptr CurlMultiHandlePtr; } } -- cgit v1.2.3