};
template <typename Request>
-void cb_worker(std::shared_ptr<Request> request, const typename Request::Callbacks &callbacks)
+void cb_worker(std::unique_ptr<Request> request, const typename Request::Callbacks &callbacks)
{
static constexpr const char *REQUEST_KIND_PREFIX =
std::is_same_v<typename Request::Callbacks, wauthn_mc_callbacks_s> ? "MC: " : "GA: ";
"because options->linked_device not null");
callbacks->qrcode_callback = nullptr;
}
- std::shared_ptr<T> request = std::make_shared<T>();
+ std::unique_ptr<T> request = std::make_unique<T>();
int ret = request->Init();
if (ret != WAUTHN_ERROR_NONE)
return ret;
return request->GetStatus();
LogInfo("SendRequest: " << get_error_message(request->GetStatus()));
- std::thread worker([request = std::move(request), callbacks = *callbacks] {
+ std::thread worker([request = std::move(request), callbacks = *callbacks]() mutable {
cb_worker(std::move(request), callbacks);
});
worker.detach();