1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
|
#include "easy_curl.h"
#include <stdexcept>
#include <utility>
namespace sdk_test
{
EasyCurl::~EasyCurl()
{
if (mCurl)
{
curl_easy_cleanup(mCurl);
}
}
EasyCurl::EasyCurl(EasyCurl&& other):
mCurl(std::exchange(other.mCurl, nullptr))
{}
EasyCurl::EasyCurl():
mCurl(curl_easy_init())
{
if (!mCurl)
throw std::runtime_error("curl_easy_init returns null");
}
EasyCurl& EasyCurl::operator=(EasyCurl&& other)
{
if (this != &other)
{
using std::swap;
swap(other.mCurl, mCurl);
}
return *this;
}
CURL* EasyCurl::curl() const
{
return mCurl;
}
} // namespace sdk_test
|