diff --git a/SerialPrograms/Source/Integrations/DiscordWebhook.cpp b/SerialPrograms/Source/Integrations/DiscordWebhook.cpp index 30e58621a6..fe7b187e5b 100644 --- a/SerialPrograms/Source/Integrations/DiscordWebhook.cpp +++ b/SerialPrograms/Source/Integrations/DiscordWebhook.cpp @@ -62,7 +62,7 @@ void DiscordWebhookSender::send( const QUrl& url, std::chrono::milliseconds delay, const JsonObject& obj, std::shared_ptr file, - std::function finish_callback + MoveOnlyFunction finish_callback ){ cleanup_stuck_requests(); std::shared_ptr json(new JsonValue(obj.clone())); @@ -75,7 +75,7 @@ void DiscordWebhookSender::send( json = std::move(json), file = std::move(file), finish_callback = std::move(finish_callback) - ]{ + ]() mutable{ throttle(); std::vector attachments; if (file){ @@ -95,7 +95,7 @@ void DiscordWebhookSender::send( const QUrl& url, std::chrono::milliseconds delay, const JsonObject& obj, std::vector> files, - std::function finish_callback + MoveOnlyFunction finish_callback ){ cleanup_stuck_requests(); std::shared_ptr json(new JsonValue(obj.clone())); @@ -108,7 +108,7 @@ void DiscordWebhookSender::send( json = std::move(json), files = std::move(files), finish_callback = std::move(finish_callback) - ]{ + ]() mutable{ throttle(); std::vector attachments; for (auto& file : files){ diff --git a/SerialPrograms/Source/Integrations/DiscordWebhook.h b/SerialPrograms/Source/Integrations/DiscordWebhook.h index 425d3ac7f3..c380e6a172 100644 --- a/SerialPrograms/Source/Integrations/DiscordWebhook.h +++ b/SerialPrograms/Source/Integrations/DiscordWebhook.h @@ -9,6 +9,7 @@ #include #include +#include "Common/Cpp/MoveOnlyFunction.h" #include "Common/Cpp/Time.h" #include "Common/Cpp/Concurrency/Mutex.h" #include "Common/Cpp/Concurrency/ConditionVariable.h" @@ -52,14 +53,14 @@ class DiscordWebhookSender : public QObject{ const QUrl& url, std::chrono::milliseconds delay, const JsonObject& obj, std::shared_ptr file, - std::function finish_callback = nullptr + MoveOnlyFunction finish_callback = nullptr ); void send( Logger& logger, const QUrl& url, std::chrono::milliseconds delay, const JsonObject& obj, std::vector> files, - std::function finish_callback = nullptr + MoveOnlyFunction finish_callback = nullptr ); static DiscordWebhookSender& instance();