mirror of
https://github.com/VCMP-SqMod/SqMod.git
synced 2024-11-08 00:37:15 +01:00
15 lines
528 B
C++
15 lines
528 B
C++
|
#include <cpr/callback.h>
|
||
|
#include <curl/curl.h>
|
||
|
#include <functional>
|
||
|
|
||
|
namespace cpr {
|
||
|
|
||
|
void CancellationCallback::SetProgressCallback(ProgressCallback& u_cb) {
|
||
|
user_cb.emplace(std::reference_wrapper{u_cb});
|
||
|
}
|
||
|
bool CancellationCallback::operator()(cpr_pf_arg_t dltotal, cpr_pf_arg_t dlnow, cpr_pf_arg_t ultotal, cpr_pf_arg_t ulnow) const {
|
||
|
const bool cont_operation{!cancellation_state->load()};
|
||
|
return user_cb ? (cont_operation && (*user_cb)(dltotal, dlnow, ultotal, ulnow)) : cont_operation;
|
||
|
}
|
||
|
} // namespace cpr
|