From 5bf1e9bf252233e5bda05b98041e1386537e8ae5 Mon Sep 17 00:00:00 2001 From: tastytea Date: Sat, 21 Mar 2020 11:27:02 +0100 Subject: [PATCH] Define copy constructor for instance. Needed because the underlying CURLWrapper is not copied but freshly created, so access_token, proxy, cainfo and useragent have to be set. --- include/instance.hpp | 2 +- src/instance.cpp | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/include/instance.hpp b/include/instance.hpp index de21c19..214be77 100644 --- a/include/instance.hpp +++ b/include/instance.hpp @@ -64,7 +64,7 @@ public: * * @since 0.5.2 */ - Instance(const Instance &other) = default; + Instance(const Instance &other); //! Move constructor Instance(Instance &&other) noexcept = delete; diff --git a/src/instance.cpp b/src/instance.cpp index f410b27..5056242 100644 --- a/src/instance.cpp +++ b/src/instance.cpp @@ -39,6 +39,21 @@ Instance::Instance(const string_view hostname, const string_view access_token) set_access_token(access_token); } +Instance::Instance(const Instance &other) + : CURLWrapper{other} + , _hostname{other._hostname} + , _baseuri{other._baseuri} + , _access_token{other._access_token} + , _max_chars{other._max_chars} + , _proxy{other._proxy} + , _post_formats{other._post_formats} + , _cainfo{other._cainfo} + , _useragent{other._useragent} +{ + CURLWrapper::setup_connection_properties(_proxy, _access_token, + _cainfo, _useragent); +} + uint64_t Instance::get_max_chars() noexcept { constexpr uint64_t default_max_chars{500};